Ceci est une ancienne révision du document !
Sécuriser un serveur Linux
Commandes (très) utiles
Quels sont les ports ouverts ?
Quel programme utilise un port donné ?
Que fait le programme de PID donné ?
Quels sont les paquets concernés par ce programme ?
Firewall
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
#!/bin/sh ### Firewall ### case "$1" in start|restart|reload|force-reload) # Réinitialise les règles iptables -t filter -F iptables -t filter -X # Bloque tout le trafic iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT DROP # Autorise toute connexion avec l'IP VOTRE_IP_PUBLIQUE_PERSO iptables -t filter -A INPUT -s VOTRE_IP_PUBLIQUE_PERSO -j ACCEPT iptables -t filter -A OUTPUT -d VOTRE_IP_PUBLIQUE_PERSO -j ACCEPT # Limiter les risques de flood (limite à 1 connexion par seconde) iptables -A FORWARD -p tcp --syn -m limit --limit 1 /second -j ACCEPT iptables -A FORWARD -p udp -m limit --limit 1 /second -j ACCEPT iptables -A FORWARD -p icmp --icmp- type echo -request -m limit --limit 1 /second -j ACCEPT # Autorise les connexions déjà établies et localhost iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A OUTPUT -o lo -j ACCEPT # ICMP (Ping) On autorise le ping iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT # SSH (port 22) iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT # DNS sortant iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT # DNS entrant #iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT #iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT # HTTP iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT # HTTPS iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT # MySQL iptables -t filter -A OUTPUT -p tcp --dport 3306 -j ACCEPT #iptables -t filter -A INPUT -p tcp --dport 3306 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 3306 -j ACCEPT #iptables -t filter -A INPUT -p udp --dport 3306 -j ACCEPT # MySQL-proxy #iptables -t filter -A OUTPUT -p tcp --dport 6446 -j ACCEPT #iptables -t filter -A INPUT -p tcp --dport 6446 -j ACCEPT #iptables -t filter -A OUTPUT -p udp --dport 6446 -j ACCEPT #iptables -t filter -A INPUT -p udp --dport 6446 -j ACCEPT # FTP #iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT #iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT # Mail SMTP #iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT # Mail sSMTP #iptables -t filter -A INPUT -p tcp --dport 465 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT #iptables -t filter -A INPUT -p tcp --dport 587 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT # Mail POP3 #iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT #iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT # Mail sPOP3 #iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT #iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT # Mail IMAP #iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT #iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT # Mail sIMAP #iptables -t filter -A INPUT -p tcp --dport 993 -j ACCEPT #iptables -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT # NTP (horloge du serveur) iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT ;; stop) # Réinitialise les règles iptables -t filter -F iptables -t filter -X # Autorise tout le trafic iptables -t filter -P INPUT ACCEPT iptables -t filter -P FORWARD ACCEPT iptables -t filter -P OUTPUT ACCEPT ;; status) RES=$(iptables -L | grep INPUT | awk '{print $4}' | sed 's/)//g' ) [ "$RES" != "ACCEPT" ] && echo "Firewall actif" || echo "Firewall inactif" ;; *) echo "Usage: service firewall {start|stop|status|restart|reload|force-reload}" ;; esac exit 0 |
Fail2ban
Fignolage
Liens
1 personne a visité cette page aujourd'hui et 1467 en tout.