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 : 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
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.