Bonjour,
j'aimerai votre avis sur mes configs iptables. C'est mon premier script alors désolé pour les imbécilités...
Les scripts sont destinées à un serveur web. J'ai fais 2 scripts parce qu'il y en a un pour tout les jours (plutôt restrictif) et un autre qui ouvre le dns/le web/"solr" (port 8983) quand j'en ai besoin, mise à jour des fichier php, des packages, etc... Solr c'est un moteur de recherche qui tourne sur jetty qui n'est écouté que sur le localhost en temps normal et quand je travaille dessus il doit écouter sur le réseau. Il n'y a pas de ftp je compte utiliser sftp qui passe par le 22 je crois.
Déjà première question, est ce une bonne idée 2 scripts ? Est ce que cela coupe les connexions quand on change de script ? J'aurais tendance à dire oui à cause de "iptables -P INPUT/OUTPUT DROP". Est ce grave ?
Bon je continue :
1er script :
Ssh et http (côté serveur uniquement) autorisé.
Le reste refusé et en log.
Le ssh est en log aussi, je veux savoir qui vient sur ma machine, normalement que moi.
2eme script
ssh http https dns solr (port 8983)
Je ne log pas car ce script ne sera pas souvent actif
Voici le 1er script :
Voici le 2eme script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #!/bin/sh ##################################################################### # # Shell Script for configuration of Itables # Server web Pomelojob powered by Gandi.net # # only web and ssh available used in webserver mode # # author: Charles Bourasseau # date: 2009 ##################################################################### ## On active quelques modules utiles modprobe ip_tables modprobe ip_conntrack modprobe iptable_filter ## On vide les règles iptables -F iptables -X ## On log tout iptables -N LOG_DROP iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : ' iptables -A LOG_DROP -j DROP iptables -N LOG_ACCEPT iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] : ' iptables -A LOG_ACCEPT -j ACCEPT ## On interdit tout iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ## On autorise la boucle local iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT ## SSH iptables -A INPUT -p tcp -i eth0 --dport 22 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j LOG_ACCEPT iptables -A OUTPUT -p tcp -o eth0 --dport 1024:65535 --sport 22 -m state --state ESTABLISHED -j LOG_ACCEPT ## web iptables -A INPUT -p tcp -i eth0 --dport 80 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -o eth0 --dport 1024:65535 --sport 80 -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -j LOG_DROP iptables -A INPUT -j LOG_DROP iptables -A OUTPUT -j LOG_DROP
## Voila merci d'avance pour toutes les réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #!/bin/sh ##################################################################### # # Shell Script for configuration of Itables # Server web Pomelojob powered by Gandi.net # # http htpps ssh solr dns available : more possibilities to work # # author: Charles Bourasseau # date: 2009 ##################################################################### ## On active quelques modules utiles modprobe ip_tables modprobe ip_conntrack modprobe iptable_filter ## On vide les règles iptables -F iptables -X ## On interdit tout iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ## On autorise la boucle local iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT ## ssh (server) iptables -A INPUT -i eth0 -p tcp --dport 22 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --dport 1024:65535 --sport 22 -m state --state ESTABLISHED -j ACCEPT ## http (server) iptables -A INPUT -i eth0 -p tcp --dport 80 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --dport 1024:65535 --sport 80 -m state --state ESTABLISHED -j ACCEPT ## http (client) iptables -A INPUT -i eth0 -p tcp --dport 1024:65535 --sport 80 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --dport 80 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT ## https (server) iptables -A INPUT -i eth0 -p tcp --dport 443 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --dport 1024:65535 --sport 443 -m state --state ESTABLISHED -j ACCEPT ## https (client) iptables -A INPUT -i eth0 -p tcp --dport 1024:65535 --sport 443 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --dport 443 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT ## solr iptables -A INPUT -i eth0 -p tcp --dport 8983 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --dport 1024:65535 --sport 8983 -m state --state ESTABLISHED -j ACCEPT ## dns (client) iptables -A INPUT -i eth0 -p udp --dport 1024:65535 --sport 53 -j ACCEPT iptables -A OUTPUT -o eth0 -p udp --dport 53 --sport 1024:65535 -j ACCEPT![]()
Partager