martes, 20 de septiembre de 2011

Asegurando OpenSSH

Una practica muy común para dar sergurida a cualquier servicio que mantengamos en nuestro servidor es cambiar los valores de configuración por defecto.
A continuación describimos algunos parámetros de configuración basicos que pueden ayudarnos a asegurar nuestros servicio de OpenSSH.

Todas las directivas de configuración que se describan a continuación es necesario editar el archivo /etc/ssh/sshd_config.

Modificar el puerto por defecto.
Esta sencilla practica nos puede ayudar a evitar ser atacados mediante un DDoS o recibir scaneos dirigido al puerto 22 el cual es el puerto por defecto del servicio OpenSSH para lograr esto es necesario modificar el valor de la directiva Port por el valor que deseemos.

Port 2230

Restringir el inicio de session para el usuario root.
El usuario root es el usuario con mas altos privilegios que se encuentra en todas las distribuciones Linux de realizarse un acceso no autorizado con este usuarios se podría tomar el control total del sistema por este motivo es una buena practica es des habilitar este usuario para iniciar session en el servicio OpenSSH.

PermitRootLogin no


Limitar el numero de intentos de inicio de session.
Para evitar un ataques de fuerza bruta una buena practica es limitar el numero de intentos de inicio de session de este modo se puede evitar que el atacante este enviando intentos de login por un tiempo prolongado ya que al llegar al limite permitido el servicio OpenSSH enviara una señal de time out.

MaxAuthTries 3


A continuación les dejo un link donde pueden encontrar mayores datos sobres las directivas de configuración del demonio OpenSSH.

sábado, 10 de septiembre de 2011

Actualizacion de sistemas linux

Una de las principales tareas de todos administrador de sistemas es la de mantener sus servidores y servicios actualizados para evitar vulnerabilidades.
Un sitio donde se puede mantener actualizado sobre vulnerabilidades de OS y otros productos es:
http://www.securityfocus.com/
A continuación veran  un listado de comandos utilizados para realizar esta tarea en distintas distribuciones de Linux.





Debian/Ubuntu
Actualiza la lista de repositorios:
# aptitude update
Actualizar el sistema (security/bug fixes):
# aptitude upgrade
Actualizar el sistema a una nueva version (cudiado!):
# aptitude dist-upgrade

CentOS/Fedora/Red Hat
Lista las actualizaciones disponibles:
# yum list updates
Actualiza el sistema:
# yum update
Actualizar el sistema a una nueva version (cudiado!):
# yum upgrade

Arch
Actualiza la lista de repositorios:
# pacman -Sy
Actualisa el sistema (cuidado!):
# pacman -Syu

Gentoo
Actualiza la lista de repositorios:
# emerge --sync
Actualiza los paquetes instalados de forma explicita:
# emerge --update world
Actualiza todos los paquetes (cuidado!):
# emerge --update --deep world

Instalación OpenSSH server.

OpenSSH (Open Secure Shell) es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a través de una red, usando el protocolo SSH. Fue creado como una alternativa libre y abierta al programa Secure Shell, que es software propietario.
Cuando se utiliza OpenSSH la comunicación entre el cliente y el servidor es encriptada dándonos un nivel de seguridad mayor que las herramientas que utilizan texto plano como telnet, rlogin, y ftp.
Sitio web oficial del proyecto: http://www.openssh.com/
Manuales oficiales: http://www.openssh.com/manual.html


Como instalar OpenSSH?

Ubuntu
# sudo apt-get install openssh-server
Debian
# sudo aptitude install openssh-server
Fedora
# yum install openssh-server
Iniciar el servicio
# /etc/init.d/sshd start
Agregar al inicio automático
# chkconfig --level 345 sshd on
CentOS
# yum -y install openssh-server
Arch
# sudo pacman -S openssh
Gentoo
# emerge -av net-misc/openssh
Iniciar el servicio
# /etc/init.d/sshd start
Agregar al inicio automático
# rc-update add ssh default
Luego de que se haya realizado la instalacion de nuestro servidor es podremos acceder utilizando los siguientese metodos.
Desde un sistema Linux se puede utilizar la herramienta nativa ejecutando el siguiente comando desde cualquier termina.
# ssh usuario@tu-servidor
Desde un sistema Windows yo recomiendo utilizar Putty es una herramienta grafica gratuita y facil de configurar.