Firewall opensource et gestion de configuration pour l'infrastructure
1. Firewall et NAC OpenSource
Pr´esentation Clusir-Est
Johan Moreau
IRCAD/IHU
3 juin 2014
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 1 / 37
2. Le monde de l’OpenSource `a notre niveau
Plan
1 Le monde de l’OpenSource `a notre niveau
2 IPTables et PF
3 802.1X et NAC
4 Pourquoi maintenant
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 2 / 37
3. Le monde de l’OpenSource `a notre niveau
Historique
Quelques exemples de soci´et´es ayant choisies des outils UNIX et
opensource :
Outils BSD IPv4 Microsoft 9*
OSX et iOS bas´e sur BSD 4.4
Juniper JunOS bas´e FreeBSD
NetApp DataOnTap bas´e FreeBSD
Google Android
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 3 / 37
4. Le monde de l’OpenSource `a notre niveau
Les fondements
Les motivations :
Acc`es aux sources :
pour v´erifier mais c’est rare
pour corriger si le temps ou si pas d’autres solutions
pour g´erer la p´erennit´e ou l’interop´erabilit´e
avec les jolis contre exemples de Debian, OpenSSL, TrueCrypt( ?)
Licences contaminantes ou non
Adapat´e aux logiciels mais aussi aux donn´ees
Communaut´e d’utilisateurs
Coˆut d’exploitation
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 4 / 37
5. Le monde de l’OpenSource `a notre niveau
Plus que jamais d’actualit´es
Android / Linux
OpenStack / docker
open/libre office
Hadoop
Firefox
Apache
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 5 / 37
6. Le monde de l’OpenSource `a notre niveau
Exemple dans la SSI
Architecture robuste : RAID logiciel, LXC, Xen, Keepalived, Heartbeat
Firewall : IPTables, PF, IPF, NuFW
IDS/HIDS/SIEM : prelude, snort, suricata, bro, ossec, OSSIM, ...
Authentification : FreeRadius, OpenLDAP, Shibboleth, ...
Antivirus/antispam/proxy : ClamAV, SpamAssassin, ASSP, squid, ...
Chiffrement : OpenSSL, GPG, OpenVPN, ...
Renforcement OS : SELinux, AppArmor, ...
Audit : OpenVAS, Metasploit, Nikto, Kismet, ...
Supervision : Nagios/Shinken, Cacti, Munin, ...
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 6 / 37
7. IPTables et PF
Plan
1 Le monde de l’OpenSource `a notre niveau
2 IPTables et PF
3 802.1X et NAC
4 Pourquoi maintenant
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 7 / 37
8. IPTables et PF
Architecture r´eseau mini-campus
Segmenter en VLAN (mˆeme si attaque possible, mˆeme si l´eg`ere
augmentation de la complexit´e du SI, ...) : chez nous 1 VLAN par
entit´e juridique disctince ou par service au sein d’une mˆeme entit´e
(plus tous ceux n´ecessaires au SI lui-mˆeme) > 60
Redondance r´eseau : maillage tr`es fort : 2 `a 3 attachements par
´equipements (802.1ad, VRRP, STP), stack/chassis, 3 rattachements
data, 2 pour la voix
Filtrage `a tout va : ACL r´eseaux, filtrage machines, filtrage r´eseaux
Particularit´es :
Mutliples infog´erences chez nos partenaires
Mutliples domaines d’authentification
Double-stack IP v4/v6
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 8 / 37
9. IPTables et PF
VLAN
Je laisse de cˆot´e les probl´ematiques de t´el´ephonies, visioconf´erence,
reverse-proxy, ...
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 9 / 37
13. IPTables et PF
Le filtrage IP
Un pare-feu (ou firewall) est un ´equipement r´eseau de filtrage agissant au
niveau 2, 3 et 4 du mod`ele OSI (on parle aussi de firewall de
niv7/applicatif avec le DPI).
Son objectif est d’inspecter puis d’appliquer des politiques sur le trafic
r´eseau en fonction de divers crit`eres :
Interface d’entr´eee dans un routeur
Appartenance `a un r´eseau IP
Utilisation d’un protocole de couche transport sp´ecifique
Communication vers des ports / services r´eseaux pr´ecis
Il peut choisir de le d´etruire, le laisser passer, r´epondre qu’il n’est pas
int´eress´e, etc...
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 13 / 37
14. IPTables et PF
Le filtrage IP
Un filtre `a paquets est un programme qui examine l’en-tˆete des
paquets qui passent, et d´ecide du sort du paquet entier.
Sous Linux, le filtrage de paquets s’effectue au niveau du noyau.
Successeur d’Ipchains (noyau linux 2.2) et Ipfwadm (noyau linux 2.0)
Netfilter : architecture de filtrage IP du noyau
IPTables : application de contrˆole de cette architecture
En cours d’´evolution vers nftable
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 14 / 37
15. IPTables et PF
IPtables
Code Listing 1– sch´ema iptables
A p p l i c a t i o n s
. . . . . . . . . . . . . .
. ˆ . |
| | OUTPUT
INPUT | |−−−−+ +−−−>| |
. ˆ .
|
|
d e c i s i o n de
routage −−−−−−−−>| |FORWARD−−+
. ˆ . |
| V
PREROUTING | |−+
. ˆ . | |POSTROUTING
| |
| V
I n t e r f a c e d ’ e n t r e e I n t e r f a c e de s o r t i e
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 15 / 37
16. IPTables et PF
IPtables
La commande iptables sert `a administrer ces fonctionnalit´es de filtrage.
Cette commande accepte de nombreuses options. Pour ajouter des r`egles
de filtrage qui s’applique aux paquets rout´es, la premi`ere forme de la
commande utilis´ee est :
Code Listing 2– iptables avec une r`egle simple
iptables −A FORWARD rule
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 16 / 37
17. IPTables et PF
IPtables
La r`egle suivante autorise les paquets en provenance de l’adresse ip IpSrc,
port PortSrc et `a destination de l’adresse IP IpDst, port PortDst, de
protocole Proto (qui peut ˆetre tcp ou udp).
Code Listing 3– iptables avec autorisation
iptables −A FORWARD −p Proto −s IpSrc/Nbm −−sport PortSrc −d IpDst/Nbm −−
dport PortDst −j ACCEPT
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 17 / 37
18. IPTables et PF
IPtables
La r`egle suivante bloque les paquets en provenance de IpSrc et `a
destination de IpDst, de protocole Proto (qui peut ˆetre tcp, udp ou icmp ;
en l’absence de protocole la r`egle bloquera tous les paquets IP
correspondants).
Code Listing 4– iptables avec refus
iptables −A FORWARD −p Proto −s IpSrc/Nbm −d IpDst/Nbm −j DROP
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 18 / 37
19. IPTables et PF
IPtables
Lorsqu’une r`egle est ajout´ee avec la commande iptables, elle est
imm´ediatement active.
Les ports et le protocole sont optionnels. Ainsi on peut simplement
construire un filtre sur des adresses IP (comme les access-list simples
sur cisco).
iptables supporte l’inspection de paquet via des modules optionnels
(par exemple ip conntrack ftp pour le FTP)
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 19 / 37
20. IPTables et PF
IPtables
Code Listing 5– iptables avec blocage du icmp
# ping −c 1 127.0.0.1
PING 127.0.0.1 (127.0.0.1) : 56 data bytes
64 bytes from 127.0.0.1: icmp seq=0 ttl=64 time=0.2 ms
−−− 127.0.0.1 ping statistics −−−
1 packets transmitted , 1 packets received , 0% packet loss
round−trip min/avg/max = 0.2/0.2/0.2 ms
# iptables −A INPUT −s 127.0.0.1 −p icmp −j DROP
# ping −c 1 127.0.0.1
PING 127.0.0.1 (127.0.0.1) : 56 data bytes
−−− 127.0.0.1 ping statistics −−−
1 packets transmitted , 0 packets received , 100% packet loss
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 20 / 37
21. IPTables et PF
nftable
Am´elioration des performances
Gestion des ensembles
Bas´e sur une pseudo-machine `a ´etat
Migration progressive possible
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 21 / 37
22. IPTables et PF
OpenBSD
Bas´e sur 4.4BSD, orient´e s´ecurit´e
Seulement 2 vuln´erabilit´es `a distance dans l’installation par d´efaut en
quasiment 20 ans
Protection de pages m´emoires (WˆX, ProPolice, StackGhost, ...)
Protection de certains appels syst`emes (strlcpy, ...)
S´eparation/r´evocation de privil`eges, ...
R´eimpl´ementation de logiciels (smptd, ntpd, ssh, pf, ...)
Utilis´e chez nous depuis la version 3.0, d´ecembre 2001
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 22 / 37
23. IPTables et PF
PF sur OpenBSD
FreeBSD, NetBSD, DragonFly BSD, Mac OS X, Apple iOS, QNX
Gestion de configuration atomique
ALTQ, gestion des priorit´es (http>smpt,ipvoice,...)
Pas d’inspection de service (`a faire en userland)
Syntaxe lisible, souple et claire
Redondance (HA) via pfsync/CARP
pf + dhcpd pour bloquer les adresses fix´ees a la main
Exemple de fichier pf.conf
block all pass in on em0 proto tcp from 192.168.0.0/24 to !192.
port 80
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 23 / 37
24. IPTables et PF
PF sur OpenBSD
Ecriture int´eressante :
table <my_network> 192.168.160.0/21, 192.168.199.10
set block-policy drop
pass in quick on proxy inet proto tcp from <proxy_network> to
<fs> port 80
pass in quick on supervision proto udp from <monitor> to <mo-
nitoring_network> port 161
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 24 / 37
25. 802.1X et NAC
Plan
1 Le monde de l’OpenSource `a notre niveau
2 IPTables et PF
3 802.1X et NAC
4 Pourquoi maintenant
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 25 / 37
26. 802.1X et NAC
Multi-OS et Multi-domaine
Nouvelles contraintes :
Multi-OS (Windows XP/7/8, Linux Ubuntu 12.04/14.04, OSX 10.6+)
T´el´ephonie IP avec cˆablage mutualis´e
Multi-domaine d’authentification
Zone filaire invit´ee
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 26 / 37
27. 802.1X et NAC
FreeRadius pour le 802.1X
802.1X
AAA (Authentification : qui me parle ? Authorization : Quelles
autorisations je lui accorde ? Accounting : Que fait-il ?)
Supplicant : le client
Authenticator : le switch dans notre cas
Authentication Server : FreeRadius dans notre cas
FreeRadius
Support EAP (MD5, SIM TLS TTLS, PEAP, MSCHAPv2, ...)
50 dictionnaires vendor-specific
Sait fonctionner avec un backend LDAP,mySQL,SAMBA,PAM,...
Distribution PacketFence dans les cas simples
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 27 / 37
30. 802.1X et NAC
Politique de s´ecurit´e
V´erification de l’utilisateur
Affectation dynamique du VLAN
D´etection de l’OS
En fonction de l’OS, mise en conformit´e
Mise en conformit´e via l’antivirus
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 30 / 37
31. Pourquoi maintenant
Plan
1 Le monde de l’OpenSource `a notre niveau
2 IPTables et PF
3 802.1X et NAC
4 Pourquoi maintenant
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 31 / 37
32. Pourquoi maintenant
Le cloud hybrid et la mobilit´e
Nouveaux acteurs/concepts : Arista/Cumulus Networks
(commutateurs 10G/bits linux natif), virtualisation du stockage
(NetApp, HDS, ...), Scale-Out NAS
Densit´e d’´equipements, d’OS, de logiciels, de donn´ees en explosition
Performance et qualit´e toujours plus importante
Dynamique des entreprises (rachat, fusion, r´eorganisation)
Liaison de plus en plus proche entre logiciels/os/r´eseaux et donc
impact tr`es important sur les ´equipes en charge (tendance m´ethodes
agiles voir devops)
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 32 / 37
33. Pourquoi maintenant
L’automatisation, la seul voie possible
Outils de gestion de configuration/orchestration
Outils tr`es pr´esents dans le monde du d´eveloppement
Orient´es pour l’IT : Puppet, Chef, CfEngine, Saltstack
Exemple avec Saltstack
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 33 / 37
34. Pourquoi maintenant
SaltStack
Un framework d’ex´ecution `a distance (ZMQ/AES256)
Un gestionnaire de configuration centralis´e (YAML/jinja2)
Un outil de Cloud Provisionning
Un gestionnaire de machines virtuelles
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 34 / 37
37. Pourquoi maintenant
La continuit´e d’activit´e, la valeur ajout´ee
Les points forts
Am´elioration des performances / possibilt´e d’´evoluer
Travail en production / flexibilit´e
Travail en maquette
Les ´evolutions
Liaison plus forte avec l’inventaire (glpi/fusioninventory)
Liaison plus forte avec la supervision (shinken,snmp)
D´eveloppement des parties IDS/SIEM
Faire du TDD sur l’infrastructure
Les gros changements `a venir (cloud priv´e/hybrid, explosition des
mat´eriels et donn´ees, ...)
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 37 / 37