Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 09/21/19 dans toutes les zones

  1. Salut! J'en avais assez que Synology ne propose pas un soft dans DSM ou SRM pour automatiser le blocages d'adresse IP depuis une liste. Car en effet si on veut blacklister une ip pour éviter de se faire "pirater" ou se faire sniffer son ip il vaut mieux en avoir une. Mais malheureusement Synology ne propose que de uploader son fichier txt et il faut le faire selon son envie de mettre a jour ses ip. Donc avec ce script on va juste mettre à jour les ip depuis une liste sur internet. Pour l'instant mon choix se porte sur blocklist.de. Si vous en avez d'autres merci de les poster. Pour DSM : Allez dans "Panneau de configuration" Puis "Planificateur de tâches" Cliquez sur "Créer" Sélectionnez "Tâche planifiée" et l'option "Script défini par l'utilisateur" Vous aurez la fenêtre "Créer une tâche", dans "Général" mettez ceci. Tâche - BLACKLIST Utilisateur - Sélectionnez "root" Cochez "Activer" Dans "Paramètres de tâche" dans la case sous "Script défini par l'utilisateur" Mettez ceci : #!/bin/bash # Liste de www.blocklist.de # Liste Choix: {all} {ssh} {mail} {apache} {imap} {ftp} {sip} {bots} {strongips} {ircbot} {bruteforcelogin} LISTE_BLOCKLIST="all" # Effacer IP apres x jours ou bien utiliser 0 pour blocage permanent DELETE_IP_AFTER="30" # Montre le temps a la fin du script; 0=non 1=oui SHOW_TIME="1" UNIXTIME=`date +%s` UNIXTIME_DELETE_IP=`date -d "+$DELETE_IP_AFTER days" +%s` wget -q "https://lists.blocklist.de/lists/$LISTE_BLOCKLIST.txt" -O /tmp/blocklist.txt cat "/tmp/blocklist.txt" | while read BLOCKED_IP do # Verifier si IP valide VALID_IPv4=`echo "$BLOCKED_IP" | grep -Eo "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" | wc -l` if [[ $VALID_IPv4 -eq 1 ]]; then # Convertir IPv4 en IPv6 IPv4=`echo $BLOCKED_IP | sed 's/\./ /g'` IPv6=`printf "0000:0000:0000:0000:0000:FFFF:%02X%02X:%02X%02X" $IPv4` CHECK_IF_EXISTS=`sqlite3 /etc/synoautoblock.db "SELECT DENY FROM AutoBlockIP WHERE IP = '$BLOCKED_IP'" | wc -l` if [[ $CHECK_IF_EXISTS -lt 1 ]]; then INSERT=`sqlite3 /etc/synoautoblock.db "INSERT INTO AutoBlockIP VALUES ('$BLOCKED_IP','$UNIXTIME','$UNIXTIME_DELETE_IP',' 1','$IPv6','0','')"` echo "IP ajouter! --> $BLOCKED_IP" else echo "IP existante! --> $BLOCKED_IP" fi fi done if [[ $SHOW_TIME -eq 1 ]]; then END=`date +%s` RUNTIME=$((END-UNIXTIME)) echo "Fini apres $RUNTIME Secondes" fi exit 0 Au debut je vous conseil de lancer le script sans programmer le temps. Car cela met un certains temps au premier lancement (comptez plus d'une heure). La première exécution fini, vous pouvez programmer la fréquence du lancement du script. Pour cela allez dans Programmer laisser "Exécuter les jours suivants" sur "Quotidienne" par exemple. En général la mise à jour le la DataBase dure beaucoup moins heureusement. Pour SMR : Il va falloir entrer en SSH comme root, ajouter le script dans un endroit de votre choix et ajouter une ligne a crontab. Le script est légèrement different car la version de date est différente que celle sous DSM. Moi j'ai choisi de mettre tous mes scripts dans la carte sd de mon RT2600ac. Si vous voulez faire comme moi, entrer en SSH avec putty en tant que root et faite ceci : mkdir /volumeUSB1/usbshare1-1/scripts chmod 755 /volumeUSB1/usbshare1-1/scripts mkdir /volumeUSB1/usbshare1-1/scripts/tmp chmod 755 /volumeUSB1/usbshare1-1/scripts vous aurez un dossier scripts et un sous dossier tmp. ensuite créons le fichier ip_block.sh vi /volumeUSB1/usbshare1-1/scripts/ip_block.sh tapez sur "i" pour insérer le script suivant #!/bin/sh # Liste de www.blocklist.de # Liste Choix: {all} {ssh} {mail} {apache} {imap} {ftp} {sip} {bots} {strongips} {ircbot} {bruteforcelogin} LISTE_BLOCKLIST="all" # Montre le temps a la fin du script; 0=non 1=oui SHOW_TIME="1" UNIXTIME=`date +%s` UNIXTIME_DELETE_IP="$((`busybox date +%s`+2592000))" wget -q "https://lists.blocklist.de/lists/$LISTE_BLOCKLIST.txt" -O /volumeUSB1/usbshare1-1/scripts/tmp/blocklist.txt cat "/volumeUSB1/usbshare1-1/scripts/tmp/blocklist.txt" | while read BLOCKED_IP do # Verifier si IP valide VALID_IPv4=`echo "$BLOCKED_IP" | grep -Eo "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" | wc -l` if [[ $VALID_IPv4 -eq 1 ]]; then # Convertir IPv4 en IPv6 IPv4=`echo $BLOCKED_IP | sed 's/\./ /g'` IPv6=`printf "0000:0000:0000:0000:0000:FFFF:%02X%02X:%02X%02X" $IPv4` CHECK_IF_EXISTS=`sqlite3 /etc/synoautoblock.db "SELECT DENY FROM AutoBlockIP WHERE IP = '$BLOCKED_IP'" | wc -l` if [[ $CHECK_IF_EXISTS -lt 1 ]]; then INSERT=`sqlite3 /etc/synoautoblock.db "INSERT INTO AutoBlockIP VALUES ('$BLOCKED_IP','$UNIXTIME','$UNIXTIME_DELETE_IP',' 1','$IPv6')"` echo "IP ajouter! --> $BLOCKED_IP" else echo "IP existante! --> $BLOCKED_IP" fi fi done if [[ $SHOW_TIME -eq 1 ]]; then END=`date +%s` RUNTIME=$((END-UNIXTIME)) echo "Fini apres $RUNTIME Secondes" fi exit 0 Attention cette fois : par exemple pour 30 jours c'est 2592000 secondes Maintenant on va créer une ligne dans crontab pour automatiser le tout. Ici toutes les heures. vi /etc/crontab tapez sur "i" pour insérer du text et allez sur la dernière, ajoutez..... 0 * * * * root /bin/sh /volumeUSB1/usbshare1-1/scripts/ip_block.sh C'est bon. Toutes les heures le script fera une mise a jour de la DB sur 30 jours Explication du Script: LISTE_BLOCKLIST permet de choisir la liste que l'on veut mettre. Ici c'est "all". Vous pouvez choisir la liste depuis https://lists.blocklist.de/lists/. Il suffit juste de choisir. Mettez "all" pour pas vous prendre la tête. MAJ du : 04/11/2019 @PPJP nous propose une nouvelle version amélioré du script. Celle-ci est fonctionnel aussi bien pour DSM que SRM. Je l'ai tester sur mon DS1511+ ainsi que sur mon RT2600ac. Il est beaucoup plus rapide et on pourra ajouter d'autres listes perso dans le futur. Vous pouvez remercier @PPJP pour son implication sur le script et son énorme boulot. Si d'autres veulent modifier ou bien proposer un script plus performant. J'ouvre un github que vous pouvez retrouvez ici. PS: N'oubliez pas d'ajouter un lancement au démarrage + un autre pour lancer le scripts X temps. ### MERCI DE VOS RETOURS OU AMELIORATIONS ### blacklist.update
    1 point
  2. et depuis le 29 aout, ça donne quoi ? en terme de 'politesse, courtoisie, savoir vivre' et respect de ceux qui t'on aidé, ça donne quoi ? tu en es où ? tu as fait quoi? nous autres, ignares, ne voulons qu'être moins bête et suite à ta demande ou tu as sollicité l'aide de la communauté. un retour serait respectueux. merci pour tous
    -1 points
Ce classement est défini par rapport à Bruxelles/GMT+01:00
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.