190 likes | 299 Views
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
E N D
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 • - /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émarrage • Option définie dans le fichier “/etc/inittab”
Environnement Linux • Le réseau sous Linux
Environnement Linux : le réseau • Le réseau sous Linux • Lister les interfaces réseau : “ifconfig” • # ifconfig • eth0 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 Linux • La table de routage : • # route -n • Table de routage IP du noyau • Destination Passerelle Genmask Metric Ref Use Iface • 130.79.44.192 0.0.0.0 255.255.255.192 0 0 0 eth0 • 0.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.228 • PING 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 ms • 64 bytes from 130.79.44.228: icmp_seq=2 ttl=64 time=0.302 ms • 64 bytes from 130.79.44.228: icmp_seq=3 ttl=64 time=0.310 ms • 64 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 autre • Nombreuses options (cf. “man traceroute”) • Pas toujours évident : des systèmes bloquent ce genre de commandes (pare-feu, routeur, ...) • Exemple : • # traceroute www.linux.fr • traceroute 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 -apn • Connexions 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/apache • tcp 0.0.0.0:113 0.0.0.0:* LISTEN 839/inetd • tcp 0.0.0.0:22 0.0.0.0:* LISTEN 2309/sshd • tcp 130.79.44.230:22 130.79.44.224:58516 ESTABLISHED 14271/sshd • ...
Environnement Linux • Les services
Environnement Linux : Les services • 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 Linux • Fichier de configuration de inetd : “/etc/inetd.conf” : • # /etc/inetd.conf • ftp streamtcp nowait root /usr/libexec/ftpd ftpd -l • netbios-ssn streamtcp nowait root /usr/local/sbin/smbd smbd • netbios-ns dgram udp wait root /usr/local/sbin/nmbd nmbd • Permet de diminuer la consommation des ressources • Permet 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âches • Exemple de fichier crontab : • # /etc/crontab • 0 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly • 0 0 * * * root rm -f /var/spool/cron/lastrun/cron.daily • 0 0 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly • 0 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.cfg • 0 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/log • apache2 emerge.log lpr.log.6.bz2 mail.warn.1.bz2 syslog.0 • auth.log imapd.log mail.err mail.warn.2.bz2 syslog.1.bz2 • auth.log.0 imapd.log.0 mail.err.0 mail.warn.3.bz2 syslog.2.bz2 • auth.log.1.bz2 imapd.log.1.bz2 mail.err.1.bz2 mail.warn.4.bz2 syslog.3.bz2 • auth.log.2.bz2 imapd.log.2.bz2 mail.err.2.bz2 mail.warn.5.bz2 syslog.4.bz2 • auth.log.3.bz2 imapd.log.3.bz2 mail.err.3.bz2 mail.warn.6.bz2 syslog.5.bz2 • auth.log.4.bz2 imapd.log.4.bz2 mail.err.4.bz2 messages syslog.6.bz2 • auth.log.5.bz2 imapd.log.5.bz2 mail.err.5.bz2 messages.0 user.log • auth.log.6.bz2 imapd.log.6.bz2 mail.err.6.bz2 messages.1.bz2 user.log.0 • cron.log kern.log mail.info messages.2.bz2 user.log.1.bz2 • cups kern.log.0 mail.info.0 messages.3.bz2 user.log.2.bz2 • daemon.log kern.log.1.bz2 mail.info.1.bz2 messages.4.bz2 user.log.3.bz2 • daemon.log.0 kern.log.2.bz2 mail.info.2.bz2 messages.5.bz2 user.log.4.bz2 • daemon.log.1.bz2 kern.log.3.bz2 mail.info.3.bz2 messages.6.bz2 user.log.5.bz2 • daemon.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épandus • Serveur 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 • Un peu de sécurité...
Environnement Linux : la sécurité • 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 veut • Nettoyage du fichier “/etc/inetd.conf” • Suppression des services non désirés • Contrô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, ...