Archivo etiqueta ssh

Howto fail2ban en Gentoo Linux

Fail2Ban es un framework escrito en Python, el cual es capaz de correr en sistemas Linux y con firewalls ya funcionando como iptables, TCP Wrapper, etc … Es libre y se distribuye bajo licencia GNU. Su objetivo es leer logs del sistema y banear aquellas IPs que intentan loguear en el sistema un número determinado de veces. Para instalarlo necesitamos tener Python 2.3 o superior.

Instalación y ficheros de configuración.

# Como ya sabemos las instalaciones en Gentoo Linux son sencillas.
emerge fail2ban.
# el fichero de configuración esta localizado en
/etc/fail2ban/fail2ban.conf
# el fichero donde configuraremos los parámetros a configurar está en
/etc/fail2ban/jail.conf
# y los directorios de acciones y filtros a realizar en
/etc/fail2ban/action.d/
/etc/fail2ban/filter.d/
# del fichero de configuración fail2ban.conf lo más importante es indicarle la ruta donde se guardará el log.
logtarget = /var/log/fail2ban.log
# el tiempo en segundos de baneo a una IP.
bantime = 600
# el número de fallos antes de ejecutar un Ban a IP.
maxretry = 3

A continuación muestro 2 ejemplos del fichero jail.conf para comprobar los accesos en los protocolos SSH y FTP usando IPtables.

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
mail-whois[name=SSH, dest=su@email.net]
logpath  = /var/log/auth.log
maxretry = 3

[proftpd-iptables]

enabled  = true
filter   = proftpd
action   = iptables[name=ProFTPD, port=ftp, protocol=tcp]
mail-whois[name=ProFTPD, dest=su@email.net]
logpath  = /var/log/auth.log
maxretry = 3

true indica que deseamos activarlo, que el puerto y protocolo a usar será ssh o ftp, y que nos enviará un email en el caso de que se ejecute un Ban. Es muy importante indicarle el LOG donde chequeará tanto los fallos como el numero de intentos antes de proceder a banear una IP.

Puesta en marcha y comprobaciones varias.

# Para iniciar fail2ban ejecutamos
fail2ban-client start
# y para cargar nuevas configuraciones
fail2ban-client reload
# tambien debemos incluirlo para que se inicie como demonio al arrancar el sistema
rc-update add fail2ban default
# y chequearemos que está trabajando correctamente.
ps -ef

, , , , , , , ,

No hay Comentarios

Fatal error: Allowed memory size …

Este es un error muy típico que se produce en nuestros scripts PHP cuando excedemos el límite de memoria que tiene configurado por defecto nuestro servidor. Para solucionarlo podemos conectar a nuestro webmin, en el caso de tenerlo.

https://xxx.xxx.xxx.xxx:10000
Vamos al icono otras opciones
PHP Configuration
Manage /etc/php.ini
Resource limits
Y en Maximum memory allocation indicamos por ejemplo 32MB

Otra opción es conectarnos por SSH a nuestro servidor y editar el fichero php.ini. Una vez localizado lo editamos y cambiamos memory_limit a 32MB y reiniciamos nuestro apache.

# find / -name php.ini
# /etc/init.d/httpd -k restart

En el caso que nuestro servidor de hosting no permita las soluciones anteriores podemos incluir el siguiente código en nuestros scripts php.

<?php
ini_set("memory_limit","32M");
?>

Si tenemos el módulo de apache mod_rewrite activado en nuestro servidor podemos escribir la siguiente línea en nuestro .htaccess.

php_value memory_limit 32M

Si estamos usando la librería GD para tratar imágenes de muy alta resolución, funciones tan comunes como imagecreatefromjpeg() para crear una nueva imágen a partir de otra dada, nos reportarán errores por lo que también tendremos este tipo de problemas y necesitamos aumentar el valor de memory_limit incluso hasta 64mb. Esto nos podría pasar cuando las imágenes tengan más de 3000px de resolución.

, , , , , , , , , , , , , ,

No hay Comentarios