Digression Installation parefeu (iptables & ip6tables) "pour les nuls"

[quote=“AigletoN”]
par contre si j’ai bien comprit j’ai ouvert un port pour jabber donc

en ce qui concerne les mise a jour de debian il n’utilise pas de port speciale ?
du coup qque je configure moi meme j’espere ne pas en oublier de port[/quote]Il est évident que tu dois adapter les données à ce que tu as besoin d’ouvrir.
Moi j’avais mis Jabber car le l’utilisais mais bien sûr, ce n’est pas une obligation.
Si ma mémoire est bonne, les lignes qu’il faut intégrer obligatoirement sont indiquées.

oki
Merci de m’avoir donner l’erreur que j’avait faite.
j’ai du machinallement le mettre en majuscule la deuxime fois donc (encore une erreur humaine alors).
l’etape etant concluante sur ce pc me reste a la faire sur lautre merci.

bonjour je sait pas si je peu posetr a la suite vu que c’est en suivant ce tuto que j’ai creer mon parefeu voici le soucis
j’ai voulu ajouter un port pour ktorrent :

ensuite :

coté routeur j’ai egalement ouvert le port
Mais le port ne semble pas ouvert si je vait ici:
check.sdv.fr:3658/
il me confirme que le port n’est pas ouvert.

possible de rajouter a ton tuto quelques base de iptables du genre comment voir les port ouvert dans iptable

dans iptable --list pourtant il y est:
ix `Unknown Input’
ACCEPT tcp – anywhere anywhere tcp dpt:30000
ACCEPT tcp – anywhere anywhere tcp dpt:30000

je laisse la réponse à Matt.

[quote=“AigletoN”]bonjour je sait pas si je peu posetr a la suite vu que c’est en suivant ce tuto que j’ai creer mon parefeu voici le soucis
j’ai voulu ajouter un port pour ktorrent :iptables -A INPUT -p tcp -m tcp --dport 30000 -j ACCEPTensuite :/etc/init.d/mon_parefeu restart[/quote]Bon. Tu es sûr que c’est bien le port 30000 pour ktorrent ?[quote=“AigletoN”]coté routeur j’ai egalement ouvert le port[/quote]De quel routeur parles tu ?[quote=“AigletoN”]Mais le port ne semble pas ouvert si je vait ici:
check.sdv.fr:3658/
il me confirme que le port n’est pas ouvert.[/quote]Qui te dit qu’il teste le port 30000 ?[quote=“AigletoN”]possible de rajouter a ton tuto quelques base de iptables du genre comment voir les port ouvert dans iptable[/quote]Non. Si quelqu’un par contre veut faire un autre tuto, il sera le bienvenu. Celui là atteind son objectif, la config spécifique des ports pour les services ne relève plus d’une mise en place de base “pour les nuls”.[quote=“AigletoN”]dans iptable --list pourtant il y est:
ix `Unknown Input’
ACCEPT tcp – anywhere anywhere tcp dpt:30000
ACCEPT tcp – anywhere anywhere tcp dpt:30000[/quote]tu peux surtout donner le resultat de iptables-save, peut être ?

Bon. Tu es sûr que c'est bien le port 30000 pour ktorrent ? oui

De quel routeur parles tu ? ma neufbox

Comment fonctionne check.sdv.fr ?

Nous allons tester, l’un après l’autre, tous les ports existants, et vous dresser une carte aussi complète que possible de l’état des ports, ouverts ou fermés ; à ceci sera associé un diagnostic estimant le niveau de sécurité de votre machine.

