Serveur Installer/configurer/activer un parefeu via iptables

Bonjour,

J’ai suivi un tuto pour faire un parefeu sur mon serveur domestique.
Tuto -----> installation-parefeu-iptables-pour-les-nuls-t1901.html

Mon réseau étant constitué comme tel : une freebox qui est connectée à un hub rj45, sur lesquels sont connecté les PCs , les téléviseurs smartTV, La freebox HD, Les lecteurs DVD et Blu-ray multimedia, et un deuxième hub rj45 qui est connecté au 1er hub rj45 du RDC avec les mêmes appareils de branché a quelque chose près. Sur le wifi j’ai de connecté les smartphones android, tablet android et pc portable.

Le serveur domestique me sert pour gérer la domotique depuis l’extérieur et en local, j’utilise également Asterisk associé à la domotique sur les smartphones et PC, avec un site web via apache et mysql. le serveur me sert aussi de vidéothèque , musithèque et photothèque. Sur mon réseau local, j’ai des pc Linux et microsoft.

L’objectif est de protéger au maximum mon serveur suite a des attaque du genre : brute-force.

Dans le tuto il est dit :

Il est recommandé de ne pas faire cette installation, ni une éventuelle modification par le biais de SSH, mais en "direct" machine. Ces commandes seront entrées sous la forme : login@nom_machine:~$ sudo la_commande_à_taper Bizarre non, moi mon serveur il est forcément en ssh, il n’y a ni clavier, n’y souris, alors une carte graphique niette et le disque dur c’est un circuit imprimé incorporé dans la carte-mère .
Alors le gars qui a un serveur y fait comment ??

1/ je crée un ‘script’ qui sera le “donneur d’ordre” du parefeu.

root@debian:~# touch /etc/init.d/mon_parefeu
root@debian:~# 

je le rend exécutable

root@debian:~# chmod +x /etc/init.d/mon_parefeu root@debian:~# Puis je l’édite avec nano car mon serveur est en ssh

root@debian:~# nano /etc/init.d/mon_parefeuje colle dans mon fichier le script joint au tuto, je ne sais pas s’il est adapté à un serveur ou pour un particulier débin. Puis je sauvegarde et ferme nano.
puis je réinitialise le pare-feu à blanc

[code]root@debian:~# /etc/init.d/mon_parefeu clean

Parefeu claan [Ok]

réinitialiser le pare-feu à blanc

clean le parefeu pendant que la machine tourne

ça peut être une faille de sécurite si on l’exécute lors de l’extinction avant l’arrêt des interfaces

pensez à refaire un start après sinon la sauvegarde se fera automatiquement à l’extinction

root@debian:~# [/code]
2/ Enfin à la partie configuration.
Je tape les séquences indiquées dans le tuto (les lignes en gras et une à la fois, suivi de ‘Entrée’)
Pour un hôte (station ou serveur) non routeur.
Je fais un copier-coller dans la fenêtre du terminal de mon serveur

root@debian:~# iptables -t filter -P INPUT DROP root@debian:~# et là mon serveur reste bloqué impossible de continuer, quand je tape une lettre au clavier elle ne s’affiche même pas, je ne peux plus continuer … j’ai attendu 30 minutes …

Comment puis je faire ?

Edité à 19h25
Après avoir posté, 5 minutes après, il m’a répondu :

root@debian:~# iptables -t filter -P INPUT DROP root@debian:~# Write failed: Broken pipe laurent@PC-ubuntu:~$

Que dois-je faire ?
Tout recommencé a zéro mais je rien d’avoir le même message ?

Merci.

Ce tuto est assez ancien mais je m’en suis encore servi pour protéger un serveur il y a env. 2 ans.
Par contre, il faut prendre la seconde liste de commandes pour un serveur :

