Browse Source

premier commit

Jackbot 1 year ago
commit
59f8c33f7a
1 changed files with 48 additions and 0 deletions
  1. 48 0
      ssh.sh

+ 48 - 0
ssh.sh

@@ -0,0 +1,48 @@
+#!/bin/bash
+
+case "$1" in
+        start)
+                #création de la chaine personnalisé pour SSH
+                iptables -N SSH
+                iptables -N SSH_FAIL
+                iptables -N SSH_ACCEPT
+
+                #si un paquet est a destination du port 22 il sera renvoyer vers la chaine SSH
+                iptables -t filter -A INPUT -p tcp --dport 22 -j SSH
+
+                #chaine SSH
+                #on ajoute une exception pour le système de blocage (règle à adapter)
+                iptables -A SSH -s 192.168.1.122 -i eth0 -j ACCEPT
+                #Lorsqu un nouveau paquet arrive on place l adresse ip source dans la liste SSH
+                iptables -A SSH -m state --state NEW -m recent --name SSH --set
+                #si un nouveau paquet arrive qu il est dans la liste SSH qu il a moins de 60s et qu'il a été reçu au moins 3 fois alors il est jeté
+                iptables -A SSH -m state --state NEW -m recent --name SSH --update --seconds 60 --hitcount 3 -j SSH_FAIL
+                #dans les autres cas on accepte
+                iptables -A SSH -m state --state NEW -m recent --name SSH --rcheck -j SSH_ACCEPT
+
+
+                #SSH_FAIL
+                #Si un paquet arrive dans cette chaine c est qu il doit être jeté
+                iptables -A SSH_FAIL -j LOG --log-prefix "SSH FAIL :"
+                iptables -A SSH_FAIL -j DROP
+
+                #SSH_ACCEPT
+                #Si un paquet arrive dans cette chaine c est qu il doit être accepté
+                iptables -A SSH_ACCEPT -j LOG --log-prefix "SSH ACCEPT :"
+                iptables -A SSH_ACCEPT -j ACCEPT
+        ;;
+        stop)
+                #supression du point d'entrée
+                iptables -t filter -D INPUT -p tcp --dport 22 -j SSH
+                #vider la chaine SSH
+                iptables -F SSH
+                iptables -F SSH_FAIL
+                iptables -F SSH_ACCEPT
+                #suppression de la chaine
+                iptables -X SSH
+                iptables -X SSH_FAIL
+                iptables -X SSH_ACCEPT
+        ;;
+esac
+exit 0
+