C07-services - COURS LINUX - MTN

Guillaume ASTIER

26/02/16

Introduction



Ils peuvent être surveillés grace aux commandes : 

‘netstat’ ou ‘lsof’ :

 # /etc/init.d/ssh start
 [ ok ] Starting OpenBSD Secure Shell server: sshd.

 # netstat -anet | grep ":22"
 tcp   0   0 0.0.0.0:22       0.0.0.0:*               LISTEN     
 tcp   0   0 192.168.0.45:22  192.168.0.14:39459 ESTABLISHED

 # lsof -i tcp:22
 COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
 sshd    2372 root   3u  IPv4   6732  0t0  TCP *:ssh (LISTEN)
     

Network FS



Sur le serveur, les arborescences a exporter sont placées dans le fichier ‘/etc/exports’ :

 # cat /etc/exports
 /home            hal(rw,root_squash) black(rw,root_squash)
 /export/tmp      *(rw,no_root_squash)
 /export/docs     *(ro)
     

Le client peut afficher les arborescences exportés par le serveur avec la commande

‘showmount’ :

 # showmount -e 192.168.0.10
     

Et les monter avec la commande ‘mount’ ou via le fichier ‘/etc/fstab’ :

 # mount 192.168.0.10:/home /home
 # cat /etc/fstab
 [...]
 192.168.0.10:/home  /home  nfs4  default  0  0
     

Samba permet d’utiliser les protocoles CIFS (Common Internet File System) et NetBIOS utilisés par les systèmes Windows. Il est donc très utilisé dans le cadre de réseaux hétérogènes.


Sur le serveur, les arborescences a exporter sont placées dans le fichier ‘/etc/samba/smb.conf’ :

 # cat /etc/samba/smb.conf
 [docs] 
 comment = Documentation Samba Server 
 path = /home/docs
 read only = Yes 
 guest only = Yes
   

Le client peut les monter avec la commande ‘mount’ ou via le fichier ‘/etc/fstab’ :

 # mount //192.168.0.10/docs /samba/docs
 # cat /etc/fstab
 [...]
 //192.168.0.10/docs /samba/docs  cifs  guest  0 0
     

NIS


Un serveur NIS, (Network Information Service), nommé aussi “Yellow Pages”, permet de centraliser des fichiers de configuration.

Un client doit alors rejoindre le domaine NIS pour exploiter les fichiers de configurations.

 # cat /etc/yp.conf
 domain isen server 192.168.0.10
 domain isen server 192.168.0.11
   

La commande ‘ypwhich’ permet de vérifier le serveur NIS affecté au poste client.

 # ypwhich
 192.168.0.11
   

La commande ‘ypcat’ permet d’afficher les fichiers de configuration :

 # ypcat passwd
 kirk:x:10050:1000::/home/kirk:/bin/sh
 jasmine:x:10052:1004::/home/jasmine:/bin/bash
   

Le fichier de configuration NSS (Name Service Switch) permet de définir la source à utiliser pour chaque fichiers de configuration :

 # cat /etc/nsswitch.conf
 passwd:         nis files
 group:          nis files
 shadow:         nis files
 hosts:          files dns
   

DNS


Un service DNS (Domain Name System) permet d’obtenir une équivalence entre nom d’hôtes et adresses IP. Le serveur DNS sous Linux s’appelle ‘Bind’.

 # cat /etc/bind/named.conf
 zone "isen.fr" {
   type master;
   file "isen.fr.db";
 };
  
 zone "168.192.in-addr.arpa" {
   type master;
   file "168.192.in-addr.arpa.db";
 };

CUPS


Le serveur d’impression CUPS (Common Unix Printing System) est un serveur d’impression basé sur le protocole ipp. Sa configuration s’effectue depuis un interface web accessible à l’adresse ‘http://localhost:631’.


Le client déclare le serveur d’impression dans le fichier ‘/etc/cups/client.conf’.

 # cat /etc/cups/client.conf
 ServerName 192.168.0.10
     

Il peut ensuite imprimer via des outils graphiques ou les commandes UNIX ‘lp’, ‘lpr’, ‘enscript’. Il peut aussi gérer ses listes d’impressions via les commandes ‘lptstat’ et ‘cancel’.


DHCP


Un serveur DHCP (Dynamic Host Configuration Protocol) permet d’attribuer dynamiquement une adresse IP aux postes présents sur le même LAN. Le protocole est implémenté par le serveur ‘isc-dhcp’ sur Linux.


 # cat /etc/dhcp/dhcpd.conf
 option domain-name "isen.fr" ;
 option domain-name-servers 192.168.0.1 ;
 option routers 192.168.0.1 ;

 subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.50 192.168.0.100 ;
 }
     

SSH


SSH est un protocole permettant à des machines d’établir une communication sécurisée.

L’implémentation libre utilisée par les systèmes Linux est en général OpenSSH.

L’établissement d’une connexion SSH se fait en plusieurs étapes :


'/etc/ssh/sshd_config'


Le fichier de configuration pour ssh server est :

/etc/ssh/sshd_config

 Port 22
 Protocol 2

 PermitRootLogin yes
 StrictModes yes
 RSAAuthentication yes
 PubkeyAuthentication yes
 X11Forwarding yes
 Subsystem sftp /usr/lib/openssh/sftp-server
     

Le fichier de configuration pour ssh client est :

/etc/ssh/ssh_config

Il peut cependant être surchargé avec:

${HOME}/.ssh/config

 Host *
    StrictHostKeyChecking ask
    IdentityFile ~/.ssh/identity
    IdentityFile ~/.ssh/id_rsa
    IdentityFile ~/.ssh/id_dsa
    Port 22
    Protocol 2,1
    Compression no
     

NTP


NTP (Network Time Protocol) est un protocole permettant de synchroniser l’horloge entre différentes machines.


 server 127.127.1.0
 fudge  127.127.1.0 stratum 10
 driftfile /etc/ntp/drift
 restrict 127.0.0.1
 restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
     

Il est géré par le même daemon et le même fichier de configuration que le client.

 # cat /etc/ntp.conf
 server ntp.example.fr prefer
 server ntp1.example.fr
     

Outils de configuration:

HTTP


L’HyperText Transfer Protocol est un protocole de communication client-serveur développé pour le World Wide Web. HTTPS est la variante du HTTP sécurisée par l’usage des protocoles SSL ou TLS.

Il y a de nombreuses implémentations de ce protocole et donc de nombreux serveurs HTTP: ‘apache, lighttpd, nginx, …’


Le serveur apache


/etc/apache2/apache2.conf

 <VirtualHost *:80>
         ServerAdmin webmaster@localhost
         DocumentRoot /var/www
         <Directory /var/www/>
                 Options Indexes FollowSymLinks MultiViews
                 AllowOverride None
                 Order allow,deny
                 allow from all
         </Directory>

         ErrorLog ${APACHE_LOG_DIR}/error.log
 </VirtualHost>
     

FTP


FTP: Définition

Le File Transfert Protocol est un protocole permettant d’échanger des fichiers sur un réseau. Les fichiers sont centralisés sur un serveur.

Initialement trés peu sécurisé, le protocole FTP est toujours utilisé et de plus en plus robuste grâce à l’implémentation de serveurs plus sécurisés (vsFTPd) et l’apparition du protocole FTPS.


FTP: Le serveur vsftpd