[code]“Pour une machine faisant office de routeur avec NAT” :

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -A INPUT -i ethx -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
[edit: précisions par fran.b suite à débat]
Si on veut un serveur FTP
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
Si on souhaite utiliser SSH
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Si on souhaite installer un serveur Web
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Si on veut rendre CUPS accessible
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
Si on souhaite utiliser Jabber
iptables -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
iptables -A FORWARD -i ethy -o ethx -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -o ethy -j ACCEPT
iptables -t nat -A POSTROUTING -o ethy -j MASQUERADE


ethx correspond à l’interface du LAN
et
ethy correspond à l’interface relié à la truc-box[/code]

et la suite.
Tu n’as pas moyen de trouver un clavier et un écran (pas besoin de souris) que tu brancherais le temps de l’install de iptables ?

Bonsoir,

[quote]Ce tuto est assez ancien mais je m’en suis encore servi pour protéger un serveur il y a env. 2 ans.
Par contre, il faut prendre la seconde liste de commandes pour un serveur :
“Pour une machine faisant office de routeur avec NAT” :[/quote]
Mais “Pour une machine faisant office de routeur avec NAT” c’est quand un câble Rj45 par de la Freebox dans la carte eth0 du serveur et qu’un deuxième câble Rj45 par du serveur de l’Ethernet 1 vers le hub Rj45 où je me trompe ? ce qui veut dire que c’est le serveur qui fait pare-feu pour tout le réseau, sauf erreur de ma part.

Moi mon réseau est comme ceci :
La freebox et branché sur le hub Rj45 du réseau, et du hub Rj45 par un câble vers le port Ethernet 0 du serveur.
Tous les autres appareils et PC se connectent sur le hub Rj45 en question.
donc ma config est bien celle-ci “Pour un hôte (station ou serveur) non routeur”:, ou je me trompe .?
Je fait routeur uniquement pour le serveur là !

[quote]et la suite.
Tu n’as pas moyen de trouver un clavier et un écran (pas besoin de souris) que tu brancherais le temps de l’install de iptables ?[/quote]

Il est impossible de brancher un clavier ou un écran sur le serveur. Je n’ai pas de prise PS2 ni de prise dvi ou vga sur le serveur.
Mon serveur est la -----> newit.co.uk/shop/proddetail. … ream_Multi

Merci.

Si tu veux protéger ton réseaux avec un firewall (ici iptables), alors il te faut 2 cartes réseaux et donc faire du NAT. le shémat est le suivant :

Freebox<--------->eth0 serveur eth1<------------>hub(ou switch)<-------->les autres pc/tablettes…

Sinon ton serveur ne peut que se protéger lui même…

Il est normal que tu te soie “couper” le “pate” en tapant la commande :

Puisque tu à lancé une règle qui par défaut bloque le trafique entrant.

Si tu veux évité ce genre de pb, crée les règles iptables directement dans un script que tu lance au démarrage de ta machine, sans oublier la règle pour accepter ta connection ssh :

iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix '[SSH_INPUT]:'

La première autorise le ssh et la seconde log la connexion.

Bonsoir,

Je n’y comprends pas grand-chose en iptables.
Mon serveur n’a qu’une carte Ethernet “eth0” intégré dans sa carte-mère.
Donc mon serveur se protéger uniquement lui-même, on est bien d’accord.

Pour continuer, au lieu de taper iptables -t filter -P INPUT DROP je tape iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix '[SSH_INPUT]:' ensuite je continue de taper la suite du tuto et tout est bon :

iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
[edit: précisions par fran.b suite à débat]
Si on veut un serveur FTP
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
Si on souhaite utiliser SSH
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Si on souhaite installer un serveur Web
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Si on veut rendre CUPS accessible
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
Si on souhaite utiliser Jabber
iptables -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT

es-ce correct ?
Merci.

Je pense que ça devrais fonctionner en faisant comme ça. Cela dit je n’ai jamais testé en tapant les commande 1 par une comme dans le tuto. J’ai directement créer un script pour mettre en place mon firwall. Si ça t’intéresse je doit en avoir un que je peux adapter à ta conf et le poster…

[EDIT:]

Voila un script qui devrais fonctionner :

