Web sitenizin güvenliğini artırmak için yapmanız gerekenler

Tüm linux sunucularımız üst düzey güvenlik seviyesine sahiptir. Fakat sunucu güvenliğinin yanı sıra web sitelerinde kullanılan scriptlerinde güvenliğinin sağlanması gerekmektedir.

Web sitenizde kullandığınız bir scriptin kod açığından faydalanılarak dosyalarınızın olduğu alana erişilebilir ve siz gerekli önlemleri almadıysanız dosyalarınızda değişiklik yapılabilir.

Bu tür problemleri önlemeye yönelik aşağıdaki adımları incelemenizi tavsiye ediyoruz.

1) Dosyalarınızın chmod değerlerini gereksiz yere yükseltmeyin;

Tüm dosyaların chmod değerini 404

Tüm klasörlerin chmod değerini 505 yapmanız yeterlidir.

Sunucu tarafından üzerine veri girilmesi gereken bir dosya için chmod değerini 604, klasörler için chmod değerini 705 yapmanız yeterlidir.

Birçok kullanıcı tarafından verilen 777 değeri güvenlik açısından çok riskli ve gereksizdir. Chmod değeri 777 olan dosya yada klasör sunucu üzerindeki tüm istemciler tarafından yazma, okuma ve değiştirme yetkisine sahiptir.

Config ve .htaccess dosyalarınızın chmod değerinin 404 olması yeterlidir.

Avantajları: Kimse sizin dosyalarınızı değiştiremez

Dezavantajları: Dosyalarınızı düzenlemek istediğinizde chmod değerlerini değiştirmeniz gerekir. Değişiklik tamamlandıktan sonra tekrar eski halinize getirebilirsiniz. Bu işlem en fazla 5 dakikanızı alacaktır. Fakat güvenlik çok daha önemlidir.

Chmod neden çok önemlidir: Hackerlar sitenizin kontrolünü eline geçirmek için bazı dosyalar yüklemek ister (spam göndermek yada dosyalarınızı değiştirmek v.b.). Sitenize bir dosya göndermek için güvenlik açığı yakalamak isterler. Eğer sitenizde bir güvenlik açığı var ise hacker sitenize ulaşabilir fakat dosya ve klasörlere yazma hakkı olmadığı için hiçbir işlem yapamaz. Saldırısı gerçekleşmez.

2) Şifrelerinizin güvenliğini sağlayın;

İyi bir şifre, harf ve rakam kombinasyonlarından oluşmalıdır. Büyük küçük harf kullanımı şifrenizin gücünü artıracaktır.

Özellikle tek bir şifreyi birçok yerde kullanmamaya özen gösterin. FTP, MySQL ve Kontrol Paneli şifrelerinizin aynı olmamasına özen gösterin. Herhangi bir nedenle MySQL şifreniz ele geçirilir ise Kontrol Panelinize giriş yapılmasını engellemiş olursunuz.

3) Sitenizin ana dizini altına (directadmin kontrol paneli olan sunucularda public_html) bir .htaccess dosyası oluşturun. Bu dosya ile bir çok yasaklama işlemini gerçekleştirebiliriz;

** Önemli Not: Bu işlemleri yaparken aşama aşama gidin. Bir kodu .htaccess dosyanıze ekleyin, sitenize girmeye çalışın ve bir problem yok ise diğer aşamalara geçin. Hata veren kod satırını kaldırın ve diğer satırlardan eklemeye devam edin. Bu işlemlerin hepsi tavsiye niteliğindedir. Kodlar nedeni ile sitenizde meydana gelecek stabilite sorunları için bir sorumluluğumuz bulunmamaktadır.

3.1) Register global değerinin “on” olmasını isteyen scriptler kullanmayın. Sitenizin bulunduğu alan için register global değerini kapatın;

.htaccess dosyanıza eklemeniz gereken satır;

php_flag register_globals 0

php_flag register_globals off

3.2) Hackerlar taradından sitenizin içeriğini tarayan otomatik örümcekleri engelleyin. Böylece 350 ye yakın zararlı örümceğin sitenizi taramasını engellemiş olursunuz;

.htaccess dosyanıza aşağıdaki içeriği eklemeniz yeterlidir.

 

