Table of Contents
Syslog
Gestion des logs système (venant des logs des services).
ps ax | grep syslog 2618 ? Ss 0:00 /sbin/syslogd
Configuration dans /etc/syslog.conf
facility.level
facility = type de service
level = niveau d'information:
- debug
- info
- notice
- warning
- error
- critical
- alert
- emergency
Debug = bcp info, emergency = très grave alerte
Redirection vers un machine distante
Il faut d'abord dire au syslog qu'il accepte les logs à distance (remote): Dans /etc/init.d/sysklogd: changer la ligne:
SYSLOGD=""
en
SYSLOGD="-r"
Et redémarrer le service
/etc/init.d/sysklogd restart
Ensuite, sur la machine distante, changer la ligne (si on veut par exemple redireger les logs du service):
lpr.* -/var/log/lpr.log
en:
lpr.* @192.168.2.42
et redémarrer le service.
Pour tester: redémarrer le système d'impression sur la machine distante:
/etc/init.d/lpd restart
et on voit dans le syslog ceci (dernière ligne):
403-15:~# tail -f /var/log/syslog May 12 14:22:01 403-15 exiting on signal 15 May 12 14:22:02 403-15 syslogd 1.4.1#17: restart (remote reception). May 12 14:25:10 403-15 exiting on signal 15 May 12 14:25:11 403-15 syslogd 1.4.1#17: restart (remote reception). May 12 14:25:19 403-15 lpd[1622]: restarted May 12 14:25:19 192.168.2.42 lpd[1622]: restarted May 12 14:27:00 403-15 lpd[1643]: restarted May 12 14:27:00 192.168.2.42 lpd[1643]: restarted May 12 14:27:06 403-15 exiting on signal 15 May 12 14:27:07 403-15 syslogd 1.4.1#17: restart (remote reception). May 12 14:27:36 192.168.2.158 lpd[3366]: restarted
Logrotate
syslog va toujours écrire dans le même fichier, au bout d'un temps, ça prend de la place (partition saturée). logrotate permet d'archiver les logs.
configuration /etc/logrotate.conf et dans le répertoire /etc/logrotate.d/ (pour des services spécifiques)
On peut paramétrer quand faire les rotations de log (défaut = chaque semaine), combien de semaines il garde (défaut = 4 semaines) Pour Apache, c'est chaque semaine mais il garde un an (par défaut). On peut aussi choisir de “roter” quand le fichier de logs atteint une certaine taille.
Logrotate est exécuté par cron:
ls -l /etc/cron.daily/l* -rwxr-xr-x 1 root root 89 2005-05-25 11:49 /etc/cron.daily/logrotate
qui contient:
#!/bin/sh test -x /usr/sbin/logrotate || exit 0 /usr/sbin/logrotate /etc/logrotate.conf
[[VPN]]
Virtual Private Network.
On peut utiliser plusieurs techniques:
- ~IPSec
- PPTP
- SSL que nous allons utiliser avec ~OpenVPN
Installation et configuration de ~OpenVPN
Il faut d'abord générer 2 clefs:
- server.key
403-15:~# openssl genrsa -out server.key
- client.key
403-11:~# openssl genrsa -out client.key
Ensuite, générer 2 demandes de certificat (utiliser cacert.pem):
- client.csa
openssl req -new -key client.key -out client.csr
- server.csa
openssl req -new -key server.key -out server.csr
S'assurer qu'au préalable la machine est déjà une autorité de certification, ou taper:
/usr/lib/ssl/misc/CA.pl -newca
et taper enter à la première question (cf. cours du 1)).
Et enfin, faire les demandes de certificat pour obtenir:
- client.crt
- transférer la demande sur l'autorité de certification:
scp client.csr 192.168.2.42:/root/
- émettre le certificat:
openssl ca -policy policy_anything -out client.crt -infiles client.csr
- transférer le certificat sur la machine cliente:
scp client.crt 192.168.2.158:/root/
- server.crt
openssl ca -policy policy_anything -out server.crt -infiles server.csr
Ensuite, on peut générer sur le serveur une clef Diffie-Hellman (dh1024.pem):
openssl dhparam -out dh1024.pem 1024
Sur le serveur, ajouter un fichier server.conf contenant:
dev tun ifconfig 10.1.0.2 10.1.0.1 remote 192.168.2.158 route 10.1.0.0 255.255.255.0 tls-server dh dh1024.pem ca cacert.pem cert server.crt key server.key
- 1ere ligne: utiliser un tunnel
- 2e ligne: 10.1.0.2 sera celle du serveur et 10.1.0.1 celle à laquelle le client pourra se connecter. Une ligne ifconfig par client.
- 3e ligne: adresse IP du client
Recopier cacert.pem dans le répertoire courant:
cp demoCA/cacert.pem ./
Sur le client, créer un fichier client.conf contenant:
dev tun ifconfig 10.1.0.1 10.1.0.2 remote 192.168.2.42 route 10.1.0.0 255.255.255.0 tls-client ca cacert.pem cert client.crt key client.key
où cacert.pem est la clef publique de l'autorité de certification (il faut donc la recopier sur le client VPN):
scp demoCA/cacert.pem 192.168.2.158:/root/
Finalement, installer openvpn sur les 2 machines (client et serveur):
aptitude install openvpn
Répondre successivement oui et non aux questions.
Utilisation
Lancer le serveur:
openvpn --config server.conf Fri May 12 15:46:28 2006 OpenVPN 2.0 i386-pc-linux [SSL] [LZO] [EPOLL] built on Apr 6 2006 Fri May 12 15:46:28 2006 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port. Fri May 12 15:46:28 2006 WARNING: file 'server.key' is group or others accessible Fri May 12 15:46:28 2006 TUN/TAP device tun0 opened Fri May 12 15:46:28 2006 /sbin/ifconfig tun0 10.1.0.2 pointopoint 10.1.0.1 mtu 1500 Fri May 12 15:46:28 2006 UDPv4 link local (bound): [undef]:1194 Fri May 12 15:46:28 2006 UDPv4 link remote: 192.168.2.158:1194 Fri May 12 15:46:28 2006 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Ensuite lancer le client:
openvpn --config client.conf Fri May 12 15:46:46 2006 OpenVPN 2.0.6 i486-pc-linux-gnu [SSL] [LZO] [EPOLL] built on Apr 5 2006 Fri May 12 15:46:46 2006 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port. Fri May 12 15:46:46 2006 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. Fri May 12 15:46:46 2006 WARNING: file 'client.key' is group or others accessible Fri May 12 15:46:46 2006 TUN/TAP device tun0 opened Fri May 12 15:46:46 2006 /sbin/ifconfig tun0 10.1.0.1 pointopoint 10.1.0.2 mtu 1500 Fri May 12 15:46:46 2006 UDPv4 link local (bound): [undef]:1194 Fri May 12 15:46:46 2006 UDPv4 link remote: 192.168.2.42:1194 Fri May 12 15:46:46 2006 [carl] Peer Connection Initiated with 192.168.2.42:1194 Fri May 12 15:46:47 2006 Initialization Sequence Completed
Sur le serveur, on voit l'établissement de la connexion:
Fri May 12 15:46:42 2006 [toto] Peer Connection Initiated with 192.168.2.158:1194 Fri May 12 15:46:43 2006 Initialization Sequence Completed
S'il y a un serveur web qui tourne sur le serveur VPN (ou mieux, derrière), tester en surfant depuis le client sur le serveur en utilisant l'IP du tunnel:
links http://10.1.0.2/