# Generated by iptables-save v1.3.6 on Thu Sep  6 14:27:20 2007
*nat
:PREROUTING ACCEPT [10037:702245]
:POSTROUTING ACCEPT [23059:1380041]
:OUTPUT ACCEPT [23062:1380287]
COMMIT
# Completed on Thu Sep  6 14:27:20 2007
# Generated by iptables-save v1.3.6 on Thu Sep  6 14:27:20 2007
*mangle
:PREROUTING ACCEPT [231959]
:INPUT ACCEPT [231878]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [223347:396163350]
:POSTROUTING ACCEPT [223636:396220378]
COMMIT
# Completed on Thu Sep  6 14:27:20 2007
# Generated by iptables-save v1.3.6 on Thu Sep  6 14:27:20 2007
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:INBOUND - [0:0]
:LOG_FILTER - [0:0]
:LSI - [0:0]
:LSO - [0:0]
:OUTBOUND - [0:0]
-A INPUT -s 192.168.1.1 -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -s 192.168.1.1 -p udp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m limit --limit 10/sec -j ACCEPT
-A INPUT -d 255.255.255.255 -i eth1 -j DROP
-A INPUT -d 192.168.1.255 -j DROP
-A INPUT -s 224.0.0.0/255.0.0.0 -j DROP
-A INPUT -d 224.0.0.0/255.0.0.0 -j DROP
-A INPUT -s 255.255.255.255 -j DROP
-A INPUT -d 0.0.0.0 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -f -m limit --limit 10/min -j LSI
-A INPUT -i eth1 -j INBOUND
-A INPUT -j LOG_FILTER
-A INPUT -j LOG --log-prefix "Unknown Input" --log-level 6
-A INPUT -p tcp -m tcp --dport 30000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 30000 -j ACCEPT
-A INPUT -p udp -m udp --dport 30000 -j ACCEPT
-A FORWARD -p icmp -m limit --limit 10/sec -j ACCEPT
-A FORWARD -j LOG_FILTER
-A FORWARD -j LOG --log-prefix "Unknown Forward" --log-level 6
-A OUTPUT -s 192.168.1.2 -d 192.168.1.1 -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.1.2 -d 192.168.1.1 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -s 224.0.0.0/255.0.0.0 -j DROP
-A OUTPUT -d 224.0.0.0/255.0.0.0 -j DROP
-A OUTPUT -s 255.255.255.255 -j DROP
-A OUTPUT -d 0.0.0.0 -j DROP
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o eth1 -j OUTBOUND
-A OUTPUT -j LOG_FILTER
-A OUTPUT -j LOG --log-prefix "Unknown Output" --log-level 6
-A INBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -j LSI
-A LSI -j LOG_FILTER
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j DROP
-A LSI -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p icmp -m icmp --icmp-type 8 -j DROP
-A LSI -m limit --limit 5/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -j DROP
-A LSO -j LOG_FILTER
-A LSO -m limit --limit 5/sec -j LOG --log-prefix "Outbound " --log-level 6
-A LSO -j REJECT --reject-with icmp-port-unreachable
-A OUTBOUND -p icmp -j ACCEPT
-A OUTBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -j ACCEPT
COMMIT
# Completed on Thu Sep  6 14:27:20 2007

recu pour l’ajout au tuto meme si je pense que ca aide plus pendant la mise en execution du tuto verifiez de suite si ce que l’on a ajouter a été pris en compte
car iptable --help que j’ai quand meme taper pour voir y’a pas de iptables -save

[code]ispatcheur:/home/aigleton# iptables --help
iptables v1.3.6

Usage: iptables -[AD] chain rule-specification [options]
iptables -[RI] chain rulenum rule-specification [options]
iptables -D chain rulenum [options]
iptables -[LFZ] [chain] [options]
iptables -[NX] chain
iptables -E old-chain-name new-chain-name
iptables -P chain target [options]
iptables -h (print this help information)

Commands:
Either long or short options are allowed.
–append -A chain Append to chain
–delete -D chain Delete matching rule from chain
–delete -D chain rulenum
Delete rule rulenum (1 = first) from chain
–insert -I chain [rulenum]
Insert in chain as rulenum (default 1=first)
–replace -R chain rulenum
Replace rule rulenum (1 = first) in chain
–list -L [chain] List the rules in a chain or all chains
–flush -F [chain] Delete all rules in chain or all chains
–zero -Z [chain] Zero counters in chain or all chains
–new -N chain Create a new user-defined chain
–delete-chain
-X [chain] Delete a user-defined chain
–policy -P chain target
Change policy on chain to target
–rename-chain
-E old-chain new-chain
Change chain name, (moving any references)
Options:
–proto -p [!] proto protocol: by number or name, eg. tcp' --source -s [!] address[/mask] source specification --destination -d [!] address[/mask] destination specification --in-interface -i [!] input name[+] network interface name ([+] for wildcard) --jump -j target target for rule (may load target extension) --goto -g chain jump to chain with no return --match -m match extended match (may load extension) --numeric -n numeric output of addresses and ports --out-interface -o [!] output name[+] network interface name ([+] for wildcard) --table -t table table to manipulate (default:filter’)
–verbose -v verbose mode
–line-numbers print line numbers when listing
–exact -x expand numbers (display exact values)
[!] --fragment -f match second or further fragments only
–modprobe= try to insert modules using this command
–set-counters PKTS BYTES set the counter during insert/append
[!] --version -V print package version.
[/code]