[code]#!/bin/sh

BEGIN INIT INFO

Provides: chillispot et freeradius dans le chroot

Required-Start: $local_fs $network

Required-Stop: $local_fs $remote_fs

Default-Start: 2 3 4 5

Default-Stop: 0 1 6

Short-Description: Wireless & LAN Access Point Controller

Description: ChilliSpot is an open source captive portal

or wireless LAN access point controller.

END INIT INFO

#Déclaration interface
interface=eth0

Vider les tables actuelles

iptables -t filter -F

Vider les règles personnelles

iptables -t filter -X

Interdire toute connexion entrante et sortante

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT

Ne pas casser les connexions etablies

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Autoriser loopback

iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

ICMP (Ping)

iptables -t filter -A INPUT -p icmp -j DROP

SSH In

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -p tcp --dport 22 -j LOG --log-prefix ‘[SSH_INPUT]:’

#Si on veut un serveur FTP
iptables -t filter -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT # port FTP DATA
#Si on souhaite installer un serveur Web
iptables -t filter -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # faire de même avec le 443 si on veux du https
#Si on veut rendre CUPS accessible
iptables -t filter -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
#Si on souhaite utiliser Jabber
iptables -t filter -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT

############################################ LOG ################################################

Log tous ce qui qui n’est pas accepter par une règles précédente

prés requit : sudo apt-get install sysklogd

echo ‘kern.warning /var/log/iptables.log’ > /etc/syslog.conf

 iptables -A INPUT -j LOG  --log-level 4 --log-prefix '[INPUT DROP]:'
 echo "############ <START> ##############"		
iptables -L -n  # commanter pour desactiver l'afichage des règles en cours	
echo "############ </START> ##############"	

#################################################################################################

}

stop() {
iptables -t filter -F
iptables -t filter -X
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT
}

case “$1” in

start)
start
echo “firewall IPv4 démarré”
;;

stop)
stop
echo “firewall IPv4 stopé”
;;
restart)
stop && start
echo “firewall IPv4 redémarré”
;;
status)
status
/sbin/iptables -L -n
RETVAL=?
;;
*)
echo "Usage $0 {start|stop|restart|status}"
exit 1
esac

exit 0[/code]

Tu copie/colle le contenu dans le fichier /etc/init.d/iptable
puis tu lance les commande :

pour le rendre exécutable, et

pour le lancer au démarrage.

Bonsoir,

C’est normal qu’il n’existe pas.

root@debian:~# cat /etc/init.d/iptable cat: /etc/init.d/iptable: Aucun fichier ou dossier de ce type root@debian:~#
Mais je pense qu’il y a une faute à iptable “iptables”

root@debian:~# cat /etc/init.d/iptables cat: /etc/init.d/iptables: Aucun fichier ou dossier de ce type root@debian:~#

mais vue que mon parefeu est une passoire c’est peut être normal donc il faut créer le fichier.

Actuellement mon parefeu

[code]root@debian:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
ACCEPT tcp – anywhere anywhere tcp dpt:ipp
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT udp – anywhere anywhere udp dpt:sip
ACCEPT udp – anywhere anywhere udp dpts:10000:20000
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT tcp – anywhere anywhere tcp dpt:sip
ACCEPT udp – anywhere anywhere udp dpt:sip
ACCEPT tcp – anywhere anywhere tcp dpt:8585
ACCEPT tcp – anywhere anywhere tcp dpt:4661
ACCEPT udp – anywhere anywhere udp dpt:4712
ACCEPT all – anywhere anywhere
DROP all – 93.175.192.91 anywhere
DROP all – 179.89.26.218.internet.sx.cn anywhere
DROP all – 111.1.45.163 anywhere
DROP all – 116.11.252.194 anywhere
DROP all – 210.56.4.93 anywhere
DROP all – 93.175.192.91 anywhere
DROP all – 58.240.17.250 anywhere
DROP all – fzwyh.njupt.edu.cn anywhere
DROP all – 117.79.91.214 anywhere
DROP all – 116.253.189.130 anywhere
DROP all – 222.92.216.12 anywhere
DROP all – 202.70.136.23 anywhere
DROP all – 200.250.9.210 anywhere

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@debian:~#
cat /etc/init.d/iptable
[/code]
merci.

