mod_spamhaus whitelist esempio per consentire un intervallo di ips

2

Come apparirebbe una whitelist di esempio, che autorizzerebbe una lista bianca intervallo di tutti gli IP da 123.123.0.0 - 123.123.255.255 ?

Ho il whitelistfile in

/etc/spamhaus.wl
    
posta rubo77 04.02.2013 - 09:22
fonte

2 risposte

2

Ho trascorso una buona mezz'ora a cercare sul Web e non ho trovato alcuna documentazione riguardante la tua domanda, né in inglese né in italiano ( mod_spamhause autore Luca Ercoli è italiano). Tuttavia, non siamo completamente sfortunati. Il codice mod_spamhause è stato pubblicato on-line e possiamo dare un'occhiata a come i filtri sono gestiti in questa unità . La parte del codice relativa alla tua domanda è ( in C ++ ):

if ( (strchr(lista[count],'/') == NULL )){
  if ( strcmp(lista[count],r->connection->remote_ip) == 0  ) return 1;
}
else {
  sscanf(lista[count], "%[^/]/%u", ippi, &bitmask);
  sscanf(ippi, "%lu.%lu.%lu.%lu", &a, &b, &c, &d);
  first = (a << 24) + (b << 16) + (c << 8) + d;
  mask = (0xFFFFFFFF << (32 - bitmask));
  last = first + (~mask);
  first = htonl(first);
  last = htonl(last);
  in.s_addr = first;
  sscanf(inet_ntoa(in), "%d.%d.%d.%d", &a_min, &b_min, &c_min, &d_min);
  in.s_addr = last;
  sscanf(inet_ntoa(in), "%d.%d.%d.%d", &a_max, &b_max, &c_max, &d_max);
  sscanf(r->connection->remote_ip, "%d.%d.%d.%d", &a_daverificare, &b_daverificare, &c_daverificare, &d_daverificare);
  if (
     ((d_daverificare <=  d_max) && (d_daverificare >=  d_min)) &&
     ((c_daverificare <=  c_max) && (c_daverificare >=  c_min)) &&
     ((b_daverificare <=  b_max) && (b_daverificare >=  b_min)) &&
     ((a_daverificare <=  a_max) && (a_daverificare >=  a_min))
  ) return 1;
}

È piuttosto semplice, ma se non leggi C ++, riassumiamo che accetterà sia i singoli IP che CIDR intervalli, formattati come fa Apache.

Per rispondere alla tua domanda, in base a questo codice, puoi aggiungere un CIDR intervallo 123.123.0.0/16 ( che copre gli IP 123.123.0.0 - 123.123.255.255 ) come una singola riga in /etc/spamhaus.wl in questo modo:

123.123.0.0/16

Il codice pubblicato gestirà CIDR notation , tuttavia non abbiamo modo di sapere che questo codice è effettivamente in uso con il tuo mod_spamhaus build. Se non funziona per te allora ti suggerirei di cercare altre build, o compilare la tua versione usando SourceArchive.com codice pubblicato .

Cheers!

    
risposta data 05.02.2013 - 02:37
fonte
0

Dopo aver consultato il modulo, c'è ben poca o nessuna documentazione su come si aspetta la whitelist. Mi piacerebbe capire che prenderà valori basati su CIDR o singoli IP.

    
risposta data 05.02.2013 - 00:03
fonte

Leggi altre domande sui tag