cd / ; apropos ; find * ; less /var/log/prx ;
Table des matières

Ip nuisibles à blacklister #

Je propose en téléchargement quelques listes d'IP malveillantes recueillies par mes soins. Il y en a pour tous les gouts : spam, bruteforce, anti-pub...

Téléchargez les listes périodiquement sachant qu'elles sont mises à jour chaque nuit à 0h42. Inutile donc de les télécharger plus d'1 fois/jour pour économiser la bande passante, merci 😉.

Chaque liste est disponible en version gzippée, il suffit d'ajouter ".gz" à la fin d'un lien, ou utiliser ''curl --compressed''.

TL ; DR #

prx-brutes.txt

pf-badhost.txt

hosts.txt

unwind-block.txt

unbound-adblock.rpz

curl -o out.txt --compressed $url
# or
ftp -o- $url.gz | gzcat > out.txt
pfctl -t <table> -T replace -f out.txt

Si besoin:

# cat /etc/pf.conf
[...]
set limit table-entries 409600

Blacklist avec le parefeu (pf) #

Bruteforceurs #

prx-brutes.txt:

/pub/evils/prx-brutes.txt

Ce premier fichier contient la liste des IP qui ont tenté un bruteforce sur mon serveur ces dernières 24 heures (sur ssh, accès mail ou un wordpress imaginaire) ou bien scanné pour un service inexistant.

Pour l'utiliser avec pf modifiez /etc/pf.conf:

table <prx> persist file "/var/prx-brutes.txt"
block log quick from <prx>

pf-badhost #

Vous pouvez récupérer la liste du projet pf-badhost:

https://www.geoghegan.ca/pfbadhost.html

pf-badhost.txt:

/pub/evils/pf-badhost.txt

Blocage par DNS #

Via le fichier /etc/hosts #

Cette méthode est valide pour tous les systèmes de type UNIX.

Cette liste permet d'éviter à votre système de se connecter à certains domaines malveillants. C'est une méthode facile et efficace de se protéger contre des popups, pièges, traceurs... Tout en allégeant la bande passante.

Vous trouverez en suivant les liens ci-dessous un fichier `/etc/hosts` qui contient plus de 100 000 domaines malveillants ou publicitaires, tous blacklistés.

hosts.txt:

/pub/evils/hosts.txt

Afin de mettre à jour automatiquement cette liste sur vos machines, voici un script /usr/local/sbin/uphosts:

if [ -n "$(find /etc/hosts -mtime +7)" ]; then
    # wait for internet access
    while true; do
        nc -zw1 si3t.ch 443 && break || sleep 60
    done
    curl -o /etc/hosts --compressed https://si3t.ch/pub/evils/hosts.txt
    # or
    #ftp -o- https://si3t.ch/pub/evils/hosts.txt.gz |gzcat > /etc/hosts
fi

N'oubliez pas de rendre uphosts éxécutable :

chmod +x /usr/local/sbin/uphosts

Enfin, ajoutez une tâche cron à root avec ''crontab -e'':

@reboot /usr/local/sbin/uphosts

Pour les plus curieu(ses|x), j'obtiens cette liste avec le script zerohosts:

/code/zerohosts/


Ces fichers peuvent être utilisés comme liste pour l'extension Firefox ublock origin.

https://ublockorigin.com/fr

Avec un résolveur local (unwind, unbound) #

Vous pouvez faire de même avec unwind (openbsd), un résolveur local. Voici un fichier contenant les domaines correspondants à utiliser à la place du host ci-dessus

unwind-block.txt

/pub/evils/unwind-block.txt

block list "/var/db/unwind-block.txt"

Enfin, pour les utilisateurs d'unbound, voici le fichier rpz correspondant :

/pub/evils/unbound-adblock.rpz

        module-config: "respip validator iterator"

rpz:
        name: "unbound-adblock"
        zonefile: "/var/unbound/db/unbound-adblock.rpz"
        rpz-log: yes
        rpz-log-name: "unbound-adblock"