###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} ^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} ^
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;
PHP
//** 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 PHP ile ?> 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;
PHP
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.