26/02/16
Les services réseaux sont des programmes qui tournent en tâche de fond et qui écoutent sur un ou plusieurs ports TCP ou UDP
Un script leur est associé dans ‘/etc/init.d/’
Le fichier ‘/etc/services’ fourni une correspondance entre les noms des services et les numéros de port associés
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)
Le serveur NFS exporte un ou des répertoires de son arborescence
Le client monte le ou les répertoires exportés, ils seront vus comme faisant partie intégrante de l’arborescence
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
Un serveur NIS, (Network Information Service), nommé aussi “Yellow Pages”, permet de centraliser des fichiers de configuration.
Il faut définir un nom de domaine NIS (‘ypdomainname’)
Compiler les fichiers de configuration sous forme de maps à l’aide d’un fichier Makefile
Les maps sont ensuite sont exportées vers les clients
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
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";
};
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’.
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 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 :
Dans un premier temps le serveur et le client s’identifient afin de mettre en place un canal sécurisé.
Dans un second temps le client s’authentifie auprès du serveur pour obtenir une session.
'/etc/ssh/sshd_config'
Permet de se connecter de plusieurs manières:
Mot de passe
Clés asymétriques (rsa ou dsa)
Fonctionnalités offertes par le serveur :
Connexion chiffrée: ‘ssh’
Copie de fichiers chiffrée: ‘scp’
FTP chiffré: ‘sftp’
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 (Network Time Protocol) est un protocole permettant de synchroniser l’horloge entre différentes machines.
script /etc/init.d/ntp
daemon ntp
script /etc/ntp.conf
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:
Synchronisation manuelle de l’heure : ‘ntpdate’
Informations sur la synchronisation : ‘ntpq -p’
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
Script de lancement : ‘/etc/init.d/apache2’
Daemon : ‘apache2’
Fichier de configuration : ‘/etc/apache2/apache2.conf’
/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: 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
Script de lancement : ‘/etc/init.d/vsftpd’
Daemon : ‘vsftpd’
Fichier de configuration : ‘/etc/vsftpd.conf’
Supporte l’embastillement des utilisateurs, TLS, …