Autore Topic: Drop ip automatico con openwrt  (Letto 10227 volte)

truthahn

  • Global Moderator
  • Hero Member
  • *****
  • Post: 1546
    • Mostra profilo
Drop ip automatico con openwrt
« il: Settembre 20, 2011, 06:31:19 pm »
Visto che il Forum in questo periodo soffre, anche per un motivo diverso, posto uno script per openwrt che fa un bel DROP degli ip mascalzoni che tentano di entrare in ssh nel nostro router o, quasi peggio, ciucciarci il credito Voip dal nostro asterisk installato.
Da puro scemo, ma proprio scemo, ho lasciato per provauna settimana un peer collegato dall'esterno sul mio asterisk con una pass ridicola e dopo essersi autenticati mi han ciucciato tutto il credito da Eutelia (25 ?... se ce ne fossero stati 25.000 ero fritto :-D), autenticarsi ad un asterisk gestito male ? cosa, e lo sapevo, semplice semplice.
Vabb?, oltre a sistemare la cosa, cambiare le pass, bloccare gli ip sui peer e le altre cose base da FARE per avere un asterisk, per quello che si pu?, sicuro ho guardato se si poteva installare fail2ban.
Per chi non lo conosce fail2ban legge i file di log e se trova ip che fa il furbo, a seconda di determinate regole, lo blocca.
Fail2ban non ? stato implementato su openwrt, gli serve python e per un povero router sarebbe troppo.
Allora ho fatto un povero script che fa (dovrebbe fare :-D) la stessa cosa.
Lo script (bloccaip.sh), lanciato da cron ogni 20 minuti esegue le seguenti operazioni:

assegna una serie di ip sicuri
va a leggere i log con "logread"
e il file /var/log/asterisk/messages
imposta dopo quanti tentativi un ip dev'essere droppato
imposta l'email dell'ammministratore

poi va a leggere i file di log, comtrolla le righe che contengono info significative, individua l'ip e se non ? gi? stato inserito lo inserische nel file /etc/firewall.user facendo ripartire il firewall. Se viene bloccato un ip manda un'emai all'amministratore per avvisarlo. Alla fine rif? partire il firewall.

