Upload
yair
View
23
Download
0
Embed Size (px)
DESCRIPTION
Environnement Linux : 2ème partie. Le démarrage Le réseau Les services La sécurité. Environnement Linux : démarrage. Le démarrage Les familles Unix : on en distingue 2 : Système V - Notion de niveaux de démarrage ou “runlevel” - /etc/init.d : scripts de démarrage et d'arrêt des services - PowerPoint PPT Presentation
Citation preview
Le démarrageLe réseauLes servicesLa sécurité
Environnement Linux : 2ème partie
Le démarrage
Les familles Unix : on en distingue 2 :Système V
- Notion de niveaux de démarrage ou “runlevel”- /etc/init.d : scripts de démarrage et d'arrêt des services- /etc/rcX.d (X compris entre 0 et 6) : liens vers ces scripts- Debian, Fedora, Mandriva, ...
BSD- Pas de “runlevel”- Modification du fichier “/etc/rc.conf” pour sélectionner les programmes lancés au démarrage- FreeBSD, Gentoo (mixte), ...
Environnement Linux : démarrage
Le système V
Les niveaux de démarrage (répertoires /etc/rcX.d)- Niveau 0 : arrêt de la machine- Niveau 1 : session mono-utilisateur- Niveaux 2-5 : niveaux de démarrage personnalisables- Niveau 6 : redémarrage de la machine- Commandes : “init <niveau>”,”halt”, “reboot”, ...
Par défaut démarrage en niveau 2 ou 3.=> on place dans /etc/rc2.d ou /etc/rc3.d les liens (raccourcis) vers les scripts à exécuter au démarrageOption définie dans le fichier “/etc/inittab”
Environnement Linux : démarrage
Le réseau sous Linux
Environnement Linux
Le réseau sous LinuxLister les interfaces réseau : “ifconfig”
# ifconfigeth0 Link encap:Ethernet HWaddr 00:50:FC:9E:F3:63 inet addr:130.79.44.230 Bcast:130.79.44.255 Mask:255.255.255.192 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:486806 errors:0 dropped:0 overruns:0 frame:0 TX packets:596443 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:133587193 (127.3 Mb) TX bytes:462404090 (440.9 Mb)
Interrupt:11 Base address:0x4000
Configurer une interface : => ifconfig <interface> <IP> netmask <masque> broadcast <IP broadcast>
“ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255”
Environnement Linux : le réseau
Le réseau sous LinuxLa table de routage :
# route -nTable de routage IP du noyauDestination Passerelle Genmask Metric Ref Use Iface130.79.44.192 0.0.0.0 255.255.255.192 0 0 0 eth00.0.0.0 130.79.44.254 0.0.0.0 0 0 0 eth0
Machines sur le même réseau- pas besoin de « route » ni de machine intermédiaire : les
machines sont contactées directement
La route par défaut (“default gateway” ou “passerelle par défaut”)- porte de sortie des communications vers l'extérieur- ajouter la route par défaut :
“route add default gw <adresse_ip>”
Environnement Linux : le réseau
La commande “ping”
Commande standard sous Linux et Windows (et ailleurs)
Permet de tester la présence d'une machine sur le réseau
Le « ping » peut être bloqué par un pare-feu !
Exemple :
$ ping 130.79.44.228PING 130.79.44.228 (130.79.44.228) 56(84) bytes of data.64 bytes from 130.79.44.228: icmp_seq=1 ttl=64 time=1.71 ms64 bytes from 130.79.44.228: icmp_seq=2 ttl=64 time=0.302 ms64 bytes from 130.79.44.228: icmp_seq=3 ttl=64 time=0.310 ms64 bytes from 130.79.44.228: icmp_seq=4 ttl=64 time=0.314 ms...
Environnement Linux : le réseau
La commande “traceroute”
Permet de baliser le chemin IP d'une machine à une autreNombreuses options (cf. “man traceroute”)Pas toujours évident : des systèmes bloquent ce genre de commandes (pare-feu, routeur, ...)
Exemple :
# traceroute www.linux.frtraceroute to www.linux.fr (81.80.188.244), 30 hops max, 38 byte packets 1 crc-rc1-ge-1-2-0-100 (130.79.44.253) 0.544 ms 0.456 ms 0.466 ms 2 strasbourg-g3-0.cssi.renater.fr (193.51.184.42) 0.338 ms 0.356 ms 0.372 ms 3 besancon-pos2-0.cssi.renater.fr (193.51.180.9) 13.477 ms 13.400 ms
13.321 ms 4 dijon-pos1-0.cssi.renater.fr (193.51.179.229) 13.431 ms 13.376 ms
13.328 ms 5 193.51.180.46 (193.51.180.46) 13.314 ms 13.282 ms
13.203 ms 6 193.51.185.29 (193.51.185.29) 135.013 ms 131.224 ms 129.132
ms...
Environnement Linux : le réseau
La commande “netstat”
Permet de voir les connexions établies (locales ou avec l'extérieur)Permet de voir les services en attentes (notion de “ports ouverts”)
Exemple :
# netstat -apnConnexions Internet actives (serveurs et établies)Proto Adresse locale Adresse distante Etat PID/Program name
tcp 0.0.0.0:80 0.0.0.0:* LISTEN 5936/apachetcp 0.0.0.0:113 0.0.0.0:* LISTEN 839/inetdtcp 0.0.0.0:22 0.0.0.0:* LISTEN 2309/sshdtcp 130.79.44.230:22 130.79.44.224:58516 ESTABLISHED 14271/sshd...
Environnement Linux : le réseau
Les services
Environnement Linux
Les “services” ou “démons”
Qu'est ce qu'un “démon” ?
Comparable aux services offerts par un serveur Windows
C'est un processus qui tourne en tâche de fond- Attente de connexion sur un port défini (fichier “/etc/services”)- Réseau : NFS, Samba, Apache, sshd...- Gestion du système : cron, syslog, ntp...
Lancé au démarrage- Via les scripts placés dans “/etc/init.d”- Selon le niveau de démarrage “/etc/rcX.d”
Environnement Linux : Les services
Le démon spécial “inetd”inetd est un “super démon”
- Permet de lancer d'autres démons à la demande- Fonctionne uniquement avec les services réseaux
inetd est habituellement lancé dès le démarrage de LinuxFichier de configuration de inetd : “/etc/inetd.conf” :
# /etc/inetd.confftp streamtcp nowait root /usr/libexec/ftpd ftpd -lnetbios-ssn streamtcp nowait root /usr/local/sbin/smbd smbdnetbios-ns dgram udp wait root /usr/local/sbin/nmbdnmbd
Permet de diminuer la consommation des ressourcesPermet de contrôler l'accès distant aux démons
Environnement Linux : Les services
Le service de planification de tâches
Existe aussi sous Windows !Nom : cron ou plus communément « crontab »Lancé au démarrage
Permet de programmer l'exécution de tâches diverses et variées :- Rotation des fichiers de journalisation - Vérification des quotas d'utilisation d'espace disque- Redémarrage des services- ...
Fichiers de configurations- “/etc/crontab” pour le crontab “global”- dans /var/cron pour chaque utilisateur
Environnement Linux : Les services
Le service de planification de tâches
Modification pour l'utilisateur courant : “crontab -e”
Modification pour un autre utilisateur : “crontab -e -u <utilisateur>”
Lister le crontab d'un utilisateur :“crontab -l -u <utilisateur>”
Environnement Linux : Les services
Le service de planification de tâchesExemple de fichier crontab :
# /etc/crontab
0 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly0 0 * * * root rm -f /var/spool/cron/lastrun/cron.daily0 0 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly0 0 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly
# mrtg et suppression des fichiers temporaires/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg0 2 * * * root rm -rf /tmp/*
les 5 premiers champs sont respectivement : minute, heure, jour, mois, jour de la semaine (de 0=dimanche à 6=samedi)
le sixième champ indique le propriétaire du processus (uniquement pour /etc/crontab)
“man crontab” pour plus de détails
Environnement Linux : Les services
Le service de journalisation : syslog“journaux” ou “logs” situés dans “/var/log”
Exemple : $ ls /var/logapache2 emerge.log lpr.log.6.bz2 mail.warn.1.bz2 syslog.0auth.log imapd.log mail.err mail.warn.2.bz2 syslog.1.bz2auth.log.0 imapd.log.0 mail.err.0 mail.warn.3.bz2 syslog.2.bz2auth.log.1.bz2 imapd.log.1.bz2 mail.err.1.bz2 mail.warn.4.bz2 syslog.3.bz2auth.log.2.bz2 imapd.log.2.bz2 mail.err.2.bz2 mail.warn.5.bz2 syslog.4.bz2auth.log.3.bz2 imapd.log.3.bz2 mail.err.3.bz2 mail.warn.6.bz2 syslog.5.bz2auth.log.4.bz2 imapd.log.4.bz2 mail.err.4.bz2 messages syslog.6.bz2auth.log.5.bz2 imapd.log.5.bz2 mail.err.5.bz2 messages.0 user.logauth.log.6.bz2 imapd.log.6.bz2 mail.err.6.bz2 messages.1.bz2 user.log.0cron.log kern.log mail.info messages.2.bz2 user.log.1.bz2cups kern.log.0 mail.info.0 messages.3.bz2 user.log.2.bz2daemon.log kern.log.1.bz2 mail.info.1.bz2 messages.4.bz2 user.log.3.bz2daemon.log.0 kern.log.2.bz2 mail.info.2.bz2 messages.5.bz2 user.log.4.bz2daemon.log.1.bz2 kern.log.3.bz2 mail.info.3.bz2 messages.6.bz2 user.log.5.bz2daemon.log.2.bz2 kern.log.4.bz2 mail.info.4.bz2 mrtg user.log.6.bz2
● Fichiers texte● « Rotation » des fichiers : on archive et on compresse le fichier
courant (commandes tar et bzip2) et on en crée un nouveau : automatique !
Environnement Linux : Les services
D'autres services très répandusServeur HTTP : Apache : afficher des pages Web classiques
“shell” sécurisé : SSH (données cryptées) : prise de contrôle à distance
Serveur FTP : proftpd, ... : transfert de fichiers
Serveur de noms (DNS) : Bind : translation adresse IP <-> nom
Messagerie (email) : Sendmail, Exim, Postfix, ...
Attribution d'adresses IP : DHCP
Bases de données : MySQL, PostgreSQL, ...
Horloge réseau (Network Time Protocol) : ntpd...
Environnement Linux : Les services
Un peu de sécurité...
Environnement Linux
Pas de virus mais de nombreuses menaces tout de même ! Prises de contrôle, vol ou destruction de données, « déni de service », ...
Vérifier les services actifs et n'autoriser QUE ceux que l'on veutNettoyage du fichier “/etc/inetd.conf”Suppression des services non désirésContrôler les droits d'accès
Comme sous Windows, effectuer des mises à jour régulières : permet de réduire les risques
Utiliser des services chiffrés lorsque c'est possible : évite l'espionnage
Mise en place de règles de filtrage (Iptables) : bloque certaines intrusions
Communication primordiale autour des utilisateurs (bonne chance)
Veille technologique : restez informés ! Nouvelles failles, virus, lois, ...
Environnement Linux : la sécurité