Instal·lar i configurar Tripwire a Debian

Instal·lem:

$ sudo apt-get update
$ sudo apt-get install tripwire

Diem que sí a tot. Ens preguntarà dues contrassenyes:

  • site key: Clau pels fitxers de configuració.
  • local key: Necessària per executar els binaris.

Inicialitzem la base de dades:

$ sudo tripwire --init

Saltaran molts errors de fitxers no trobats, per guardar aquesta llista executem:

$ sudo sh -c 'tripwire --check | grep Filename > test_results'

Ara hem d’eliminar tots aquests fitxers del fitxer de polítiques:

$ sudo nano /etc/tripwire/twpol.txt

I comentem tots els fitxers que hagin estat retornats per la comanda d’abans, fins que arribem als de /proc. Aquella secció hauria de quedar així:

{
/dev -> $(Device) ;
/dev/pts -> $(Device) ;
#/proc -> $(Device) ;
/proc/devices -> $(Device) ;
/proc/net -> $(Device) ;
/proc/tty -> $(Device) ;
/proc/sys -> $(Device) ;
/proc/cpuinfo -> $(Device) ;
/proc/modules -> $(Device) ;
/proc/mounts -> $(Device) ;
/proc/dma -> $(Device) ;
/proc/filesystems -> $(Device) ;
/proc/interrupts -> $(Device) ;
/proc/ioports -> $(Device) ;
/proc/scsi -> $(Device) ;
/proc/kcore -> $(Device) ;
/proc/self -> $(Device) ;
/proc/kmsg -> $(Device) ;
/proc/stat -> $(Device) ;
/proc/loadavg -> $(Device) ;
/proc/uptime -> $(Device) ;
/proc/locks -> $(Device) ;
/proc/meminfo -> $(Device) ;
/proc/misc -> $(Device) ;
}

Finalment, comentem /var/lock i /var/run.

Un cop el tenim editat tal com el volem, hem d’implementar-lo i reinicialitzar la base de dades:

$ sudo twadmin -m P /etc/tripwire/twpol.txt
$ sudo tripwire --init

Comprovem que estigui tot en ordre:

$ sudo tripwire --check

Eliminem fitxers que hem creat:

$ sudo rm test_results
$ sudo rm /etc/tripwire/twpol.txt

Per tornar a crear el text pla si ens fa falta:

$ sudo sh -c 'twadmin --print-polfile > /etc/tripwire/twpol.txt'

Prova de l’avís per correu-e

Instal·lem:

$ sudo apt-get install mailutils

Comprovem que funcioni:

$ sudo tripwire --check | mail -s "Tripwire report for `uname -n`" correu@exemple.com

Per acceptar el programari que acabem d’instal·lar:

$ sudo tripwire --check --interactive

Aquesta comanda realitzarà les proves que hem vist fins ara, però al final obre un fitxer amb la sortida. Aquest fitxer és llarg i conté molts detalls que ara mateix no ens fan falta. Ens hem de centrar amb la part de dalt, que apareix una casella marcada amb una X al costat dels fitxers modificats. Si no volem que a la propera sincronització de la base de dades aquests fitxers s’afegeixin els hem de desmarcar (en principi els volem marcats).

Configuració Cron

Bàsicament és la comanda que hem utilitzat abans però posant-la al Cron perquè s’executi cada dia. Si algun dia rebem algun informe, haurem d’entrar al servidor i operar en funció del que hagi passat.

Editem el crontab:

$ sudo crontab -e

L’executarem a les 03:30 del matí:

30 3 * * * /usr/sbin/tripwire --check | mail -s "Tripwire report for `uname -n`" correu@exemple.com

SSH amb claus i sense contrasenya

Primer de tot creem el parell de claus a la màquina client:

$ ssh-keygen -t rsa

Si no volem posar contrasenyes ni res en entrar, quan ens sol·liciti un “passprashe” ho deixem en blanc. Un cop tinguem el parell de claus hem de copiar la pública al servidor:

$ scp ~/.ssh/id-rsa.pub usuari@exemple.com:/home/usuari

Ens connectem al servidor:

$ ssh usuari@exemple.com

Ja dins del servidor:

$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
$ cp id_rsa.pub ~/.ssh

Posem els permisos en ordre:

$ sudo chmod 700 ~/.ssh
$ sudo chmod 600 ~/.ssh/authorized_keys

Editem la configuració de l’openssh-server:

$ sudo nano /etc/ssh/sshd_config

Les següents línies han de quedar així:

Protocol 2
ServerKeyBits 2048
PermitRootLogin no
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no
UsePAM no

Reiniciem el servei:

$ sudo /etc/init.d/ssh restart

Per connectar-nos, des del client fem:

$ sudo ssh -i id_rsa usuari@exemple.com

Això només permet connexions des de l’ordinador on s’ha generat la clau, si volem acceptar-ne des de qualsevol dispositiu:

$ nano ~/.ssh/authorized_keys

Al final de la clau pública hi ha el nom de màquina on s’ha generat la clau, el canviem per *.

També podem limitar els usuaris que es poden connectar per SSH afegint la següent línia a /etc/ssh/sshd_config:

AllowUsers usuari