Précédent   Forum des professionnels en informatique > Systèmes > Linux > Réseau
Réseau Vos questions autour des réseaux et télécoms sous Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/03/2011, 10h28   #1
Invité de passage
 
Étudiant
Inscription : mars 2011
Messages : 12
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 12
Points : 4
Points : 4
Par défaut configuration des iptables avec un vps ovh

Bonjour,
Je possède un vps chez OVH et je cherche à configurer au mieux les iptables et jusqu'à présent à part des petites frayeurs ça ne marche pas comme je voudrais. J'ai fait le script suivant en lissant différents guides pour iptables, mais de toute évidence j'ai dû rater des notions, mon but est de bloquer le port 22 pour n'autoriser que service technique d'ovh et d'utiliser le port 1038 pour se connecter en ssh et loger le tout en entrée. Je voulais aussi faire un suivi de connexion le reste je croie que les commentaires sont assez explicites.

Code :
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
 
# Vidage des tables 
iptables -t filter -F 
iptables -t filter -X 
 
# Bloquage total
iptables -t filter -P INPUT DROP 
iptables -t filter -P FORWARD DROP 
iptables -t filter -P OUTPUT DROP 
 
# Interface interne 
	# In
	iptables -t filter -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
 
	# Out
	iptables -t filter -A INPUT  -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
 
# Ping (Paquet ICMP)
	# In
	iptables -t filter -A INPUT -p icmp -j ACCEPT 
 
	# Out
	iptables -t filter -A OUTPUT -p icmp -j ACCEPT 
 
#	NTP 
	# Out
	iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT 
 
# SSH 
	# In
		# Log les connexions sur le port 22 & 1038
		iptables -t filter iptables -A INPUT -p tcp --dport 22 -j LOG --log-level info --log-prefix "INPUT ssh:22"
		iptables -t filter iptables -A INPUT -p tcp --dport 1038 -j LOG --log-level info --log-prefix "INPUT ssh:1038"
 
		# Filtrage sur le non-ovh si port 22 (+oo/heures) sinon connexion ssh sur port 1038 (10/heure)
		iptables -t filter -A INPUT -p tcp --dport 22 --source cache.ovh.net -j ACCEPT
		iptables -t filter -A INPUT -p tcp --dport 1038 -m limit --limit 10/hour -j ACCEPT 
 
	# Out
	iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
	iptables -t filter -A OUTPUT -p tcp --dport 1038 -j ACCEPT 
 
# DNS
	# In
	iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT 
	iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT 
 
	# Out
	iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT 
	iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT 
 
# HTTP
	# In
	iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT 
 
	# Out
	iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT 
 
# HTTPS
	# In
	iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT 
	iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT 
 
	# Out
	iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT 
 
# FTP
	# In
	iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT 
	iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
 
	# Out
	iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT 
 
# Conntrack 
	# In 
	iptables -A INPUT  -i eth1 -s 0.0.0.0/0 -d 10.0.0.1 -p all -m state --state RELATED,ESTABLISHED -j ACCEPT	
 
	# Out
	iptables -A OUTPUT -o eth1 -s 10.0.0.1  -d 0.0.0.0/0 -p all -m state ! --state INVALID -j ACCEPT	
 
# Webadmin (au cas où)
iptables -A INPUT -i eth0 -p tcp --dport 10000 -j ACCEPT
merci d'avance.
atsig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 11h28   #2
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Je ne suis pas un expert en iptables, mais je trouve étrange de mettre une règle en output sur ssh (par exemple, mais toutes tes lignes OUTPUT sont concernées à priori) avec un dport de 22 ? Ca ne devrait pas plutôt être du sport ?

D'une manière générale, je n'utilise personnellement presque aucune règle sur le OUTPUT : je pars du principe que je contrôle ce qui sort
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/03/2011, 13h50   #3
Invité de passage
 
Étudiant
Inscription : mars 2011
Messages : 12
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 12
Points : 4
Points : 4
Merci de votre réponse, j'ai pour l'instant enlevé les règles en sortie et fait deux trois modifications et cela marche bien mieux donc c'est déjà ça.
Code :
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
 
#!/bin/sh
 
case "$1" in
start)
# Si pas ovh ne pas oublier de charger 
# modprobe ip_conntrack; 
# modprobe ip_conntrack_ftp ; 
# modprobe ip_conntrack_irc ;
 
# Vidage des tables 
iptables -t filter -F 
iptables -t filter -X 
 
# Bloquage total
iptables -t filter -P INPUT DROP 
iptables -t filter -P FORWARD DROP 
# iptables -t filter -P OUTPUT DROP 
 
# Interface interne 
    # In
    iptables -t filter -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
 
    # Out
    # iptables -t filter -A INPUT  -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
 
# Ping (Paquet ICMP)
    # In
    iptables -t filter -A INPUT -p icmp -j ACCEPT 
 
    # Out
    # iptables -t filter -A OUTPUT -p icmp -j ACCEPT 
 
# NTP 
    # Out
    # iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT 
 
# SSH 
    # In
        # Log les connexions sur le port 22 & 1038
        iptables -t filter -A INPUT -p tcp --dport 22 -j LOG --log-level info --log-prefix "INPUT ssh:22"
        iptables -t filter -A INPUT -p tcp --dport 1038 -j LOG --log-level info --log-prefix "INPUT ssh:1038"
 
        # Filtrage sur le non-ovh si port 22 (+oo/heures) sinon connexion ssh sur port 1038 (10/heure)
        iptables -t filter -A INPUT -p tcp --dport 22 --source cache.ovh.net -j ACCEPT
        iptables -t filter -A INPUT -p tcp --dport 1038 -m limit --limit 10/hour -j ACCEPT 
 
    # Out
    #iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
    # iptables -t filter -A OUTPUT -p tcp --dport 1038 -j ACCEPT 
 
# DNS
    # In
    iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT 
    iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT 
 
    # Out
    # iptables -t filter -A OUTPUT -p tcp --sport 53 -j ACCEPT 
    # iptables -t filter -A OUTPUT -p udp --sport 53 -j ACCEPT 
 
# HTTP
    # In
    iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT 
 
    # Out
    # iptables -t filter -A OUTPUT -p tcp --sport 80 -j ACCEPT 
 
# HTTPS
    # In
    iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT 
    iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT 
 
    # Out
    # iptables -t filter -A OUTPUT -p tcp --sport 443 -j ACCEPT 
 
# FTP
    # In
    iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT 
    iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
 
    # Out
    # iptables -t filter -A OUTPUT -p tcp --sport 20:21 -j ACCEPT 
 
# Conntrack 
    # In 
    iptables -A INPUT  -i eth1 -s 0.0.0.0/0 -d 10.0.0.1 -p all -m state --state RELATED,ESTABLISHED -j ACCEPT    
 
    # Out
    iptables -A OUTPUT -o eth1 -s 10.0.0.1  -d 0.0.0.0/0 -p all -m state ! --state INVALID -j ACCEPT    
 
# Webadmin (au cas où)
iptables -A INPUT -i eth0 -p tcp --dport 10000 -j ACCEPT
 
echo "firewall :: start"
exit 0
;;    
 
stop)
iptables -t filter -F
echo "firewall :: stop"
exit 0
;;
 
*)
echo "Usage: /etc/init.d/firewall {start|stop}"
exit 1
;;
esac
atsig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 14h59   #4
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Pas de quoi, tu as un bouton [Résolu] qui passe un post en résolu sans avoir à modifier la titre à la main
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h22.


 
 
 
 
Partenaires

Hébergement Web