1. Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Sécurité
Sécurité réseau
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Linux LPIC1 – Comptia Linux+
noelmace.com
2. Plan
• Introduction
• Rechercher les ports ouverts sur un serveur
• Les super-serveurs
• Inetd
• Xinetd
• Sécuriser xinetd
• TCP Wrapper
• Configuration du TCP Wrapper
Linux LPIC1 – Comptia Linux+
noelmace.com
3. Introduction
• nécessité de gérer les différents services
• désactivation des serveurs inutiles
• protection des serveurs utiles
Linux LPIC1 – Comptia Linux+
noelmace.com
4. Outils d'analyse du réseau
• nmap : scanner réseau
• netstat : le couteau suisse des statuts réseau
•
tables de routage, stats des interfaces, etc ..
•
obsolète, mais encore très utilisé
- destiné à être remplacé par ss et iproute2.
• lsof : permet de lister les fichiers ouverts
ce qui incluse les connexions réseau
Linux LPIC1 – Comptia Linux+
noelmace.com
5. Rechercher les ports ouverts sur un serveur
• TCP connect scan
$ nmap -sT hostname
$ nmap -sT hostname
• UDP scan
$ nmap -sU hostname
$ nmap -sU hostname
• afficher les connections actives
# netstat [-ap | -lp]
# netstat [-ap | -lp]
-a : all
-l : listening (n'afficher que les sockets à l'écoute)
-p : programme (affiche le PID et le nom du programme)
ou encore
# lsof -i [46][protocol][@hostname|hostaddr][:service|port]
# lsof -i [46][protocol][@hostname|hostaddr][:service|port]
exemple
# lsof -i :ftp
# lsof -i :ftp
Linux LPIC1 – Comptia Linux+
noelmace.com
6. Désactiver les services inutiles
• cf sysVinit scripts & runlevels
/etc/inittab
•
exemple : désactiver le login via modem
S0:2345:respawn:/usr/sbin/mgetty -F -s 57600 /dev/ttyS0
•
S0:2345:respawn:/usr/sbin/mgetty -F -s 57600 /dev/ttyS0
/etc/init.d
• fichiers de configuration du super-serveur
Linux LPIC1 – Comptia Linux+
noelmace.com
7. Les super-serveurs
• Permettent de le lancer un service que si nécessaire
en réponse à une première demande de client réseaux
• avantage
minimise le nombre de démons peu fréquemment utilisés
d'où économie de ressources
• défaut
légère latence lors du démarrage
• conseil : désactiver tout de même un maximum de services
"si je ne connais pas, je désactive" (en se documentant un peu avant tout de même)
Linux LPIC1 – Comptia Linux+
noelmace.com
9. inetd
• InterNET Daemon
• /etc/inetd.conf + /etc/inetd.d/
une socket protocol (no)wait utilisateur programme args
service socket protocol (no)wait utilisateur programme args
service ligne par service
Exemple
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd -l
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd -l
Linux LPIC1 – Comptia Linux+
noelmace.com
10. inetd.conf : détails
• nom du service : cf /etc/services
• wait|nowait
indique si le démon invoqué par inetd est capable ou non de gérer son propre socket
wait : fournir plusieurs sockets à un démon
• type de socket : type de connection attendue
flux
•
(stream)
nowait : un démon enfant pour chaquet nouveau socket
•
pour stream
(raw)
• utilisateur : sous lequel le démon est exécuté
généralement root
parfois (pour sécu) daemon ou nobody
encapsulation directe dans IP - IGMP, OSPF, ICMP
paquets
•
pour dgram
(dgram)
non fiable - UDP
rangées
•
bidirectionnelle fiable - TCP
datagram
•
•
séquentiels (seqpacket)
similaire à stream mais sans fragmentation des paquets
• programme-serveur
tcp
(tcp4), tcp6, udp (udp4), udp6, tcp46, udp46
chemin complet vers le démon
• protocole
internal si interne à inetd
peu être le TCP Wrapper (ex: tcpd)
• arg
Linux LPIC1 – Comptia Linux+
arguments du programme
noelmace.com
11. xinetd
• eXtended InterNET Daemon
plus sécurisé
• /etc/xinetd.conf + /etc/xinetd.d/
Exemple
service ftp
service ftp
{
{
socket_type = stream
socket_type = stream
protocol = tcp
protocol = tcp
wait = no
wait = no
user = root
user = root
server = /usr/sbin/in.ftpd
server = /usr/sbin/in.ftpd
server_args = -l
server_args = -l
disable = yes
disable = yes
}
}
Linux LPIC1 – Comptia Linux+
noelmace.com
12. Sécuriser xinetd
bind = adresse-IP
bind = adresse-IP
# n'écouter que sur une interface
# n'écouter que sur une interface
# surtout utile pour les routerus
# surtout utile pour les routerus
only-from = adresse-IP
only-from = adresse-IP
no-access = adresse-IP
no-access = adresse-IP
access-time = hh:mm-hh:mm
access-time = hh:mm-hh:mm
# heures durant lesquelles le serveur est accessible
# heures durant lesquelles le serveur est accessible
# attention : heure de login
# attention : heure de login
# ie. si quelqu'un se log à 16:59 il pourra continuer à
# ie. si quelqu'un se log à 16:59 il pourra continuer à
# l'utiliser ensuite
# l'utiliser ensuite
Linux LPIC1 – Comptia Linux+
noelmace.com
13. TCP Wrappers : introduction
• permet de contrôler les accès aux démons réseaux
ACLs réseaux, basées sur l'hôte
•
nom, adresse IP (de sous-réseau) ou ident
•
ie. les tentatives de connexion sur une machine donnée
• créé par Dutchman Wietse Venema - 1990
du Department of Mathematics and Computer Science - Eindhoven University of Technology (Pays-bas)
pour monitorer l'activité d'un cracker
maintenue jusqu'à 1995
•
1 juin 2001 : licence BSD
• A l'origine, seulement disponible pour les super-serveurs
via tcpd
aujourd'hui disponible pour tout démon lié à la bibliothèque /usr/lib/libwrap.a
•
sshd, xinetd, sendmail, etc ...
• avantages par rapport au contrôle d'accès intégrés aux démons
reconfiguration à chaud des règles de filtrage
pas besoin de redémarrer le démon
approche globale
Linux LPIC1 – Comptia Linux+
noelmace.com
15. Configuration du TCP Wrapper
• fichiers /etc/hosts.allow et hosts.deny
daemon-list : client-list
daemon-list : client-list
• daemon-list : cf /etc/services
peut indiquer tout les démons : mot clé ALL
• client-list : nom ou adresse IP
hôte
•
nom ou adresse IP
réseau
•
•
.nom ou adresse IP.
exemples : .luna.edu ou 192.168.7. (ie 192.168.7.0/24)
ALL
• + EXCEPT (pour faire une exception)
exemple : 192.168.7. EXCEPT 192.168.7.105
Linux LPIC1 – Comptia Linux+
noelmace.com
16. Ce qu’on a couvert
• sujet 110-01 : Effectuer des tâches d'administration de sécurité
Être capable d'utiliser nmap et netstat pour découvrir les ports ouverts sur un
système. (nmap netstat lsof)
• sujet 110-02 : Configurer la sécurité d'un hôte
Comprendre le rôle du TCP wrapper. (/etc/hosts.allow /etc/hosts.deny)
Désactiver les services réseau inutilisés.
•
/etc/xinetd.d/* /etc/xinetd.conf /etc/inetd.d/* /etc/inetd.conf
•
/etc/inittab /etc/init.d/*
Linux LPIC1 – Comptia Linux+
noelmace.com
17. Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.
Linux LPIC1 – Comptia Linux+
noelmace.com