Firewall et NAC OpenSourcePresentation Clusir-Est
Johan Moreau
IRCAD/IHU
3 juin 2014
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 1 / 37
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
Le monde de l’OpenSource a notre niveau
Historique
Quelques exemples de societes ayant choisies des outils UNIX etopensource :
Outils BSD IPv4 Microsoft 9*
OSX et iOS base sur BSD 4.4
Juniper JunOS base FreeBSD
NetApp DataOnTap base FreeBSD
Google Android
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 3 / 37
Le monde de l’OpenSource a notre niveau
Les fondements
Les motivations :
Acces aux sources :
pour verifier mais c’est rarepour corriger si le temps ou si pas d’autres solutionspour gerer la perennite ou l’interoperabiliteavec les jolis contre exemples de Debian, OpenSSL, TrueCrypt( ?)
Licences contaminantes ou non
Adapate aux logiciels mais aussi aux donnees
Communaute d’utilisateurs
Cout d’exploitation
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 4 / 37
Le monde de l’OpenSource a notre niveau
Plus que jamais d’actualites
Android / Linux
OpenStack / docker
open/libre office
Hadoop
Firefox
Apache
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 5 / 37
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
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
IPTables et PF
Architecture reseau mini-campus
Segmenter en VLAN (meme si attaque possible, meme si legereaugmentation de la complexite du SI, ...) : chez nous 1 VLAN parentite juridique disctince ou par service au sein d’une meme entite(plus tous ceux necessaires au SI lui-meme) > 60
Redondance reseau : maillage tres fort : 2 a 3 attachements parequipements (802.1ad, VRRP, STP), stack/chassis, 3 rattachementsdata, 2 pour la voix
Filtrage a tout va : ACL reseaux, filtrage machines, filtrage reseaux
Particularites :
Mutliples infogerences 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
IPTables et PF
VLAN
Je laisse de cote les problematiques de telephonies, visioconference,reverse-proxy, ...
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 9 / 37
IPTables et PF
VLAN
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 10 / 37
IPTables et PF
VLAN
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 11 / 37
IPTables et PF
VLAN
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 12 / 37
IPTables et PF
Le filtrage IP
Un pare-feu (ou firewall) est un equipement reseau de filtrage agissant auniveau 2, 3 et 4 du modele OSI (on parle aussi de firewall deniv7/applicatif avec le DPI).Son objectif est d’inspecter puis d’appliquer des politiques sur le traficreseau en fonction de divers criteres :
Interface d’entreee dans un routeur
Appartenance a un reseau IP
Utilisation d’un protocole de couche transport specifique
Communication vers des ports / services reseaux precis
Il peut choisir de le detruire, le laisser passer, repondre qu’il n’est pasinteresse, etc...
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 13 / 37
IPTables et PF
Le filtrage IP
Un filtre a paquets est un programme qui examine l’en-tete despaquets qui passent, et decide 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 controle de cette architecture
En cours d’evolution vers nftable
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 14 / 37
IPTables et PF
IPtables
Code Listing 1– schema iptables
App l i c a t i o n s. . . . . . . . . . . . . .
. ˆ . || | OUTPUT
INPUT | |−−−−+ +−−−>| |. ˆ . \| \| \
d e c i s i o n de \r ou tage −−−−−−−−>| |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
IPTables et PF
IPtables
La commande iptables sert a administrer ces fonctionnalites de filtrage.Cette commande accepte de nombreuses options. Pour ajouter des reglesde filtrage qui s’applique aux paquets routes, la premiere forme de lacommande utilisee est :
Code Listing 2– iptables avec une regle simple
iptables −A FORWARD rule
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 16 / 37
IPTables et PF
IPtables
La regle suivante autorise les paquets en provenance de l’adresse ip IpSrc,port PortSrc et a destination de l’adresse IP IpDst, port PortDst, deprotocole 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
IPTables et PF
IPtables
La regle suivante bloque les paquets en provenance de IpSrc et adestination de IpDst, de protocole Proto (qui peut etre tcp, udp ou icmp ;en l’absence de protocole la regle bloquera tous les paquets IPcorrespondants).
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
IPTables et PF
IPtables
Lorsqu’une regle est ajoutee avec la commande iptables, elle estimmediatement active.
Les ports et le protocole sont optionnels. Ainsi on peut simplementconstruire un filtre sur des adresses IP (comme les access-list simplessur 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
IPTables et PF
IPtables
Code Listing 5– iptables avec blocage du icmp
# ping −c 1 127.0.0.1PING 127.0.0.1 (127.0.0.1) : 56 data bytes64 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 lossround−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.1PING 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
IPTables et PF
nftable
Amelioration des performances
Gestion des ensembles
Base sur une pseudo-machine a etat
Migration progressive possible
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 21 / 37
IPTables et PF
OpenBSD
Base sur 4.4BSD, oriente securite
Seulement 2 vulnerabilites a distance dans l’installation par defaut enquasiment 20 ans
Protection de pages memoires (WX, ProPolice, StackGhost, ...)
Protection de certains appels systemes (strlcpy, ...)
Separation/revocation de privileges, ...
Reimplementation de logiciels (smptd, ntpd, ssh, pf, ...)
Utilise chez nous depuis la version 3.0, decembre 2001
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 22 / 37
IPTables et PF
PF sur OpenBSD
FreeBSD, NetBSD, DragonFly BSD, Mac OS X, Apple iOS, QNX
Gestion de configuration atomique
ALTQ, gestion des priorites (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 fixees a la main
Exemple de fichier pf.conf
block all pass in on em0 proto tcp from 192.168.0.0/24 to !192.168.0.0/24
port 80
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 23 / 37
IPTables et PF
PF sur OpenBSD
Ecriture interessante :
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
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
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+)
Telephonie IP avec cablage mutualise
Multi-domaine d’authentification
Zone filaire invitee
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 26 / 37
802.1X et NAC
FreeRadius pour le 802.1X
802.1X
AAA (Authentification : qui me parle ? Authorization : Quellesautorisations 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
802.1X et NAC
VLAN
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 28 / 37
802.1X et NAC
VLAN
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 29 / 37
802.1X et NAC
Politique de securite
Verification de l’utilisateur
Affectation dynamique du VLAN
Detection de l’OS
En fonction de l’OS, mise en conformite
Mise en conformite via l’antivirus
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 30 / 37
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
Pourquoi maintenant
Le cloud hybrid et la mobilite
Nouveaux acteurs/concepts : Arista/Cumulus Networks(commutateurs 10G/bits linux natif), virtualisation du stockage(NetApp, HDS, ...), Scale-Out NAS
Densite d’equipements, d’OS, de logiciels, de donnees en explosition
Performance et qualite toujours plus importante
Dynamique des entreprises (rachat, fusion, reorganisation)
Liaison de plus en plus proche entre logiciels/os/reseaux et doncimpact tres important sur les equipes en charge (tendance methodesagiles voir devops)
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 32 / 37
Pourquoi maintenant
L’automatisation, la seul voie possible
Outils de gestion de configuration/orchestration
Outils tres presents dans le monde du developpement
Orientes pour l’IT : Puppet, Chef, CfEngine, Saltstack
Exemple avec Saltstack
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 33 / 37
Pourquoi maintenant
SaltStack
Un framework d’execution a distance (ZMQ/AES256)
Un gestionnaire de configuration centralise (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
Pourquoi maintenant
SaltStack
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 35 / 37
Pourquoi maintenant
SaltStack
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 36 / 37
Pourquoi maintenant
La continuite d’activite, la valeur ajoutee
Les points forts
Amelioration des performances / possibilte d’evoluer
Travail en production / flexibilite
Travail en maquette
Les evolutions
Liaison plus forte avec l’inventaire (glpi/fusioninventory)
Liaison plus forte avec la supervision (shinken,snmp)
Developpement des parties IDS/SIEM
Faire du TDD sur l’infrastructure
Les gros changements a venir (cloud prive/hybrid, explosition desmateriels et donnees, ...)
Johan Moreau (IRCAD/IHU) Firewall et NAC OpenSource 3 juin 2014 37 / 37