Jörg Reinholz: fail2ban: User-Regeln für Apache

Beitrag lesen

Mahlzeit,

Steht doch Quelltext ... Nein. (In der gegenwärtigen Fassung können nur IPs bzw. Netze "whitelisted" werden.).

Ich hab den Quelltext nur überflogen ;)
Mal sehen ob ich Domains für die Whitelist noch nachrüste. Dann kann ich meine Zugänge per DynDNS auch auf die Whitelist setzen ;)

Naja. Dann wäre es das einfachste die aktuelle IP zu ermitteln und die mit auszuschließen.

Die IP erhältst Du so:

define('Whitelisted_Hostname', 'example.dyndns.org');  
# define('Whitelisted_Hostname', false);  
  
  
function dns_get_Ip($s) {  
   $result = dns_get_record($s);  
   foreach ($result as $rec) {  
      if (isset($rec['ip'])) {  
            return  $rec['ip'];  
      }  
   }  
   return false;  
}

Passe dann die Funktion FTX_getListArray an:

function FTX_getListArray($listFile) {  
    $arList=array();  
    $ar=array();  
    $ar_lenght=0;  
    $str='';  
    $i=0;  
    if ($listFile) {  
	$ar=file($listFile);  
	$ar_lenght=count($ar);  
	if ($ar_lenght) {  
	    for ($i=0; $i<$ar_lenght; $i++) {  
		$str=strtolower(trim($ar[$i]));  
		if ( '' != $str && '#' != $str{0} ) {  
		  if ( false !== strpos($str,'#') ) {  
		      $str=substr($str, 0, strpos($str,'#'));  
		  }  
		  $arList[]=trim($str);  
		}  
	    }  
	}  
    }  
    if (Whitelisted_Hostname) {  
       $s=dns_get_Ip(Whitelisted_Hostname);  
       if ($s) {  
          $arList[]=$s;  
       }  
    }  
    return ($arList);  
}  

Jörg Reinholz