###ZARARLI ORUMCEKLER SITENIZI INDEKSLEMESIN

RewriteEngine On

### ZARARLI ORUMCEKLER SADECE ASAGIDAKI DOSYALARA ERISEBILSIN

## RewriteCond %{REQUEST_URI} !^/robots.txt

RewriteCond %{REQUEST_URI} !^/sitemap.xml

## PAYPALIN GERCEK ISTEKLERI HARIC HEPSINI ENGELLE

RewriteCond %{REQUEST_URI} !^/paypal-ipn.php

## ROBOT VE ORUMCEKLERI ENGELLEMEYE BASLAYALIM

RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR] RewriteCond %{HTTP_USER_AGENT} ^[bcdfghjklmnpqrstvwxz\ ]{8,}|^[0-9a-z]{15,}|^[0-9A-Za-z]{19,} [OR] RewriteCond %{HTTP_USER_AGENT} ^<sc|8484\ boston\=”” project|autoemailspider|@nonymouse|adsarobot|advanced\=”” email\=”” extractor|^adwords|ah-ha|aktuelles|amzn_assoc|anarchie|anonymous|art-online|aspseek|assort|athens|atomz|attach|autoemailspider|backweb|bandit|batchftp|bdfetch|big.brother|blackwidow|blogsearchbot-martin|bmclient|boston\=”” project|bravobrian\=”” spiderengine\=”” marcopolo|bullseye|bumblebee|capture|cherrypicker|chinaclaw|cicc|clipping|crescent|crescent\=”” internet|curl|custo|cyberalert|deweb|diagem|digger|digimarc|diibot|directupdate|disco|discofinder|downloader|download\=”” accelerator|download\=”” demon|download\=”” wonder|drip|dsurf15a|dts.agent|easydl|ecatch|echo\=”” extense|ecollector|efp@gmx\.net|eirgrabber|emailcollector|emailsiphon|email\=”” siphon|emailwolf|email\=”” extractor|express\=”” webpictures|extractorpro=”” [nc,or]<br=””>RewriteCond %{HTTP_USER_AGENT} EyeNetIE|fastlwspider|FavOrg|Favorites\ Sweeper|^Fetch|Fetch\ API\ Request|FEZhead|FileHound|flashget|FlashGet\ WebWasher|FlickBot|fluffy|frontpage|GalaxyBot|Generic|Getleft|GetRight|GetSmart|GetWeb!|GetWebPage|gigabaz|Girafabot|Go!Zilla|go-ahead-got-it|GornKer|Grabber|GrabNet|Grafula|Green\ Research|grub-client|grub\ crawler|GT\:\:WWW|hanzoweb|Harvest|hhjhj@yahoo|hloader|HMView|HomePageSearch|HTTPConnect|httpdown|httplib|HttpProxy|HTTP\ agent|http\ generic|HTTP\:\:Lite|HTTrack|ia_archive|IBM_Planetwide|imagefetch|Image\ Stripper|Image\ Sucker|IncyWincy|Indy\ Library|informant|Ingelin|InterGET|InternetLinkAgent|InternetSeer\.com|^Internet\ Explorer|Internet\ Ninja|IPiumBot|Iria|Irvine|Jakarta\ Commons|^Java\ 1.|^Java/1.|JBH*Agent [NC,OR] RewriteCond %{HTTP_USER_AGENT} JetCar|JOC|JOC\ Web\ Spider|JustView|Kapere|KWebGet|Lachesis|larbin|LeechFTP|LexiBot|lftp|libWeb|libwww|likse|Link*Sleuth|LINKS\ ARoMATIZED|LinkWalker|LWP|Mac\ Finder|Mag-Net|Magnet|Mass\ Downloader|MCspider|Microsoft\ URL|Microsoft\ Data|MIDown\ tool|minibot\(NaverRobot\)|Mirror|Missigua|Mister\ PiX|MJ12bot|MMMtoCrawl\/UrlDispatcherLLL|Movable\ Type|Moozilla|^Mozilla$|^MSIE|Murzillo|MSProxy|multithreaddb|nationaldirectory|Navroad|NearSite|NetAnts|NetCarta|NetMechanic|netprospector|NetResearchServer|NetSpider|NetZIP|NetZippy|NetZip\ Downloader|Net\ Vampire|NEWT|nicerspro|NICErsPRO|NPBot|NutchCVS|Nutscrape/|Octopus|Offline\ Explorer|Offline\ Navigator|OmniExplorer|OpaL|Openfind|OpenTextSiteCrawler [NC,OR] RewriteCond %{HTTP_USER_AGENT} OrangeBot|PackRat|PageGrabber|Papa\ Foto|pavuk|pcBrowser|PEAR|PersonaPilot|PingALink|Pockey|Program\ Shareware|Proxy|psbot|PSurf|psycheclone|^puf|Pump|PushSite|PussyCat|PycURL|python|QRVA|QuepasaCreep|RealDownload|Reaper|Recorder|ReGet|replacer|RepoMonkey|almaden|Robozilla|Rover|RPT-HTTPClient|Rsync|SearchExpress|searchhippo|searchterms\.it|Second\ Street\ Research|Seeker|Shai|sitecheck|SiteMapper|SiteSnagger|SlySearch|SmartDownload|snagger|SpaceBison|Spegla|SpiderBot|SqWorm|Star\ Downloader|Stripper|sucker|SuperBot|SuperHTTP|Surfbot|SurfWalker|SurveyBot|Szukacz|tAkeOut|tarspider|Teleport\ Pro|Telesoft|Templeton|TrackBack|TrueRobot|Turing|TurnitinBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} TV33_Mercator|UIowaCrawler|URI\:\:Fetch|URL_Spider_Pro|^user|^User\ Agent:\ |^User-Agent:\ |UtilMind|Vacuum|vagabondo|vayala|visibilitygap|vobsub|VoidEYE|vspider|w3mir|WebaltBot|WebAuto|webbandit|WebCapture|Webclipping|webcollage|webcollector|WebCopier|webcraft@bea|WebDAV|webdevil|webdownloader|Webdup|WebEmailExtractor|WebFetch|WebGo\ IS|WebHook|Webinator|WebLeacher|WEBMASTERS|WebMiner|WebMirror|webmole|WebReaper|WebSauger|WEBsaver|Website\ eXtractor|Website\ Quester|WebSnake|Webster|WebStripper|websucker|webvac|webwalk|webweasel|WebWhacker|WebZIP|Web\ Data\ Extractor|Web\ Downloader|Web\ Image\ Collector|Web\ Sucker|web\.by\.mail|Wget|whizbang|WhosTalking|Widow|Widows|WISEbot|WISEnutbot|WUMPUS|Wweb|WWWOFFLE|Wysigot|x-Tractor|Xaldon\ WebSpider|XGET|Yandex|Zeus|Zeus.*Webster [NC]

