'Brute Force'에 해당되는 글 1건

Posted on 2008/09/08 16:11
Filed Under [1] IT 관련/5. Security

예전에 만들어놓은 무작위 패스워드 대입 IP에 한하여 차단하는 프로그램입니다.
GPL에 의거하여 소스 수정 및 변형은 가능하며, 상업적이용은 제안합니다.
반드시 출처는 공개하여 주시면 감사하겠습니다.

(Language : php)
  1. -- deny.php 시작 --
  2. #!/usr/local/bin/php
  3. <?
  4.   exec("cat /etc/sysconfig/network-scripts/ifcfg-eth0",$NetWorks);
  5.   $serverip = network_section($NetWorks[3]);
  6.   exec("cat /var/log/secure | grep Illegal | awk '{print $10}' | sort | uniq -c
  7. | awk '$1>10 {print $2}'",$deny_user);
  8. exec("cat /var/log/messages | grep 'authentication' | sed -e 's/rhost=/ /g' |
  9. awk {'print $13'} | uniq -c | awk '$1>10 {print $2}'",$deny_no_user);
  10.  
  11.   for ($i = 0; $i < count($deny_user); $i++) {
  12.     if(eregi("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$",$deny_user[$i]))
  13. {
  14.       $deny_user_list .= "ALL:".$deny_user[$i]."\n";
  15.     }
  16.   }
  17.  
  18.   for ($j = 0; $j < count($deny_no_user); $j++) {
  19.     if(eregi("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$",$deny_no_user[$j
  20. ])) {
  21.       $deny_user_list .= "ALL:".$deny_no_user[$j]."\n";
  22.     }
  23.   }
  24.  
  25.   $fp = fopen("/etc/hosts.deny","w");
  26.   fwrite($fp, $deny_user_list);
  27.   fclose($fp);
  28.  
  29.   function network_section($network_config) {
  30.     $network_config = explode ("=",$network_config);
  31.     return $network_config[1];
  32.   }
  33. ?>
  34. -- deny.php 끝 --

사용방법은 크론탭에 5분 간격으로 동작을 하게끔 시켜놓으시면 됩니다.
해당 파일의 퍼미션은 700으로 root에서만 동작되게 하시면 될거 같네요. ^^;
2008/09/08 16:11 2008/09/08 16:11

About

by Jaehun

Counter

· Total
: 51567
· Today
: 89
· Yesterday
: 106