Attention il n'y a pas1firewall mais des versions de firewall qui depende de vautre distribution et de sa versions
Et bien sur sa varie parfois sortement
Nmap
Outils permetant de savoir ce qu'il y'a sur le port et si le port est ouvert
filtered: filtré par firewall closed: ouvert mais rien qui ecoute open: ouvert un truc qui ecoute
exemple 1 comme c'est le port stdr mysql nmap presume que c'est mysql neamoin le port est filtré
nmap -sV -p 3306 xxxx
Starting Nmap 6.45 ( http://nmap.org ) at 2014-11-17 08:19 CET
Nmap scan report for xxx (xxx.xxxx.xxx.xxx)
Host is up (0.00034s latency).
rDNS record for xxx.xxx.xxx.xxx: xxx.xxx.fr
PORT STATE SERVICE VERSION
3306/tcp filtered mysql
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
Exemple de reponsse sur une recherche de service sur le port 3306
-sv: essayer de trouver qu'elle service est sur le port
sudo nmap -p 38770 -sV xxxx
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2014-11-14 09:35 CET
Interesting ports on xxx.xxx.fr (xxx.xxx.xxx.xxx
PORT STATE SERVICE VERSION
3306/tcp open mysql MySQL 5.0.95-log
Nmap finished: 1 IP address (1 host up) scanned in 0.039 seconds
nmap -p 389 -sV xxxx.xxx.fr
Starting Nmap 6.00 ( http://nmap.org ) at 2014-11-14 12:31 CET
Nmap scan report for xxxx.xxx.fr (195.221.228.24)
Host is up (0.00026s latency).
rDNS record for 195.221.228.24: web-ensimag.imag.fr
PORT STATE SERVICE VERSION
389/tcp open ldap (Anonymous bind OK)
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.20 seconds
Les zones sons des dossiers de rangement, on créer des regles pour une zone puis on aplique la zone a une interface.
Exception faite des zone dopr,block trusted qui on des significtion reel
ZONE IN OUT
drop drop incom out only filter
block reject incom out only filter
public select incom only out ok
external select incom only out ok
dmz select incom only out ok
work select incom only out ok
home select incom only out ok
trusted all incom all out
La meme chose mais par service
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=ftp
firewall-cmd --info-service=ssh
firewall-cmd --list-services
Reload firewall pour prendre en compte la conf permanent (pour la charger du fichier en ram)
firewall-cmd --reload
Rich format
On peut aussi utiliser un format riche qui mpermet de faire des regles comme iptables
Mais uniquement sur le trfique entrant INPUT
Exemple sur fedora corre 20 pour authoriser le snmp par deux ip
firewall-cmd --get-active-zones
FedoraWorkstation
interfaces: em1 virbr0 virbr0-nic
La zone ce nome FedoraWorkstation
iptables (redhate 4~6)
Meme sur iptables il y'a des conf diferente des redhates et les autres
Stop/Start/Sauver les regles
service iptables start
service iptables save
sauve les regles dans le fichier /etc/sysconfig/iptables
Afficher
Afficher les regles type de vue1 avec num ligne
iptables -L --line-numbers
Affiche les regles avec port 161 vue 2
iptables-save | grep 161
-A INPUT -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -s 129.88.45.78/32 -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -s 129.88.45.78/32 -p udp -m udp --dport 161 -j ACCEPT
D'autre vue diponibles
iptables-saves
service iptables status
Effacer/Delete
Effacer les regles en trop
iptables -D INPUT -p udp -m udp --dport 161 -j ACCEPT
iptables -D INPUT -s 129.88.45.78/32 -p udp -m udp --dport 161 -j ACCEPT
iptables -D OUTPUT 1
-D: delete
INPUT / OUTPUT / FORWARD : les 3 types de regles
Sur les deux premiere on efface en recopiant les lignes et la 3iéme par son numero
Ouvrir un port
Ouvrire le port du snmp
iptables -A INPUT -p udp -s xxx.xxx.xxx.xxx --dport 161 -j ACCEPT
-A: ajoute (INPUT: pour ce qui rentre OUTPUT: ce qui sort)
-p: protocol (udp,tcp,icmp,all)
-s: source (d'ou vient le trafic)
--dport: le port
-j : ce que l'on fais (ACCEPT, REJECT, LOG)
Regles sur une plage d'adresse
-I: ajoute
-D: delete
30: inséré en position 30
192.168.0.0/255.255.255.0 -> (athorise toute les ip de 192.168.0.0 à 192.168.0.255)
iptables -I RH-Firewall-1-INPUT 30 -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 3307 -j ACCEPT
iptables -D RH-Firewall-1-INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 3307 -j ACCEPT
/sbin/service iptables save
Logger
iptables -A OUTPUT -j LOG -!d xxx.xxx.57.0/25 -m state --state NEW --log-uid --log-prefix "iptables" --log-level 4
-m state : on previent que l'on va envoyer des option de status
--state NEW ESTABLISHED INVALID RELATED : different etat possible sur une connection
--log-prefix : prefix du log
--level rsyslog du messages
-!d : on ne log pas cette palge d'ip !! attention -!d a,b done !a ou !b
Pour exclure du login les plages interne accepter le trafique interne avant
iptable -A OUTPUT -j ACCEPT -d xxx.xxx.57.0/25,xxx.xxx.57.224/27
iptables -A OUTPUT -j LOG -m state --state NEW --log-uid --log-prefix "iptables" --log-level 4
Redhate
Attention su redhat les regles sont renome
De plus la derniere regles est du type
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
On jette tous les paquets il faut donc placer c'est regle accept avant
iptables -I RH-Firewall-1-INPUT 10 -p udp -s 129.88.45.78 --dport 161 -j ACCEPT
I: place en 1er (10 -> en dixiéme place)
RH-Fire.... : spécial redhate pour faire chier
Fedora core 20 firewall
configuration arret
firewall-config
sudo service firewalld stop