Eğer bu listedeki örümceklerin tamamını engellemek istemiyor iseniz daha kısıtlı bir engelleme yapabilirsiniz.

.htaccess dosyanıza aşağıdaki içeriği eklemeniz yeterlidir.

###ZARARLI ORUMCEKLER SITENIZI INDEKSLEMESIN

RewriteEngine On

### ZARARLI ORUMCEKLER SADECE ASAGIDAKI DOSYALARA ERISEBILSIN

RewriteCond %{REQUEST_URI} !^/robots.txt

RewriteCond %{REQUEST_URI} !^/sitemap.xml

## ROBOT VE ORUMCEKLERI ENGELLEMEYE BASLAYALIM

RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR]

RewriteCond %{HTTP_USER_AGENT} ^[bcdfghjklmnpqrstvwxz\ ]{8,}|^[0-9a-z]{15,}|^[0-9A-Za-z]{19,} [OR]

RewriteCond %{HTTP_USER_AGENT} Extractor|almaden|anonymous|autoemailspider|blogsearchbot-martin|CherryPicker|Digger|DirectUpdate|Download\ Accelerator|echo\ extense|Collector|EmailWolf|flashget|frontpage|Go!Zilla|grub\ crawler|HTTPConnect|httplib|HttpProxy|HTTP\ agent|HTTrack|Indy\ Library|Jakarta\ Commons|libWeb|libwww|Microsoft\ Data|Microsoft\ URL|MJ12bot|Movable\ Type|NICErsPRO|NutchCVS|Nutscrape/|OmniExplorer|psycheclone|PussyCat|PycURL|python|QuepasaCreep|SiteMapper|Download|sucker|SurveyBot|Teleport\ Pro|Telesoft|TrackBack|Turing|TurnitinBot|vobsub|webbandit|WebCapture|webcollage|WebCopier|WebDAV|WebEmailExtractor|WebReaper|WEBsaver|WebStripper|WebZIP|widows|Wysigot|Zeus|Zeus.*Webster [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^<sc|^adwords|^curl|^ecatch|^fetch\ api\="" request|^gt\:\:www|^http\:\:lite|^ia_archive|^internet\="" explorer|^ipiumbot|^java="" 1.|^java\="" 1.|^kapere|^lwp|^minibot\(naverrobot\)|^moozilla|^mozilla$|^msie|^npbot|^offline\="" explorer|^offline\="" navigator|^pear|^program\="" shareware|^uri\:\:fetch|^user|^user-agent:\="" |^user\="" agent:\="" |^wget="" [nc]<br="">

3.3) Sitenizde sadece istediğiniz dosya uzantılarının çalışmasını sağlayabilirsiniz. Aşağıdaki sadece bir örnektir. İçeriğini kendi isteğiniz doğrultusunda yapmanız gerekmektedir.

