2010-09-01

Proteje tu sitio web con Apache por medio de .htaccess

Gran trabajo de Jeff Star y que ha publicado en su web con el nombre de The Perishable Press 4G Blacklist, una lista de directivas para su uso en servidores Apache y que se implemente fácilmente a través de .htaccess o el archivo de configuración httpd.conf. La lista está formada por varias partes e integra una serie de instrucciones que aseguran nuestros sitios web contra una amplia gama de actividades maliciosas.


Contenido del archivo .htaccess

  1. ### PERISHABLE PRESS 4G BLACKLIST ###  
  2.   
  3. # ESSENTIALS  
  4. RewriteEngine on  
  5. ServerSignature Off  
  6. Options All -Indexes  
  7. Options +FollowSymLinks  
  8.   
  9. # FILTER REQUEST METHODS  
  10. <IfModule mod_rewrite.c>  
  11. RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK) [NC]  
  12. RewriteRule ^(.*)$ - [F,L]  
  13. </IfModule>  
  14.   
  15. # BLACKLIST CANDIDATES  
  16. <Limit GET POST PUT>  
  17. Order Allow,Deny  
  18. Allow from all  
  19. Deny from 75.126.85.215 "# blacklist candidate 2008-01-02 = admin-ajax.php attack "  
  20. Deny from 128.111.48.138 "# blacklist candidate 2008-02-10 = cryptic character strings "  
  21. Deny from 87.248.163.54 "# blacklist candidate 2008-03-09 = block administrative attacks "  
  22. Deny from 84.122.143.99 "# blacklist candidate 2008-04-27 = block clam store loser "  
  23. Deny from 210.210.119.145 "# blacklist candidate 2008-05-31 = block _vpi.xml attacks "  
  24. Deny from 66.74.199.125 "# blacklist candidate 2008-10-19 = block mindless spider running "  
  25. Deny from 203.55.231.100 "# 1048 attacks in 60 minutes"  
  26. Deny from 24.19.202.10 "# 1629 attacks in 90 minutes"  
  27. </Limit>  
  28.   
  29. # QUERY STRING EXPLOITS  
  30. <IfModule mod_rewrite.c>  
  31. RewriteCond %{QUERY_STRING} \.\.\/ [NC,OR]  
  32. RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]  
  33. RewriteCond %{QUERY_STRING} tag\= [NC,OR]  
  34. RewriteCond %{QUERY_STRING} ftp\: [NC,OR]  
  35. RewriteCond %{QUERY_STRING} http\: [NC,OR]  
  36. RewriteCond %{QUERY_STRING} https\: [NC,OR]  
  37. RewriteCond %{QUERY_STRING} mosConfig [NC,OR]  
  38. RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>|'|"|;|\?|\*).* [NC,OR]  
  39. RewriteCond %{QUERY_STRING} ^.*(%22|%27|%3C|%3E|%5C|%7B|%7C).* [NC,OR]  
  40. RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]  
  41. RewriteCond %{QUERY_STRING} ^.*(globals|encode|config|localhost|loopback).* [NC,OR]  
  42. RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]  
  43. RewriteRule ^(.*)$ - [F,L]  
  44. </IfModule>  
  45.   
  46. # CHARACTER STRINGS  
  47. <IfModule mod_alias.c>  
  48. # BASIC CHARACTERS  
  49. RedirectMatch 403 \,  
  50. RedirectMatch 403 \:  
  51. RedirectMatch 403 \;  
  52. RedirectMatch 403 \=  
  53. RedirectMatch 403 \@  
  54. RedirectMatch 403 \[  
  55. RedirectMatch 403 \]  
  56. RedirectMatch 403 \^  
  57. RedirectMatch 403 \`  
  58. RedirectMatch 403 \{  
  59. RedirectMatch 403 \}  
  60. RedirectMatch 403 \~  
  61. RedirectMatch 403 \"  
  62. RedirectMatch 403 \$  
  63. RedirectMatch 403 \<  
  64. RedirectMatch 403 \>  
  65. RedirectMatch 403 \|  
  66. RedirectMatch 403 \.\.  
  67. RedirectMatch 403 \/\/  
  68. RedirectMatch 403 \%0  
  69. RedirectMatch 403 \%A  
  70. RedirectMatch 403 \%B  
  71. RedirectMatch 403 \%C  
  72. RedirectMatch 403 \%D  
  73. RedirectMatch 403 \%E  
  74. RedirectMatch 403 \%F  
  75. RedirectMatch 403 \%22  
  76. RedirectMatch 403 \%27  
  77. RedirectMatch 403 \%28  
  78. RedirectMatch 403 \%29  
  79. RedirectMatch 403 \%3C  
  80. RedirectMatch 403 \%3E  
  81. RedirectMatch 403 \%3F  
  82. RedirectMatch 403 \%5B  
  83. RedirectMatch 403 \%5C  
  84. RedirectMatch 403 \%5D  
  85. RedirectMatch 403 \%7B  
  86. RedirectMatch 403 \%7C  
  87. RedirectMatch 403 \%7D  
  88. # COMMON PATTERNS  
  89. Redirectmatch 403 \_vpi  
  90. RedirectMatch 403 \.inc  
  91. Redirectmatch 403 xAou6  
  92. Redirectmatch 403 db\_name  
  93. Redirectmatch 403 select\(  
  94. Redirectmatch 403 convert\(  
  95. Redirectmatch 403 \/query\/  
  96. RedirectMatch 403 ImpEvData  
  97. Redirectmatch 403 \.XMLHTTP  
  98. Redirectmatch 403 proxydeny  
  99. RedirectMatch 403 function\.  
  100. Redirectmatch 403 remoteFile  
  101. Redirectmatch 403 servername  
  102. Redirectmatch 403 \&rptmode\=  
  103. Redirectmatch 403 sys\_cpanel  
  104. RedirectMatch 403 db\_connect  
  105. RedirectMatch 403 doeditconfig  
  106. RedirectMatch 403 check\_proxy  
  107. Redirectmatch 403 system\_user  
  108. Redirectmatch 403 \/\(null\)\/  
  109. Redirectmatch 403 clientrequest  
  110. Redirectmatch 403 option\_value  
  111. RedirectMatch 403 ref\.outcontrol  
  112. # SPECIFIC EXPLOITS  
  113. RedirectMatch 403 errors\.  
  114. RedirectMatch 403 config\.  
  115. RedirectMatch 403 include\.  
  116. RedirectMatch 403 display\.  
  117. RedirectMatch 403 register\.  
  118. Redirectmatch 403 password\.  
  119. RedirectMatch 403 maincore\.  
  120. RedirectMatch 403 authorize\.  
  121. Redirectmatch 403 macromates\.  
  122. RedirectMatch 403 head\_auth\.  
  123. RedirectMatch 403 submit\_links\.  
  124. RedirectMatch 403 change\_action\.  
  125. Redirectmatch 403 com\_facileforms\/  
  126. RedirectMatch 403 admin\_db\_utilities\.  
  127. RedirectMatch 403 admin\.webring\.docs\.  
  128. Redirectmatch 403 Table\/Latest\/index\.  
  129. </IfModule>  
Para funcionar correctamente, el archivo .htaccess requiere de dos módulos específicos de Apache: mod_rewrite y mod_alias.
Más información acerca de las instrucciones de uso y explicaciones del código en Perishable Press

No hay comentarios: