Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Mostrando entradas con la etiqueta Python. Mostrar todas las entradas
Mostrando entradas con la etiqueta Python. Mostrar todas las entradas

Como instalar y configurar Fail2ban paso a paso

DriveMeca instalando y configurando Fail2ban en Linux CentosEn los tiempos de ahora una forma común de hackear un servidor es conectarse a sus puertos y explotar vulnerabilidades conocidas o atacar por la fuerza buscando alguna cuenta con una contraseña conocida.
Esto nos obliga a estar pendientes de actualizaciones criticas y estar mirando logs del OS buscando pruebas de ataques para poder reaccionar antes de que sea tarde. Por suerte existe fail2ban, un framework escrito en Python para prevención de intrusos (intrusion prevention framework) que básicamente inspecciona logs del OS y reacciona bloqueando temporalmente (o total) las ip's sospechosas de un ataque. Al ser temporal el bloqueo no dejamos por fuera completamente a alguna conexión legitima que estuviera desconfigurada.
Fail2ban puede realizar varias acciones al detectar intentos maliciosos de conexión como son bloqueo de ip/dominio por medio de iptables, envió de email con un alerta a un administrador, actualizar por medio de TCP Wrappers el archivo hosts.deny o una acción definida en un script Python. Entre los scripts que ya vienen preconfigurados encontramos chequeos para sshd, apache, asterisk, vsftpd, postfix entre otros lo cual nos permite tenerlo funcionando en pocos minutos desde que lo instalamos.
Para el articulo de hoy veremos como se instala en un servidor Linux Centos 6.5 actualizado a la fecha.

Requerimientos



-Instalamos por medio del repositorio RPMForge
yum --enablerepo=rpmforge install fail2ban

-Configuramos Fail2ban y activamos los chequeos que queremos tener activos
vi /etc/fail2ban/jail.conf
[DEFAULT]
#ignoreip nos permite agregar las ip's que no queremos bloquear. Pensemos en la ip del mismo host
#que ejecuta fail2ban como primera opcion. Si queremos podemos agregar otras ip's separandolas
#con espacios en blancos; también podemos usar dominios
ignoreip = 127.0.0.1/8

#bantime es el numero de segundos que estará bloqueado un host. Podemos incrementarlo o
#decrementarlo según nuestra necesidad
bantime  = 600

#Tiempo en segundos del que dispone un host para logearse antes de la cantidad máxima de veces que
#nos indica maxretry
findtime  = 600

#Numero de intentos antes de ser bloqueado un host
maxretry = 3

[ssh-iptables]
enabled  = true
filter   = sshd
#Personalizamos la acción para que nos llegue a nuestro email la alerta. you@example.com lo
#cambiamos por nuestra dirección y fail2ban@example.com es el campo from (De) del email
action   = iptables[name=SSH, port=ssh, protocol=tcp]
           sendmail-whois[name=SSH, dest=you@example.com, sender=fail2ban@example.com]
logpath  = /var/log/sshd.log
maxretry = 5

-Directorios a tener en cuenta dentro de /etc/fail2ban
/etc/fail2ban/action.d <-------------- directorio de scripts a ejecutarse por action
/etc/fail2ban/filter.d <---------------- directorio de filtros que activaran los scripts de action

-Activamos el servicio para que se ejecute siempre que inicie el servidor y lo ejecutamos por primera vez
chkconfig fail2ban on
service fail2ban start

-Verificamos las reglas de iptables
iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

-Para desbloquear una ip ejecutamos el siguiente comando
iptables -D fail2ban-ssh 1

Al automatizar ciertas tareas como la de verificar logs para reaccionar a ataques; tendremos mas tiempo para investigar y trabajar en otros temas. Ya usas Fail2ban, con cuales servicios? usas otro sistema de prevención de intrusos, cual?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como probar tu velocidad de internet desde linea de comandos

Hoy en día lo minimalista se impone al estar aburridos de interfaces cargadas, por que nuestro tiempo es oro o simplemente porque queremos resultados rápidos. Una de las formas comunes de probar una conexión a internet es mediante un browser con el plugin de flash conectarnos al sitio Speedtest y allí esperar para ver los resultados. Pero ya hay otra forma y es mediante una aplicación python desde linea de comandos lo cual rápido y sin adornos nos dará los resultados esperados.
Para este articulo necesitaremos un pc con Ubuntu.

-Abrimos una consola e instalamos python pip
sudo apt-get install python-pip

-Instalamos speedtest-cli
sudo pip install speedtest-cli
Downloading/unpacking speedtest-cli
  Downloading speedtest-cli-0.2.4.tar.gz
  Running setup.py egg_info for package speedtest-cli
    
Installing collected packages: speedtest-cli
  Running setup.py install for speedtest-cli
    
    Installing speedtest script to /usr/local/bin
    Installing speedtest-cli script to /usr/local/bin
Successfully installed speedtest-cli
Cleaning up...

-Para probar la velocidad de nuestra conexión lo hacemos ejecutando el siguiente comando (también nos sirve el comando speedtest, ambos hacen el mismo trabajo). El comando determinara por ping el servidor mas cercano y hará la prueba en base a este
speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Columbus Networks de Colombia Limitada (xxx.xxx.xxx.xxx)...
Selecting best server based on ping...
Hosted by UNITEL S.A. ESP (Cali) [305.09 km]: 17.405 ms
Testing download speed........................................
Download: 3.85 Mbit/s
Testing upload speed..................................................
Upload: 2.75 Mbit/s

-Ademas, como un plus, nos da la posibilidad de descargar un jpg con la prueba realizada
speedtest --share

-Si aun tenemos alguna duda podemos usar la breve ayuda del comando para ver otras posibilidades
speedtest -h

-Mas adelante podemos actualizarlo con el siguiente comando
sudo pip install speedtest-cli --upgrade

Que tal te pareció este "truco" ? Usas otras formas para medir tu ancho de banda, cuales?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.
Share/Bookmark

Como instalar MySQL WorkBench en Ubuntu 12.10

NOTA: En este URL podrás ver este articulo mas actualizado

Necesitas una herramienta para monitorear y administrar un MySQL, pues recomiendo MySQL WorkBench. Hoy les mostrare como instalarlo en Ubuntu 12.10.

-Descargamos el MySQL Workbench desde este URL, dependiendo de nuestro Ubuntu, en mi caso lo descargo para i386.


-Damos click en No thanks, just start my donwload.

-Esto me deja el siguiente .deb


mysql-workbench-gpl-5.2.46-1ubu1204-i386.deb

-Instalamos algunas dependencias que necesitaremos.

sudo apt-get install python-paramiko mysql-client python-pysqlite2 mysql-common python-gdbm mysql-client-5.5 libdbi-perl libdbd-mysql-perl mysql-client-core-5.5 libplrpc-perl libnet-daemon-perl

-Descargamos el binario para libtemplate0 y lo instalamos.

wget -c http://launchpadlibrarian.net/83494419/libctemplate0_1.0-1_i386.deb

sudo dpkg -i libctemplate0_1.0-1_i386.deb

-Instalamos el MySQL WorkBench

sudo dpkg -i mysql-workbench-gpl-5.2.46-1ubu1204-i386.deb

-Y ya podemos ejecutarlo, así es como lo veremos.


Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones.
Disfrútenlo.
Share/Bookmark