### SADECE INDEX.PHP DOSYASI VARSAYILAN DOSYADIR. DIGER DOSYALARI VARSAYILAN OLARAK ACMA

DirectoryIndex index.php

### DIGER DOSYA UZANTILARINA IZIN VERME

order allow,deny

deny from all

### DIGER DOSYA UZANTILARINA IZIN VERME

deny from all

### DIGER DOSYA UZANTILARINA IZIN VERME

order allow,deny

deny from all

4) Bir çok hacker aşağıdaki yöntemleri sitenizdeki açıkları tespit edebilmek için kullanacaktır.

### XSS FILTRELEMESI, HTTP YONLENDIRME ISTEKLERI, base64_encode DENEMELERI, PHO DEGISKENLERININ DENENMESI, SQL ENJEKSIYON DENEMELERI

RewriteEngine On

RewriteCond %{REQUEST_METHOD} (GET|POST) [NC] RewriteCond %{QUERY_STRING} ^(.*)(%3C|<)/?script(.*)$ [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)?javascript(%3A|:)(.*)$ [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)document\.location\.href(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)http(%3A|:)(/|%2F){2}(.*)$ [NC,OR] ## BU KURALA DIKKAT EDIN. GERCEK YONLENDIRMELERINIZI BOZABILIR. http://www.siteadi.com/index.php?r=http://www.google.com.tr