[quote=“AigletoN”]Bon. Tu es sûr que c'est bien le port 30000 pour ktorrent ? oui[/quote]Bon, si tu l’affirmes.[quote=“AigletoN”]De quel routeur parles tu ? ma neufbox[/quote]Tu as déjà des forwardings sur d’autres ports qui fonctionnent bien ? Tu as refait la même config, tu es sûr de ce coté là ?[quote=“AigletoN”]Qui te dit qu'il teste le port 30000 ? Comment fonctionne check.sdv.fr ?

Nous allons tester, l’un après l’autre, tous les ports existants, et vous dresser une carte aussi complète que possible de l’état des ports, ouverts ou fermés ; à ceci sera associé un diagnostic estimant le niveau de sécurité de votre machine.[/quote]J’y crois peu, un scan correct de 65535 ports ne peut pas être aussi rapide. Mais bon.
A la limite installes un telnet au lieu de torrent à écouter sur le port 30000, et debugue ton port forwarding comme ça. Tu t’inquièteras de ktorrent quand le telnet sera accessible.[quote=“AigletoN”]tu peux surtout donner le resultat de iptables-save, peut être ?code
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:INBOUND - [0:0]
:LOG_FILTER - [0:0]
:LSI - [0:0]
:LSO - [0:0]
:OUTBOUND - [0:0]
(…)
-A INPUT -p tcp -m tcp --dport 30000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 30000 -j ACCEPT

RQ: doublon

(…)
-A INPUT -p udp -m udp --dport 30000 -j ACCEPT

RQ: AMA, c’est soit tcp, soit udp, mais pas les deux.

(…)
-A FORWARD -p icmp -m limit --limit 10/sec -j ACCEPT
-A FORWARD -j LOG_FILTER
-A FORWARD -j LOG --log-prefix “Unknown Forward” --log-level 6

Q: c’est quoi ce forward ? Ca serait interressant de savoir aussi quelles sont tes interfaces et à quoi elles correspondent.

(…)
(…)[/code][/quote]Non, ben il n’y a pas de raison que ça bloque de ce coté là.[quote=“AigletoN”]recu pour l’ajout au tuto meme si je pense que ca aide plus pendant la mise en execution du tuto verifiez de suite si ce que l’on a ajouter a été pris en compte[/quote]Comprends pas ce que tu dis.[quote=“AigletoN”]car iptable --help que j’ai quand meme taper pour voir y’a pas de iptables -save
(…)[/quote]De quoi parles tu ? j’ai parlé d’iptables-save, pas d’iptables -save, d’ailleurs tu l’as bien utilisée cette commande alors ou est le pb ?

ben ecoute si tu me dit que coté parefeu c’est bon c’est bon je vais chercher ailleur donc:
oui j’ai d’etre port qui sont rediriger vers ce pc et qui fonctionne donc coter routeur neufbox c’est oki

[quote]AigletoN a écrit:
recu pour l’ajout au tuto meme si je pense que ca aide plus pendant la mise en execution du tuto verifiez de suite si ce que l’on a ajouter a été pris en compte
Comprends pas ce que tu dis.
AigletoN a écrit:
car iptable --help que j’ai quand meme taper pour voir y’a pas de iptables -save
(…)
De quoi parles tu ? j’ai parlé d’iptables-save, pas d’iptables -save, d’ailleurs tu l’as bien utilisée cette commande alors ou est le pb [/quote]

tout cela c’etait pour ta réponse suite a ma demande d’ajouté au tuto principal les commandes utiles qui peuvent etre appliqué de suite pour verification. exemple on nous montre dans le tuto comment ajouter un nouveau port.mais on nous dit pas comment verifier si ca a bien été appliqué pour trouver cette commande j’ai donc été voir dans iptables --help et la commande qui semblait correspond etait iptables --list qui n’avait pas l’air de te convenir lolll je demandait une list complete mais juste un leger complement initiale
Bon maintenant tu me dira moi je le sait iptables-save mais pour les futusr essayeur :wink:

bravo et merci

merci pour ce tuto :slightly_smiling:

Bonjour,

j’ai suivi le tuto et j’ai quelques messages d’erreur lors des manips.

Premièrement :

[fred@etch:~] sudo /etc/init.d/mon_parefeu clean iptables v1.3.6: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. iptables v1.3.6: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. iptables v1.3.6: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. iptables v1.3.6: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded.

Ensuite pas de pb jusqu’à :

[fred@etch:~] sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables: No chain/target/match by that name

Voici mes règles iptables :

[code][fred@etch:~] sudo iptables -L -vn --line-numbers
Chain INPUT (policy DROP 10 packets, 568 bytes)
num pkts bytes target prot opt in out source destination
1 29 24607 ACCEPT 0 – eth0 * 0.0.0.0/0 0.0.0.0/0
2 0 0 ACCEPT 0 – lo * 0.0.0.0/0 0.0.0.0/0
3 0 0 DROP icmp – * * 0.0.0.0/0 0.0.0.0/0
4 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
5 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
6 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
7 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
8 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
9 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5222

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 44 packets, 5863 bytes)
num pkts bytes target prot opt in out source destination
[/code]

J’ai un kernel perso. Est ce que le pb vient de là à cause de modules manquants ?

Merci de votre aide.
Fred

tu as bien créé le fichier “mon_parefeu” (ou le nom que tu veux) ?

Oui, j’ai bien créé le fichier, l’ai rendu exécutable…

salut,
j’ai une tite question, quel regle permet de débannir une ip qui à fait du brute force en ssh?? :blush: :blush: :blush:

thx

quote="fredonweb"
J’ai un kernel perso. Est ce que le pb vient de là à cause de modules manquants ?
(…)[/quote]A tous les coups, oui, mais c’est toi qui sais si tu as compilé les modules iptables ou pas.

quote="FRéDaNGeL"
j’ai une tite question, quel regle permet de débannir une ip qui à fait du brute force en ssh?? :blush: :blush: :blush:

thx[/quote]Qu’est ce qui ta permis de la bannir ?

[quote=“mattotop”]quote="FRéDaNGeL"
j’ai une tite question, quel regle permet de débannir une ip qui à fait du brute force en ssh?? :blush: :blush: :blush:

thx[/quote]Qu’est ce qui ta permis de la bannir ?[/quote]

En faite quand je me suis logué en SSH, je me suis planté 3 fois… lol le truc trop con. Mais je pense avoir trouvé comment faire:

Faut que je pense a mettre une règle pour que le ban n’agisse pas sur mon ip, ca m’évitera ce genre de probléme

Je ne te demandais pas ce qui avait provoqué le ban, mais ce que tu utilisais comme logiciel pour détecter et bannir, car iptables seul ne sait pas faire ça.
Comme ta réponse ne donne aucune info là dessus, j’imagine que tu as installé fail2ban, et que c’est lui qui bannit.
Donc plutot que de faire une règle qui ouvre un trou dans ta protection, tu devrais plutot lire man fail2ban-client, qui permet entre autres de débannir ce que fail2ban a banni.

C’est surtout qu’un banissement de 3-4 minutes suffit pour décourager les scripts et est supportable en cas multiples connexions. (Penses aussi à une série de scp).

[quote]

[quote]
fredonweb a écrit:
(…)
J’ai un kernel perso. Est ce que le pb vient de là à cause de modules manquants ?
(…)[/quote]
A tous les coups, oui, mais c’est toi qui sais si tu as compilé les modules iptables ou pas.[/quote]

Ben non j’en sais rien, j’ai fais ça il y a un moment pour… voir, comme n’importe quel nouveau venu dans le monde linux en suivant le tuto d’alexis de lattre. Mon kernel maison fonctionne bien donc je continue à l’utiliser au quotidien, histoire de ne avoir perdu du temps pour rien.
Google est mon ami, j’ai trouvé quelques pistes que je testerai quand je serai motivé pour recompiler (c’est “rigolo” une fois, deux… ?).

fred