Effectivemant, j’ai oublier un s à iptables :blush: désolé
Oui, il faut créer le fichier /etc/init.d/iptables

Bonsoir,

Voila j’ai fait :

root@debian:~# touch /etc/init.d/iptables root@debian:~# nano /etc/init.d/iptables (copier coller de votre scripts) root@debian:~# chmod +x /etc/init.d/iptables root@debian:~# update-rc.d iptables start 99 2 . stop 00 2 0 1 6 update-rc.d: using dependency based boot sequencing update-rc.d: warning: iptables start runlevel arguments (2) do not match LSB Default-Start values (2 3 4 5) update-rc.d: warning: iptables stop runlevel arguments (2 0 1 6) do not match LSB Default-Stop values (0 1 6) insserv: script service-amule-daemon: service amule-daemon already provided! insserv: warning: script 'firewall' missing LSB tags and overrides root@debian:~#

Mais le parefeu me semble toujours ouvert ???

[code]root@debian:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
ACCEPT tcp – anywhere anywhere tcp dpt:ipp
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT udp – anywhere anywhere udp dpt:sip
ACCEPT udp – anywhere anywhere udp dpts:10000:20000
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT tcp – anywhere anywhere tcp dpt:sip
ACCEPT udp – anywhere anywhere udp dpt:sip
ACCEPT tcp – anywhere anywhere tcp dpt:8585
ACCEPT tcp – anywhere anywhere tcp dpt:4661
ACCEPT udp – anywhere anywhere udp dpt:4712
ACCEPT all – anywhere anywhere
DROP all – 93.175.192.91 anywhere
DROP all – 179.89.26.218.internet.sx.cn anywhere
DROP all – 111.1.45.163 anywhere
DROP all – 116.11.252.194 anywhere
DROP all – 210.56.4.93 anywhere
DROP all – 93.175.192.91 anywhere
DROP all – 58.240.17.250 anywhere
DROP all – fzwyh.njupt.edu.cn anywhere
DROP all – 117.79.91.214 anywhere
DROP all – 116.253.189.130 anywhere
DROP all – 222.92.216.12 anywhere
DROP all – 202.70.136.23 anywhere
DROP all – 200.250.9.210 anywhere

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@debian:~# [/code]

Un petit test

[code]root@debian:~# service iptables status
iptables v1.4.8: no command specified
Try iptables -h' or 'iptables --help' for more information. ############ <START> ############## Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5222 LOG all -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix[INPUT DROP]:’

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all – 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all – 0.0.0.0/0 0.0.0.0/0
############ ##############
/etc/init.d/iptables: 62: Syntax error: “}” unexpected
root@debian:~#
[/code]

Merci.

Supprime les lignes:

[code]### BEGIN INIT INFO

Provides: chillispot et freeradius dans le chroot

Required-Start: $local_fs $network

Required-Stop: $local_fs $remote_fs

Default-Start: 2 3 4 5

Default-Stop: 0 1 6

Short-Description: Wireless & LAN Access Point Controller

Description: ChilliSpot is an open source captive portal

or wireless LAN access point controller.

END INIT INFO[/code]

puis relance la commande :

Ensuite lance :

Après regarde ce que donne :

Bonsoir,

J’ai supprimé les lignes

[code]### BEGIN INIT INFO

Provides: chillispot et freeradius dans le chroot

Required-Start: $local_fs $network

Required-Stop: $local_fs $remote_fs

Default-Start: 2 3 4 5

Default-Stop: 0 1 6

Short-Description: Wireless & LAN Access Point Controller

Description: ChilliSpot is an open source captive portal

or wireless LAN access point controller.

END INIT INFO[/code]