RewriteCond %{QUERY_STRING} ^(.*)base64_encode(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)GLOBALS(=|[|%[0-9A-Z]{0,2})(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)_REQUEST(=|[|%[0-9A-Z]{0,2})(.*)$ [OR] RewriteCond %{QUERY_STRING} ^(.*)(SELECT|INSERT|DELETE|CHAR\(|UPDATE|REPLACE|LIMIT)(.*)$

5) Bir hacker sitenizin bulunduğu alana girmiş ise sitenize müdahale edebilmek için bir script kullanmak isteyecektir. Aşağıdaki işlemler güvenlik seviyenizi üst düzeye çıkaracaktır. Fakat bu işlem blog, forum, cms, galeri ve wiki tarzı sitelerin çalışmasını engelleyebilmektedir. – 5. satırdaki “loginftp” değerini ftp kullanıcı adınız ile değiştiriniz. –

## PHP ILE DERLENMIS SHELLERIN CALISMASINI ENGELLEYELIM

RewriteEngine On

RewriteCond %{REQUEST_URI} .*((php|my)?shell|remview.*|phpremoteview.*|sshphp.*|pcom|nstview.*|c99|r57|webadmin.*|phpget.*|phpwriter.*|fileditor.*|locus7.*|storm7.*)\.(p?s?x?htm?l?|txt|aspx?|cfml?|cgi|pl|php[3-9]{0,1}|jsp?|sql|xml) [NC,OR]

RewriteCond %{REQUEST_METHOD} (GET|POST) [NC]

RewriteCond %{QUERY_STRING} ^(.*)=/home(.+)?/loginftp/(.*)$ [OR]

RewriteCond %{QUERY_STRING} ^work_dir=.*$ [OR]

RewriteCond %{QUERY_STRING} ^command=.*&output.*$ [OR]

RewriteCond %{QUERY_STRING} ^nts_[a-z0-9_]{0,10}=.*$ [OR]

RewriteCond %{QUERY_STRING} ^(.*)cmd=.*$ [OR] ## BU KURALA DIKKAT EDIN SITENIZIN CALISMASINI ENGELLEYEBILIR##

RewriteCond %{QUERY_STRING} ^c=(t|setup|codes)$ [OR]

RewriteCond %{QUERY_STRING} ^act=((about|cmd|selfremove|chbd|trojan|backc|massbrowsersploit|exploits|grablogins|upload.*)|((chmod|f)&f=.*))$ [OR]

RewriteCond %{QUERY_STRING} ^act=(ls|search|fsbuff|encoder|tools|processes|ftpquickbrute|security|sql|eval|update|feedback|cmd|gofile|mkfile)&d=.*$ [OR]

RewriteCond %{QUERY_STRING} ^&?c=(l?v?i?&d=|v&fnot=|setup&ref=|l&r=|d&d=|tree&d|t&d=|e&d=|i&d=|codes|md5crack).*$ [OR]

RewriteCond %{QUERY_STRING} ^(.*)([-_a-z]{1,15})=(ls|cd|cat|rm|mv|vim|chmod|chdir|mkdir|rmdir|pwd|clear|whoami|uname|tar|zip|unzip|tar|gzip|gunzip|grep|more|ln|umask|telnet|ssh|ftp|head|tail|which|mkmode|touch|logname|edit_file|search_text|find_text|php_eval|download_file|ftp_file_down|ftp_file_up|ftp_brute|mail_file|mysql|mysql_dump|db_query)([^a-zA-Z0-9].+)*$ [OR]

RewriteCond %{QUERY_STRING} ^(.*)(wget|shell_exec|passthru|system|exec|popen|proc_open)(.*)$

6) Şifreli kodlar kullanmanız en güvenli yöntemdir. Önemli dosyalarınızı yada şifrelerinizin bulunduğu dosyaları şifreleyebilirsiniz. Tüm sunucularımızda Zend ve Ioncube encoder kuruludur. Şifreli dosyalarınız sunucularımızda problemsiz olarak çalışacaktır.

Örneğin configuration.php dosyanızda mysql bilgilerinizin bulunduğunu düşünelim;

//** MySQL settings **// / / MySQL settings ** ** / /

$db_server = “mysql5*” ; $ db_server = “mysql5*”;

$db_name = “nombasesql” ; $ db_name = “veritabani_adi”;

$db_username = “loginsql” ; $ db_username = “kullanici_adi”;

$db_password = “motdepasse” ; $ db_password = “sifre”;

?>

Burada dikkat etmeniz gereken arasında kalan içeriği seçip şifrelemenizdir. Buradaki içeriği http://www.btt-scripts.com/demo/encrypt/ adresindeki online script sayesinde şifreleyebilirsiniz.

Şifreleme işlemi bittikten sonra tırnak işaretleri ” arasında kalan alana şifrelenmiş içeriğinizi yazın;

eval( gzuncompress ( gzinflate ( base64_decode ( ‘AXEAjv942tPX19JS8K0MDvRRKE4tKcnMSy9W0NLS1+flUklJii9OLSpLLVJQULBVUMqtLC7MMdU1VLKGyOUl5qYqKEDk8vJzkxKLU4EKYLKlQK1gFUDZnPz0zDwkuYLE4uLy/KIUsKn5JSmpIIFUkCwAmYgq2g==’ ))));

?>

Bu sayede bir hacker dosyanıza ulaşsa bile içeriği şifrelenmiş olduğu için şifrelerinizi çalamayacaktır.

configuration.php dosyanızın chmod değerini 404 yapabileceğinizi bir kez daha hatırlatmak istiyoruz.

 

 

Bu cevap yeterince yardımcı oldu mu?

 Bu dökümanı yazdır

Also Read

Linux ve Windows Arasındaki Farklar

Linux - Windows paketlerimizi seçmekte zorlanıyor iseniz aşağıdaki bilgiler size yardımcı...