User Tools

Site Tools


coursieps:20060512

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/
1)
20060120 20 janvier 2006
coursieps/20060512.txt · Last modified: 2013/01/30 17:50 (external edit)