Mais il m’affiche une erreur

root@debian:~# update-rc.d iptables start 99 2 . stop 00 2 0 1 6 update-rc.d: using dependency based boot sequencing insserv: warning: script 'iptables' missing LSB tags and overrides insserv: script iptables: service iptables already provided! insserv: exiting now! update-rc.d: error: insserv rejected the script header root@debian:~#

[code]
root@debian:~# /etc/init.d/iptables start
iptables v1.4.8: no command specified
Try iptables -h' or 'iptables --help' for more information. ############ <START> ############## Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5222 LOG all -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix[INPUT DROP]:’

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all – 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all – 0.0.0.0/0 0.0.0.0/0
############ ##############
/etc/init.d/iptables: 52: Syntax error: “}” unexpected
root@debian:~# [/code]

[code]root@debian:~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all – anywhere anywhere
DROP icmp – anywhere anywhere
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
ACCEPT tcp – anywhere anywhere tcp dpt:ftp
ACCEPT tcp – anywhere anywhere tcp dpt:ftp-data
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT tcp – anywhere anywhere tcp dpt:ipp
ACCEPT tcp – anywhere anywhere tcp dpt:xmpp-client
LOG all – anywhere anywhere LOG level warning prefix `[INPUT DROP]:’

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all – anywhere anywhere
root@debian:~# [/code]
Là je n’ai rien compris, y marche ???

contenu du fichier

root@debian:~# cat -n /etc/init.d/iptables 1 #!/bin/sh 2 3 #Déclaration interface 4 interface=eth0 5 6 7 # Vider les tables actuelles 8 iptables -t filter -F 9 10 # Vider les règles personnelles 11 iptables -t filter -X 12 13 # Interdire toute connexion entrante et sortante 14 iptables -t filter -P INPUT DROP 15 iptables -t filter -P FORWARD DROP 16 iptables -t filter -P OUTPUT ACCEPT 17 18 # Ne pas casser les connexions etablies 19 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 20 iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 21 22 # Autoriser loopback 23 iptables -t filter -A INPUT -i lo -j ACCEPT 24 iptables -t filter -A OUTPUT -o lo -j ACCEPT 25 26 # ICMP (Ping) 27 iptables -t filter -A INPUT -p icmp -j DROP 28 # SSH In 29 iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT 30 iptables -t filter -p tcp --dport 22 -j LOG --log-prefix '[SSH_INPUT]:' 31 32 #Si on veut un serveur FTP 33 iptables -t filter -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT 34 iptables -t filter -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT # port FTP DATA 35 #Si on souhaite installer un serveur Web 36 iptables -t filter -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # faire de même avec le 443 si on veux du https 37 #Si on veut rendre CUPS accessible 38 iptables -t filter -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT 39 #Si on souhaite utiliser Jabber 40 iptables -t filter -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT 41 42 ############################################ LOG ################################################ 43 # Log tous ce qui qui n'est pas accepter par une règles précédente 44 # prés requit : sudo apt-get install sysklogd 45 # echo 'kern.warning /var/log/iptables.log' > /etc/syslog.conf 46 iptables -A INPUT -j LOG --log-level 4 --log-prefix '[INPUT DROP]:' 47 echo "############ <START> ##############" 48 iptables -L -n # commanter pour desactiver l'afichage des règles en cours 49 echo "############ </START> ##############" 50 ################################################################################################# 51 52 } 53 54 stop() { 55 iptables -t filter -F 56 iptables -t filter -X 57 iptables -t filter -P INPUT ACCEPT 58 iptables -t filter -P FORWARD ACCEPT 59 iptables -t filter -P OUTPUT ACCEPT 60 } 61 62 case "$1" in 63 64 start) 65 start 66 echo "firewall IPv4 démarré" 67 ;; 68 69 stop) 70 stop 71 echo "firewall IPv4 stopé" 72 ;; 73 restart) 74 stop && start 75 echo "firewall IPv4 redémarré" 76 ;; 77 status) 78 status 79 /sbin/iptables -L -n 80 RETVAL=? 81 ;; 82 *) 83 echo "Usage $0 {start|stop|restart|status}" 84 exit 1 85 esac 86 87 exit 0 root@debian:~#

Merci.

Essai en mettant :

[code]### BEGIN INIT INFO

Provides: chillispot et freeradius dans le chroot

Required-Start: $local_fs $network

Required-Stop: $local_fs $remote_fs

Default-Start: S

Default-Stop: 0 1 6

Short-Description: Wireless & LAN Access Point Controller

Description: ChilliSpot is an open source captive portal

or wireless LAN access point controller.

END INIT INFO[/code]

puis :

redémarre la machine et fait ensuite un

Bonsoir,

Voila j’ai ajouter dans le fichier

nano /etc/init.d/iptables le contenu suivant

[code]### BEGIN INIT INFO

Provides: chillispot et freeradius dans le chroot

Required-Start: $local_fs $network

Required-Stop: $local_fs $remote_fs

Default-Start: S

Default-Stop: 0 1 6

Short-Description: Wireless & LAN Access Point Controller

Description: ChilliSpot is an open source captive portal

or wireless LAN access point controller.

END INIT INFO[/code]

root@debian:~# update-rc.d iptables start 99 S . stop 00 0 1 6 . update-rc.d: using dependency based boot sequencing insserv: warning: current start runlevel(s) (2 3 4 5) of script `iptables' overwrites defaults (S). insserv: warning: current start runlevel(s) (2 3 4 5) of script `iptables' overwrites defaults (S). insserv: warning: current start runlevel(s) (2 3 4 5) of script `iptables' overwrites defaults (S). insserv: warning: current start runlevel(s) (2 3 4 5) of script `iptables' overwrites defaults (S). insserv: warning: current start runlevel(s) (2 3 4 5) of script `iptables' overwrites defaults (S). insserv: warning: current start runlevel(s) (2 3 4 5) of script `iptables' overwrites defaults (S). insserv: script service-amule-daemon: service amule-daemon already provided! insserv: warning: script 'firewall' missing LSB tags and overrides root@debian:~#
Iptables

[code]root@debian:~# iptables -L -n
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all – 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all – 0.0.0.0/0 0.0.0.0/0
DROP icmp – 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:5222
LOG all – 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix `[INPUT DROP]:’

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all – 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all – 0.0.0.0/0 0.0.0.0/0
root@debian:~# [/code]
Status

