Configurar un firewall de manera simple con ufw

He encontrado este programa para gestionar el firewall y me ha parecido muy bueno. Este es ufw.

Para instalarlo (está en Squeeze y Sid), aptitude install ufw.
Para ponerlo en funcionamiento a través de SSH, haremos lo siguiente:

ufw default deny
ufw logging on
ufw allow ssh/tcp
ufw enable

Si no lo hacemos por SSH y no queremos abrir ese puerto, omitiremos la línea ufw allow ssh/tcp

Para abrir rangos de puertos:

ufw allow proto tcp to any port 1000:2000

Para permitir un rango de IPs:

ufw allow from 1.2.0.0/16 to any port 1234

Bloquear una IP a un determinado puerto:

ufw insert 1 deny from 1.2.3.4 to any port 1234

El insert 1 es para que la regla DENY vaya antes que la que permite la conexión al puerto 1234.

Hay ejemplos en español en la Wikipedia: http://es.wikipedia.org/wiki/Uncomplicated_Firewall
O en inglés: https://help.ubuntu.com/community/UFW

Cargar reglas iptables automáticamente

Una vez que se apliquen reglas en iptables, se perderán cuando se reinicia el sistema. Para que se mantengan (una vez aplicadas las que queremos), deberemos hacer lo siguiente:

iptables-save > /etc/firewall.conf

Crearemos el archivo /etc/network/if-up.d/iptables y dentro pondremos:

#!/bin/sh
iptables-restore < /etc/firewall.conf

Sólo falta hacerlo ejecutable y listo:

chmod +x /etc/network/if-up.d/iptables

Cualquier cambio que queramos hacer será modificando el archivo /etc/firewall.conf o ejecutando las reglas por comandos y salvarlas de nuevo como al principio:

iptables-save > /etc/firewall.conf

Fuente: http://rackerhacker.com/2009/11/16/automatically-loading-iptables-on-debianubuntu/

Instalar MySQL en una máquina dentro de OpenVZ

Recientemente, para probar, contraté un Virtual Private Server (VPS) con OpenVZ. Tuve problemas para instalar mysql-server porque daba error con InnoDB.

Estuve buscando y encontré la solución: añadir en el fichero /etc/mysql/my.cnf la siguiente línea:

skip-innodb

Como nota final, he de decir que un VPS sobre XEN va infinitamente mejor que uno con OpenVZ. Con OpenVZ se suelen «sobrevender» los recursos mientras que con XEN se reservan para ti los que contratas.

Modificar la fecha en una máquina dentro de XEN

Si la hora está retrasada, aún usando ntpdate no actualizará la fecha. Para ello debemos modificar lo siguiente:

echo 1 > /proc/sys/xen/independent_wallclock
ntpdate-debian

Lo anterior se reseteará cuando se reinicie la máquina. Para que el cambio sea permanente añadiremos lo siguiente en /etc/sysctl.conf:

# Set independent wall clock time
xen.independent_wallclock = 1

Reiniciamos y vemos que está actualizada correctamente.

Buscar rootkits con rkhunter

Se puede examinar fácilmente el sistema en buscar de rootkits. Para ello existe la herramienta rkhunter.

Se encuentra en los repositorios de Debian, asíque es fácil instalarla: aptitude install rkhunter

Ahora haremos un update seguido de la comprobación:

rkhunter --update
rkhunter --check

Para una comprobación no interactiva: rkhunter --check -sk

Cuando acabe, dejará un log en /var/log/rkhunter.log

Espero que no tengáis nada raro!