Bonsoir.
Avant tout, j'espère ne pas m'être trompé de rubrique.
Ceci est un Copier/coller d'un de mes posts sur le forum de framasoft. Je me permet de le remettre ici car je n'ai reçu que deux réponses, toutes deux opposées l'une à l'autre.
Merci de votre aide.
J'aurais voulu avoir l'avis de certains sur ma config iptable au niveau sécurité. Comme iptables n'est pas super simple et que je ne suis pas professionnel des pare-feux, j'ai des doutes sur mon filtrage.
Je suis sous Ubuntu 6.06 server noyau 2.6.15-27-686 avec fluxbox en window manager (je trouve gnome un peu lent)
Autres précisions, c'est un ordinateur personnel (portable), pas le serveur de la DGSE contenant les nom des agents secrets. (Nan mais je préfère préciser ^^)
Par contre, ça doit être assez costaud pour tenir quand je me connecte dans des endroits pas trés sûrs (LAN's ?). Le SSH à un password solide (8 chiffes lettres majuscules/minuscules) et pas le login en root. Je suis le seul utilisateur.
J'espère avoir assez détaillé.
Merci d'avance.
:PREROUTING ACCEPT [12:2602]
:POSTROUTING ACCEPT [5:326]
:OUTPUT ACCEPT [5:326]
COMMIT
*mangle
:PREROUTING ACCEPT [169:31249]
:INPUT ACCEPT [169:31249]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [176:54645]
:POSTROUTING ACCEPT [176:54645]
COMMIT
:INPUT DROP [11:2554] //Par défaut : Rejeter tout le trafic entrant destiné à ma machine
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [176:54645] //Par défaut : Autoriser tout le trafic sortant de ma machine et venant d'elle
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT // Serveur SSH
-A INPUT -p udp -m udp --sport 53 -j ACCEPT // DNS
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT // DNS
-A INPUT -s 212.247.156.12 -p tcp -m tcp --sport 110 -j ACCEPT // POP limité à mon fai
-A INPUT -s 212.247.156.12 -p tcp -m tcp --sport 587 -j ACCEPT // SMTP (port 587 chez tele2) limité au fai
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT // Navigation web
-A INPUT -i lo -j ACCEPT // Connexions locales
-A INPUT -p tcp -m tcp --sport 4000 -j ACCEPT // Jeu (Diablo II sur wine)
-A INPUT -p tcp -m tcp --sport 6112 -j ACCEPT // Jeu (Diablo II sur wine)
-A INPUT -p tcp -m tcp --sport 1863 -j ACCEPT // Gaim (msn)
-A INPUT -p tcp -m tcp --sport 443 -j ACCEPT // HTTPS
-A INPUT -p tcp -m tcp --sport 6667 -j ACCEPT // IRC
COMMIT
Sur ce, on m'a dit qu'il serait préférable de filtrer la chaine OUTPUT aussi. Je l'ai fait (je ne vais pas ajouter la config, ce serait un peu lourd et c'est juste un miroir de INPUT)
Mais cela me pose quelques problèmes dans le fait que je ne puisse plus utiliser nmap.
J'ai pensé à la solution suivante :
iptables -A OUTPUT -o eth0 -p tcp -m owner --cmd-owner nmap -J ACCEPT
mais Iptables me gratifie d'un encouragent " Iptables : Invalid argument"
Merci pour vos réponses.
Cordialement. Choukette
# mwais
Posté par ragoutoutou . Évalué à 2.
Ensuite, la partie de filtrage sur l'input est franchement lourde, rigide, moche... il serait plus simple et plus logique d'utiliser smart-drop (permet de faire des drops, reset, des reject, ... basés sur des limites) et statefull-accept...
Un conseil aussi, à part si ton rêve est d'être totalement invisible, laisse l'icmp, c'est toujours intéressant pour la découverte de mtu...
# Pas un mirroir
Posté par petit_bibi . Évalué à 1.
Perso, je te conseille de mettre la POLICY d' INPUT, OUTPUT et FORWARD à DROP par défaut puis:
Pour autoriser des connections entrantes tcp (internet-> vers ta machine):
Pour autoriser les connections sortantes tcp (initiées par ta machine->internet):
Dans ton cas, si tu souhaites t'autoriser toutes les connections sortantes(utile pour nmap aussi) sans trop de prendre la tête:
Puis pour autoriser le ssh depuis l'exterieur rajoute les lignes de mon exemple sur les connection entrantes pour chaque ports que tu souhaites ouvrir:
Entrée progressive dans le registre du parano:
Il est aussi intéressant de ne pas utiliser directement ACCEPT mais
de créér une table (par exemple 'TCPACCEPT') et valider quelques
flags avant d'accepter le packet, par exemple:
iptables -N TCPACCEPT
iptables -A TCPACCEPT -p tcp ! --syn -m state --state NEW -j DROP
iptables-A TCPACCEPT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A TCPACCEPT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A TCPACCEPT -p tcp --tcp-flags ALL ALL -j DROP
iptables -A TCPACCEPT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A TCPACCEPT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A TCPACCEPT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
Le DROP devrait être aussi remplacé par une table qui écrit des logs avant
de DROPper..
[^] # Re: Pas un mirroir
Posté par Alexandre . Évalué à 1.
Encore merci pour ces réponses rapides.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.