Per dire, echo in due giorni i tentativi (nel file del firewall vengono riportati anche i dettagli del perch? son stati droppati:



Codice: [Seleziona]
# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.
iptables -A input_wan -s 41.238.237.161/16 -j DROP    # Asterik Device does not match ACL
iptables -A input_wan -s 188.161.2# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.
iptables -A input_wan -s 41.238.237.161/16 -j DROP    # Device does not match ACL
iptables -A input_wan -s 188.161.231.32/16 -j DROP    # Device does not match ACL
iptables -A input_wan -s 41.239.177.13/16 -j DROP    # Device does not match ACL
iptables -A input_wan -s 41.199.177.151/16 -j DROP    # Device does not match ACL
iptables -A input_wan -s 41.234.126.237/16 -j DROP    # Device does not match ACL
iptables -A input_wan -s 196.221.185.120/16 -j DROP    # Device does not match ACL
iptables -A input_wan -s 119.237.166.210/16 -j DROP    # Asterisk Wrong password
iptables -A input_wan -s 184.172.196.132/16 -j DROP    # ssh bad password attempt for
iptables -A input_wan -s 124.207.65.146/16 -j DROP    # ssh bad password attempt for

ecco lo script (naturalmente lo stesso gioco pu? essere fatto con altri servizi e log)
Codice: [Seleziona]
#!/bin/sh
#
#########################################################################
# File: /usr/sbin/bloccaip.sh                                           #
# Descrizione: droppa Ip su log (ssh,  asterisk)                        #
#                                                                       #
# truthahn - Nabuk Family - vonkosta@gmail.com                          #
#########################################################################
#
ipsicuri="xxx:xxx:xxx:xxx xxx:xxx:xxx:xxx xxx:xxx:xxx:xxx" # distanziati da uno spazio
log=`logread`
file=/var/log/asterisk/messages
filefirewall=/etc/firewall.user
numerolimite=2  #limite per essere droppato
emailadmin="pippo@pippo.com"

#ssh
for a in  "bad password attempt for" "login attempt for nonexistent user" ;do
        attack="$(echo $log | grep "$a" | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort | uniq -c | sort -nr )"
        numtot="$(($(echo $attack | tr ' ' '\n' | sed -n '$ =') -1))"
        for numero in $(seq 1 2 $numtot); do
                volte="$(echo $attack | awk '{print $'$numero'}')"
                if [ "$volte" != "" ];then
                        if [ "$volte" -gt "$numerolimite" ];then
                                numero1="$(($numero +1))"
                                ip="$(echo $attack | awk '{print $'$numero1'}')"
                                giainserito="$(cat $filefirewall | grep "iptables -A input_wan -s $ip/16 -j DROP")"
                                controlsicuri="$(echo "$ipsicuri" | grep "$ip")"
                                if [ "$giainserito" == "" ] && [ "$controlsicuri" == "" ];then
                                        echo "iptables -A input_wan -s $ip/16 -j DROP    # ssh $a" >> $filefirewall
                                        testo="Ho bloccato l'ip $ip/16 per: ssh ($a , n. tentativi: $volte)"
                                        echo -e "Subject: Blocco ip Covo\n
                                        $(date +%d/%m/%Y) - $(date +%H:%M:%S)\n
                                        $testo" | msmtp $emailadmin
                                fi
                        fi
                fi
        done
done

# asterisk
for a in "Device does not match ACL" "Wrong password" "No matching peer found" "name mismatch" "peer is not supposed to register"  ;do
        attack="$(cat $file | grep "$a" | grep -Eo "'"'([0-9]{1,3}\.){3}[0-9]{1,3}'"'" | sort | uniq -c | sort -nr | sed "s/'/\\ /g")"
        numtot="$(($(echo $attack | tr ' ' '\n' | sed -n '$ =') -1))"
        for numero in $(seq 1 2 $numtot); do
                volte="$(echo $attack | awk '{print $'$numero'}')"
                if [ "$volte" != "" ];then
                        if [ "$volte" -gt "$numerolimite" ];then
                                numero1="$(($numero +1))"
                                ip="$(echo $attack | awk '{print $'$numero1'}')"
                                giainserito="$(cat $filefirewall | grep "iptables -A input_wan -s $ip/16 -j DROP")"
                                controlsicuri="$(echo "$ipsicuri" | grep "$ip")"
                                if [ "$giainserito" == "" ] && [ "$controlsicuri" == "" ];then
                                        echo "iptables -A input_wan -s $ip/16 -j DROP    # Asterisk $a" >> $filefirewall
                                        testo="Ho bloccato l'ip $ip/16 per: asterisk ($a , n. tentativi: $volte)"
                                        echo -e "Subject: Blocco ip Covo\n
                                        $(date +%d/%m/%Y) - $(date +%H:%M:%S)\n
                                        $testo" | msmtp $emailadmin
                                fi
                        fi
                fi
        done
done
/etc/init.d/firewall restart > /dev/null
exit 0 > /dev/null

naturalmente affinch? venga mandata un'email all'amministratore dev'essere installato e configurato "msmtp"

Lo sto testando... vediamo se ha qualche problema... che casomai riporter?.

Saluti a tutti gli utenti preoccupati per il nostro amato forum.
« Ultima modifica: Settembre 21, 2011, 09:27:17 pm da truthahn »

truthahn

  • Global Moderator
  • Hero Member
  • *****
  • Post: 1546
    • Mostra profilo
Re: Drop ip automatico con openwrt
« Risposta #1 il: Settembre 23, 2011, 09:12:36 pm »
iptables comincia a popolarsi... ieri lo script era spento e l'ultimo indirizzo ha tentato di bucarmi asterisk e quando ? stato bloccato riavviando lo script aveva tentato ben... ecco la comunicazione via email:
#######
23/09/2011 - 20:53:37
Ho bloccato l'ip 184.154.39.18/16 per: asterisk (No matching peer found , n. tentativi: 611135)
##############
ed era ancora in piena attivit? con il dizionario... meditate gente meditate  :wink:


ecco ora firewall.user (magari lo aggiorno anche qui sul forum)  
 
41.238.237.161 # ipban Asterisk  Device does not match ACL
188.161.231.32 # ipban Asterisk Device does not match ACL
41.239.177.13  # ipban Asterisk Device does not match ACL
41.199.177.151 # ipban Asterisk Device does not match ACL
41.234.126.237 # ipban Asterisk Device does not match ACL
196.221.185.120 # ipban Asterisk Device does not match ACL
119.237.166.210 # ipban Asterisk Wrong password
184.172.196.132 # ipban ssh bad password attempt for
124.207.65.146  # ipban ssh bad password attempt for
210.7.26.58 # ipban  ssh bad password attempt for
58.241.109.134 # ipban  ssh bad password attempt for
144.16.111.103 # ipban  ssh bad password attempt for
211.26.18.78 # ipban  ssh bad password attempt for
184.154.39.18 # ipban Asterisk No matching peer found
218.84.197.190 # ipban  ssh bad password attempt for
41.233.98.172  # ipban Asterisk Device does not match ACL
46.105.119.7   # ipban Asterisk Device does not match ACL
211.136.116.234 # ipban  ssh bad password attempt for
109.237.208.135 # ipban  ssh bad password attempt for
117.239.72.25 # ipban  ssh bad password attempt for
96.127.179.50 # ipban Asterisk No matching peer found
66.90.94.12 # ipban  ssh login attempt for nonexistent user
88.191.78.88 # ipban  ssh bad password attempt for
81.18.148.190 # ipban  ssh bad password attempt for
200.107.236.100 # ipban  ssh bad password attempt for
218.25.131.128 # ipban  ssh bad password attempt for
147.213.138.201 # ipban  ssh bad password attempt for
62.76.177.230 # ipban  ssh bad password attempt for
188.138.118.176  # ipban Asterisk No matching peer found
61.158.99.224 # ipban  ssh bad password attempt for
121.101.215.98 # ipban  ssh bad password attempt for
222.73.52.41 # ipban  ssh bad password attempt for
78.47.172.157 # ipban  ssh bad password attempt for
197.195.209.33  # ipban Asterisk Device does not match ACL
174.142.39.135 # ipban  ssh bad password attempt for
116.125.124.20 # ipban  ssh bad password attempt for
67.133.102.54 # ipban  ssh bad password attempt for
41.153.131.196  # ipban Asterisk Device does not match ACL
71.40.108.13 # ipban  ssh bad password attempt for
66.135.40.73 # ipban  ssh bad password attempt for
203.96.53.19 # ipban  ssh bad password attempt for
81.72.17.38  # ipban Asterisk Device does not match ACL
210.217.91.102 # ipban  ssh bad password attempt for
192.168.70.244 # ipban  ssh bad password attempt for
180.153.127.111 # ipban  ssh bad password attempt for
202.40.176.40 # ipban  ssh bad password attempt for
50.57.148.144  # ipban Asterisk No matching peer found
61.236.182.11 # ipban  ssh bad password attempt for
58.60.188.27 # ipban  ssh bad password attempt for
124.160.91.17 # ipban  ssh bad password attempt for
204.124.180.157 # ipban  ssh bad password attempt for
184.105.177.21 # ipban  ssh bad password attempt for
60.191.123.108 # ipban  ssh bad password attempt for
114.205.1.193 # ipban  ssh bad password attempt for
72.51.43.242 # ipban  ssh bad password attempt for
200.80.8.212 # ipban  ssh bad password attempt for
163.23.151.7 # ipban  ssh bad password attempt for
64.120.26.58 # ipban  ssh bad password attempt for
222.215.119.140 # ipban  ssh bad password attempt for
61.175.198.188 # ipban  ssh bad password attempt for
184.82.22.114  # ipban Asterisk No matching peer found
202.10.78.41 # ipban  ssh bad password attempt for
121.79.2.116 # ipban  ssh bad password attempt for
117.211.123.226 # ipban  ssh login attempt for nonexistent user
79.101.37.218 # ipban  ssh login attempt for nonexistent user
80.92.48.156 # ipban  ssh bad password attempt for
118.123.229.17 # ipban  ssh bad password attempt for
60.8.63.104 # ipban  ssh bad password attempt for
200.113.185.227 # ipban  ssh bad password attempt for
62.114.177.47  # ipban Asterisk No matching peer found
41.238.238.5  # ipban Asterisk Device does not match ACL
91.223.89.134 # ipban  ssh bad password attempt for

____________________________________________________

Ho integrato anche graficamente su xwrt lo script, in modo da scegliere tutti i parametri e di sbloccare un ip bloccato per sbaglio.
« Ultima modifica: Ottobre 29, 2011, 10:00:55 pm da truthahn »

Ramponis

  • Hero Member
  • *****
  • Post: 1062
    • Mostra profilo
    • DWL-2100AP Ramponis Homepage
Re: Drop ip automatico con openwrt
« Risposta #2 il: Ottobre 26, 2011, 03:34:59 pm »
Si confermo che tale attivit? fraudolenta sta sempre pi? prendendo piede.
Anche noi in azienda abbiamo un voip server da anni.
Purtroppo lo abbiamo in attivit? da quando ancora il voip non era molto diffuso e di conseguenza la sicurezza era su di un livello medio basso.
Infatti abbiamo subito un'intrusione con abuso nell'utilizzo di numerazioni estere e conseguente bolletta astronomica!!!

Per fortuna i log hanno permesso l'individuazione del "simpaticone" con relativa denuncia alle forze dell'ordine.
Dopo di che i sistemi di sicurezza sono stati innalzati e aggiunti sistemi di notifica realtime.

Consiglio tutti coloro che usano sistemi voip di dotarsi di sistemi di sicurezza e notifica.

Lo script del caro truthahn ? sicuramente uno strumento molto utile!  :wink:

PS truthahn potresti gentilmente publicare anche la parte grafica xwrt
« Ultima modifica: Ottobre 26, 2011, 05:29:45 pm da Ramponis »
DWL-2100AP Ramponis Homepage
http://xoomer.alice.it/ramponis/

name29

  • Administrator
  • Hero Member
  • ******
  • Post: 1641
  • NetBuk
    • Mostra profilo
Re: Drop ip automatico con openwrt
« Risposta #3 il: Ottobre 26, 2011, 05:23:27 pm »
Capitato purtroppo su diversi server voip...

Mi ricorso anche che "qualcuno" (non ricordo chi...  :mrgreen: ) leggendo i log dei tentativi ssh, appariva molte volte uno stesso ip.
Provando a collegarsi in ssh come root e password banale risultava essere un laptop americano con Debian installato da 20 minuti. Era gi? bucato con uno scriptino che tentava di bucare un range di ip con un dizionario.Era anche presente un log con tutte le macchine bucate pi? un email a cui inviare un report.

Truthahn mi ? venuta un idea in mente su come migliorare il sistema...
« Ultima modifica: Ottobre 26, 2011, 08:32:04 pm da name29 »
Name29 -  Netbuk .... Net anywhere!

LA PIRATERIA INFORMATICA DANNEGGA IL SOFTWARE OPENSOURCE.

truthahn

  • Global Moderator
  • Hero Member
  • *****
  • Post: 1546
    • Mostra profilo
Re: Drop ip automatico con openwrt
« Risposta #4 il: Ottobre 29, 2011, 09:55:22 pm »
Per Ramponis: la parte grafica l'ho implementata nella pagina configurazioni della centralina... comunque la parte che la riguarda eccola:

Codice: [Seleziona]
##################
display_form <<EOF
start_form|@TR<<IP Ban>>
end_form
EOF
if [ -f /etc/xwrtdc/ipban ];then
attivaban="$(cat /etc/xwrtdc/ipban | sed -n '/attiva/p'| awk '{ print $2 }')"
        emailban="$(cat /etc/xwrtdc/ipban | sed -n '/email/p'| awk '{ print $2 }')"
        asteriskban="$(cat /etc/xwrtdc/ipban | sed -n '/asterisk/p'| awk '{ print $2 }')"
        sshban="$(cat /etc/xwrtdc/ipban | sed -n '/ssh/p'| awk '{ print $2 }')"
        httpban="$(cat /etc/xwrtdc/ipban | sed -n '/http/p'| awk '{ print $2 }')"
        ftpban="$(cat /etc/xwrtdc/ipban | sed -n '/ftp/p'| awk '{ print $2 }')"
        limite="$(cat /etc/xwrtdc/ipban | sed -n '/limite/p'| awk '{ print $2 }')"
notificaban="$(cat /etc/xwrtdc/ipban | sed -n '/notifica/p'| awk '{ print $2 }')"
ipsicuri="$(cat /etc/xwrtdc/ipsicuri)"
netmask="$(cat /etc/xwrtdc/ipban | sed -n '/netmask/p'| awk '{ print $2 }')"
blacklist=/etc/xwrtdc/blacklist
righeblacklist="$(cat $blacklist | wc -l)"
fi
echo "<form method=\"post\" action=\"config.sh\">
        <table width=\"40%\">"
if [ "$attivaban" == "si" ];then
                echo "<tr><td><strong>Attiva ipban: </strong></td><td><input type=\"checkbox\"  name=\"attivaban\" value=\"si\" checked=\"checked\"></td></tr>"
        else
                echo "<tr><td><strong>Attiva ipban: </strong></td><td><input type=\"checkbox\"  name=\"attivaban\" value=\"si\"></td></tr>"
        fi
echo "<tr><td><strong>Email notifica: </strong></td><td><input name=\"emailban\" value=\"$emailban\" class=\"testo\"></td></tr>"
        if [ "$notificaban" == "si" ];then
                echo "<tr><td><strong>Notifica: </strong></td><td><input type=\"checkbox\"  name=\"notificaban\" value=\"si\" checked=\"checked\"></td></tr>"
        else
                echo "<tr><td><strong>Notifica: </strong></td><td><input type=\"checkbox\"  name=\"notificaban\" value=\"si\"></td></tr>"
        fi
echo "</table> <p>&nbsp;<p><strong>Controlla i seguenti servizi:<p>&nbsp;<p>"
        echo "<table width=\"20%\">"
        if [ "$sshban" == "si" ];then
                echo "<tr><td>ssh: </td><td><input type=\"checkbox\"  name=\"sshban\" value=\"si\" checked=\"checked\"></td></tr>"
        else
                echo "<tr><td>ssh: </td><td><input type=\"checkbox\"  name=\"sshban\" value=\"si\"></td></tr>"
        fi
#        if [ "$httpban" == "si" ];then
#                echo "<tr><td>http: </td><td><input type=\"checkbox\"  name=\"httpban\" value=\"si\" checked=\"checked\"></td></tr>"
#        else
#                echo "<tr><td>http: </td><td><input type=\"checkbox\"  name=\"httpban\" value=\"si\"></td></tr>"
#        fi
if [ "$ftpban" == "si" ];then
                echo "<tr><td>ftp: </td><td><input type=\"checkbox\"  name=\"ftpban\" value=\"si\" checked=\"checked\"></td></tr>"
        else
               echo "<tr><td>ftp: </td><td><input type=\"checkbox\"  name=\"ftpban\" value=\"si\"></td></tr>"
        fi
        if [ "$asteriskban" == "si" ];then
                echo "<tr><td>Asterisk: </td><td><input type=\"checkbox\"  name=\"asteriskban\" value=\"si\" checked=\"checked\"></td></tr>"
        else
                echo "<tr><td>Asterisk: </td><td><input type=\"checkbox\"  name=\"asteriskban\" value=\"si\"></td></tr>"
        fi
echo "<tr><td>Netmask: </td><td><select name=\"netmaskban\">"
echo "<option value=\"$netmask\" selected=\"selected\">$netmask</option>"
for m in "8" "16" "24" "32"; do
echo "<option value=\"$m\" selected=\"selected\">$m</option>"
done
echo "<option value=\"$netmask\" selected=\"selected\">$netmask</option></select>"
echo "<tr><td>N. tentativi: </td><td><select name=\"limiteban\">"
        echo "<option value=\"$limite\" selected=\"selected\">$limite</option>"
        for m in $(seq 1 10); do
                echo "<option value=\"$m\" selected=\"selected\">$m</option>"
        done
        echo "<option value=\"$limite\" selected=\"selected\">$limite</option></select>
</table>"
echo "<table width=\"40%\">"
echo "<tr><td><strong><align =\"top\">Ip sicuri: </td><td></strong>
        <textarea name=\"ipsicuri\" rows=\"8\" cols=\"50\">$ipsicuri </textarea></td></tr></table>"
nblack="$(cat $blacklist | sed -n '$ =')"
sshblack="$(cat $blacklist | grep "ssh" | sed -n '$ =')"
asteriskblack="$(cat $blacklist | grep "Asterisk" | sed -n '$ =')"
ftpblack="$(cat $blacklist | grep "ftp" | sed -n '$ =')"
echo "Nella Blacklist attualmente ci sono $nblack ip:<br></strong>"
if [ "$sshblack" != "" ];then
echo " - $sshblack bloccati per tentata intrusione da ssh <br>"
fi
if [ "$asteriskblack" != "" ];then
echo " - $asteriskblack bloccati per tentata intrusione da Asterisk <br>"
fi
if [ "$ftpblack" != "" ];then
echo " - $ftpblack bloccati per tentata intrusione da ftp <br>"
fi
echo "<table width=\"30%\">"
echo "<tr><td><strong>Sblocca Ip: </strong></td><td><select name=\"sbloccaip\">"
echo "<option value=\"\" selected=\"selected\"></option>"
for numero in $(seq 1 $righeblacklist); do
riga="$(cat $blacklist | sort -k 1 -n | sed -n "${numero}p")"
valoreip="$(echo "$riga" | awk '{ print $1 }')"
# paese="$(elinks https://ipdb.at/ip/$valoreip)"
# paese="$(echo "$paese" | grep " 6." | awk '{split ($0, a, "/");print a[5]}')"
echo "<option value=\"$valoreip\" selected=\"selected\">$valoreip</option>"
done
echo "<option value=\"\" selected=\"selected\"></option>"
echo "</select>"
        echo "</table><p>&nbsp;<p><input type=\"submit\" name=\"salvaipban\" class="bottone3" value=\"Salva Ipban\">
        <p></center></form><p>&nbsp;<p>"

il submit rimanda all'inizio pagina....

Codice: [Seleziona]
if [ "$FORM_salvaipban" != "" ];then
blacklist=/etc/xwrtdc/blacklist
righeblacklist="$(cat $blacklist | wc -l)"
echo "attiva $FORM_attivaban" > /etc/xwrtdc/ipban
echo "email $FORM_emailban" >> /etc/xwrtdc/ipban
echo "limite $FORM_limiteban" >> /etc/xwrtdc/ipban
echo "ssh $FORM_sshban" >> /etc/xwrtdc/ipban
echo "http $FORM_httpban" >> /etc/xwrtdc/ipban
echo "ftp $FORM_ftpban" >> /etc/xwrtdc/ipban
echo "asterisk $FORM_asteriskban" >> /etc/xwrtdc/ipban
echo "notifica $FORM_notificaban" >> /etc/xwrtdc/ipban
echo "netmask $FORM_netmaskban" >> /etc/xwrtdc/ipban
echo "$FORM_ipsicuri" > /etc/xwrtdc/ipsicuri
if [ "$FORM_sbloccaip" != "" ];then
for numero in $(seq 1 $righeblacklist); do
riga="$(cat $blacklist | sed -n "${numero}p")"
controlriga="$(echo "$riga" | grep "$FORM_sbloccaip" )"
if [ "$controlriga" != "" ];then
echo "$(cat $blacklist | sed $numero'd')" > $blacklist
fi
done
fi
/etc/init.d/firewall restart > /dev/null
fi

Tutte le configurazioni sono poste poi, come si vede nello script, in /etc/xwrtdc ma, naturalmente, si pu? cambiarlo.

Postare tutto il file di configurazione della centralina sarebbe troppo, son pi? di 1000 righe.

Visto che ci sono aggiorno gli ip bastardi sopra.

Ho poi implementato  la possibilit? di aprire un ip dall'esterno tramite sms se per caso fosse automaticamente stato bloccato... mi ? successo con un palmare che utilizzo anche come voip registrato sull'asterisk che venisse bloccato, cos? lo abilito da qualsiasi posto... se ci sta un collegamento wireless naturalmente.

Per Name... avanti con l'dea... che la implementiamo :mrgreen:



name29

  • Administrator
  • Hero Member
  • ******
  • Post: 1641
  • NetBuk
    • Mostra profilo
Re: Drop ip automatico con openwrt
« Risposta #5 il: Ottobre 30, 2011, 12:23:28 pm »
Pensavo a una cosa simile:

Rifacciamo il progetto in c, c++ magari aggiungendo un "timeout" agli ip droppati.

Realizziamo anche un database pubblico dove vengono insertiti gli ip droppati e che il nostro programma faccia un download periodico della lista.


Bisogna solo trovare il modo di impedire che questa lista venga inquinata ( altrimenti qualcuno potrebbe mettere un bel 0.0.0.0/0 nel database e non sarebbe bello :-D )
Name29 -  Netbuk .... Net anywhere!

LA PIRATERIA INFORMATICA DANNEGGA IL SOFTWARE OPENSOURCE.