[code]root@debian:~# service iptables status
iptables v1.4.8: no command specified
Try iptables -h' or 'iptables --help' for more information. ############ <START> ############## Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5222 LOG all -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix[INPUT DROP]:’

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all – 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all – 0.0.0.0/0 0.0.0.0/0
############ ##############
/etc/init.d/iptables: 63: Syntax error: “}” unexpected
root@debian:~# [/code]

Merci.

Juste après la ligne ( au début du script ):

#Déclaration interface interface=eth0
Ajoute :

start() {
(ds petit oubli)

Sinon, le script se lance bien au démarrage puisque ton input est par défaut en DROP au lieu de ACCEPT.

Bonsoir,

Voilà je l’ai ajouté

13 14 #Déclaration interface 15 interface=eth0 16 17 start() { 18 19 # Vider les tables actuelles 20 iptables -t filter -F

Faut’il que je retape

ou directement

Merci.

juste service iptables restart

ou

/etc/init.d/iptables restart

Bonsoir,

Voila le résultat.

[code]root@debian:~# service iptables restart
iptables v1.4.8: no command specified
Try iptables -h' or 'iptables --help' for more information. ############ <START> ############## Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5222 LOG all -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix[INPUT DROP]:’

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all – 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all – 0.0.0.0/0 0.0.0.0/0
############ ##############
firewall IPv4 redémarré
root@debian:~# [/code]

[code]root@debian:~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all – anywhere anywhere
DROP icmp – anywhere anywhere
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
ACCEPT tcp – anywhere anywhere tcp dpt:ftp
ACCEPT tcp – anywhere anywhere tcp dpt:ftp-data
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT tcp – anywhere anywhere tcp dpt:ipp
ACCEPT tcp – anywhere anywhere tcp dpt:xmpp-client
LOG all – anywhere anywhere LOG level warning prefix `[INPUT DROP]:’

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all – anywhere anywhere
root@debian:~#
[/code]

Mon serveur est protégé maintenant ?
j’ai trois questions :
1/ Si je dois ajouter un port udp ou tcp dans le parefeu que dois-je taper dans le terminal ?
2/ Si je doit supprimer un port udp ou tcp du parefeu que dois-je taper dans le terminal ?
3/ iptables peut il m’afficher les ports tcp et udp traité ?
Merci.

[quote=“xunil2003”]
Mon serveur est protégé maintenant ?
j’ai trois questions :
1/ Si je dois ajouter un port udp ou tcp dans le parefeu que dois-je taper dans le terminal ?
2/ Si je doit supprimer un port udp ou tcp du parefeu que dois-je taper dans le terminal ?
3/ iptables peut il m’afficher les ports tcp et udp traité ?
Merci.[/quote]

Ça semble être bon.
1/ et 2/ ==> indiqué dans le tuto.

3/ # iptables-save

Bonsoir,

Leo-25, merci pour votre script et votre aide.

Donc si je veut :
ouvrir un port tcp

ouvrir un port udp

fermer un port tcp

fermer un port udp

Je pose ses questions pour éviter de me retrouver couillonné.
Car sur le forum sur un autre sujet on me conseille de changer de port ssh suite à des tentatives de connexion.

Je ne vois plus le serveur sur le réseau, le partage de fichier avec samba, depuis la mise en place du parefeu !
je ne sais pas si le port pour Samba est ouvert et si non, lequel est utilisé par Samba, pour pouvoir l’ouvrir ?

Il faut que je vérifie le reste pour :
L’imprimante.
Amule
Asterisk

[code]root@debian:~# iptables-save

Generated by iptables-save v1.4.8 on Tue Feb 26 02:03:08 2013

*filter
:INPUT DROP [2731:212920]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1725:131670]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j DROP
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
-A INPUT -j LOG --log-prefix “[INPUT DROP]:”
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT

Completed on Tue Feb 26 02:03:09 2013

Generated by iptables-save v1.4.8 on Tue Feb 26 02:03:09 2013

*nat
:PREROUTING ACCEPT [6680:501399]
:INPUT ACCEPT [1483:111259]
:OUTPUT ACCEPT [4463:332607]
:POSTROUTING ACCEPT [4463:332607]
COMMIT

Completed on Tue Feb 26 02:03:09 2013

Generated by iptables-save v1.4.8 on Tue Feb 26 02:03:09 2013

*mangle
:PREROUTING ACCEPT [46659:3811888]
:INPUT ACCEPT [46659:3811888]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [14458:3276643]
:POSTROUTING ACCEPT [14547:3293677]
COMMIT

Completed on Tue Feb 26 02:03:09 2013

Generated by iptables-save v1.4.8 on Tue Feb 26 02:03:09 2013

*raw
:PREROUTING ACCEPT [46661:3811968]
:OUTPUT ACCEPT [14461:3277195]
COMMIT

Completed on Tue Feb 26 02:03:09 2013

root@debian:~# [/code]

Merci.

Pour supprimé l’ouverture d’un port, il faut la commenter avec un # devant ou simplement le supprimé. ensuite redémarrage d’iptables et c’est bon.
Sinon, pour samba ajoute :

iptables -A INPUT -p TCP --dport 445 -j ACCEPT # Port 445 (Samba) iptables -t filter -A INPUT -p TCP --dport 139 -j ACCEPT # Port 139 (Samba) iptables -t filter-A INPUT -p UDP --dport 137:138 -j ACCEPT # Port 137 a 138 (Samba)