Jaulas SFTP

Jail FTPBuscando la forma de configurar un servidor SFTP (Secure FTP) para la transferencia de ficheros segura, me he encontrado que el propio OpenSSH que viene en la mayoría de versiones, ya proporciona el servicio de servidor sftp.

Mirando la configuración de OpenSSH vemos como efectivamente, se define el servicio sftp:

# cat /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server

Así pues, por defecto, ya se dispone de un método para transferencia de ficheros sobre SSH gracias a OpenSSH.

Sin embargo, este método permite a un usuario, conectarse por SFTP y poder navegar por cualquier directorio del sistema al que tenga acceso, que por defecto, son la mayoría de ellos. Si se quiere «enjaular» al usuario en un directorio concreto, para que pueda trabajar únicamente con los ficheros y directorios de un directorio determinado, la cosa se complica.

Continuar leyendo «Jaulas SFTP»

Un poco de iptables

iptablesSeguramente sea buena idea configurar el firewall iptables de cada máquina, desde cero, para una vez limpio, ir introduciendo reglas que permitan o denieguen determinadas acciones. De esta manera, se tendrá un control total sobre la configuración del firewall, que se habrá rellenado únicamente con las reglas que se le hayan introducido.

Una primera tarea, por lo tanto, sería limpiar las reglas del firewall que vienen por defecto, y a partir de ahí, empezar a crear las nuestras, sabiendo que podría ser una buena política la de denegar cualquier paquete, por defecto.

Continuar leyendo «Un poco de iptables»

Registrar actividad en sesión ssh

spy
Imaginemos que queremos un método para registrar todo lo que un determinado usuario realiza durante su sesión ssh. Por lo tanto, lo que se busca es guardar el log de la actividad del usuario en el propio equipo al que se conecta, y por supuesto, no se quiere que el usuario pueda modificar o eliminar este archivo de log.

Opción 1

Una primera opción, es complicarse la vida, montando este entorno a mano.

Continuar leyendo «Registrar actividad en sesión ssh»

Nagios: añadir nuevo host

Nagios
Nagios tiene todo un seguido de ficheros de configuración de objetos, donde se definen entre otros, los elementos a monitorizar (servidores, routers, impresoras, etc.) así como los servicios de cada elemento. Estos ficheros, están relacionados entre sí, y de hecho, se puede (y se recomienda) que así sea, con tal de re-aprovechar lo máximo posible las características comunes, en forma de templates.

Así pues, si se quiere añadir un nuevo elemento (por ejemplo un servidor) para ser monitorizado por Nagios, primeramente deberemos revisar el archivo templates.cfg, el cual contiene las plantillas con las definiciones comunes que podremos usar, para en este caso, dar de alta un nuevo host. Por ejemplo, se podrá incluir (si no existe ya) un template para dar de alta servidores, que contenga las definiciones comunes (o más comunes), con tal de ahorrar escribir siempre lo mismo en el momento del alta de los servidores en Nagios.

Continuar leyendo «Nagios: añadir nuevo host»

Configurar claves ssh

SSH keyImaginemos que queremos conectar desde un servidor A, usando el usuario «user», con otro servidor B, por ssh, pero sin tener que estar introduciendo el password a cada nueva conexión (por ejemplo, si queremos poder conectar automáticamente por ssh por necesidades de un script en un cron). En este caso, podremos seguir el proceso descrito a continuación:

  • En el servidor A, si «user» no tiene ya una clave ssh creada (se podrá ver si existe en $HOME/.ssh/ un archivo .pub), se podrá generar dicha clave, estando logueados con el usuario «user», ejecutando:

ssh-keygen -t dsa

  • Una vez creada la clave ssh, deberemos ir al servidor B y crear un usuario «user» (en este caso querremos conectar desde A, a user@B). Podemos usar «useradd user» y posteriormente «passwd user» para crear al usuario.
  • Ahora desde A, podremos conectar con B mediante:

ssh user@B

  • De nuevo desde A, podremos copiar la clave pública de user (de A) a la home del usuario user (de B) con el comando:

ssh-copy-id -i ~/.ssh/id_dsa.pub user@B

  • Desde este momento, ya se podrá conectar desde A a user@B sin necesidad de introducir el password del usuario «user» en el servidor B.

Fuentes:

 

Nagios: host no pingable

Hoy toca hablar de Nagios, el conocido sistema de monitorización. Nagios, nos ayuda a conocer el estado de nuestra red, monitorizando los servidores y sus servicios, así como todo un seguido de parámetros configurables, tanto a nivel de servidor, como a nivel de elemento de red (routers, switches, impresoras de red, etc.).

Por defecto, Nagios utiliza el parámetro “check-host-alive” para verificar si una máquina está o no funcionando. Este parámetro en realidad, únicamente lanza un ping a dicha máquina. El resultado del ping, determinará si la máquina está o no caída.

Sin embargo, el ping es un elemento 100% fiable para determinar la disponibilidad de una máquina. Si, como en mi caso, te has encontrado con alguna máquina que no es pingable (por ejemplo porqué se trata de un firewall en modo stealth, o símplemente porqué la máquina tiene iptables activado y está denegando los pings), ésta aparecerá en Nagios como caída, lo cual dará una falsa sensación de alarma.

Continuar leyendo «Nagios: host no pingable»

421 4.2.1 unable to connect

SPAMBajo este título tan descriptivo, se encuentra un problema con el que me he peleado esta mañana.

El servidor de correo MS Exchange 2007 de un cliente, no podía enviar correos de salida (los correos enviados dentro de su propia red sí funcionaban) y no dejaban de amontonarse en la cola de salida del servidor de mail.

El Exchange, mostraba el siguiente mensaje:

«451 4.4.0 Primary Target IP address responded 421 4.2.1 unable to connect. Attempted failover to alternate host, but that did not suceed. Either there are no aternate hosts or delivery failed to the all alternate host.»

Hemos estado mirando documentación al respecto, intentando detectar el problema:

Finalmente, hemos pensado que podía tratarse de un bloqueo que se realizaba una vez pasado el firewall, puesto que hemos visto que los correos parecían llegar a él. Hemos pasado a utilizar MXToolbox para comprobar la dirección IP de salida de correo, en la siguiente dirección:

http://mxtoolbox.com/SuperTool.aspx

Hemos introducido el siguiente texto en la casilla:

blacklist:IP_de_salida ,donde IP_de_salida corresponde con la IP pública de salida de correo

Ahí hemos visto que efectivamente, estábamos dentro de una blacklist, en la cual habíamos entrado un día antes de que empezaran los bloqueos. En la misma página de la blacklist, hemos podido comprobar las (pobres) razones del bloqueo hacia nuestra IP, y por tanto, encontrar la presumible causa del problema.

Finalmente, hemos cambiado la dirección IP de salida de correo (contábamos con varias ADSL de salida) y la incidencia se ha solucionado.

Esto nos ha hecho pensar en que seguramente exista la necesidad de implementar algún tipo de mecanismo de monitorización de correo de salida, de igual forma que las empresas tienen sistemas de antispam de entrada, puesto que las consecuencias del «spam» de salida pueden llegar a ser mucho peores que las molestias que provoca el spam de entrada.

Tendremos que buscar si existe una solución así.

Flickr! Foto por freezelight

Wake On LAN

Encendido del PCWake On LAN, como su nombre indica (o debería indicar) es un método para encender equipos remotamente que se encuentran dentro de nuestra misma red de área local.

Para poder encender equipos mediante Wake On LAN, es necesario que la tarjeta de red del equipo soporte Wake On LAN (verás que la tarjeta de red tiene una entrada con 3 pins donde podremos conectar un cable que irá a la placa base). Puedes consultar tu modelo de tarjeta de red para comprobarlo, aunque yo lo he hecho y en la página del fabricante (3com) no indica nada de WakeOnLAN.

Además de la tarjeta de red, se necesita que la placa base soporte WakeOnLAN (tendrá una entrada de 3 pins idéntica a la de la tarjeta de red con la indicación WOL).

Así pues, deberemos conectar la entrada de la tarjeta de red con la de la placa.

Finalmente, se necesitará configurar la BIOS para dejar el WakeOnLAN preparado para funcionar. Para ello, desde «Power Management Features» o «Power Management Setup» dependiendo de la BIOS, marcando la función «Wake Up On LAN/Ring» a «Enabled», dentro de la sección «Wake Up Events».

Fuente: http://www.adslzone.net/tutorial-20.21.html#1.2

Flickr! Foto por whyamiKeenan

Notas rápidas del MCSA

Nerd
Bueno, después de más de cuatro meses asistiendo a clases para la certificación MCSA de Microsoft, he decidido compartir algunas anotaciones interesantes que se han visto durante el curso, aunque no entran en el temario del mismo. Así que prepararos para una entrada bastante técnica, pero muy útil (o eso espero) para la gente de sistemas:

  • Servidor de ficheros: una buena idea es tener discos «hot swap», para poder reemplazarlos sin necesidad de parar el servicio, en caso de necesidad. Esto no nos sirve, si lo que falla es el disco donde tenemos el sistema operativo; para ello, usaremos 2 discos en espejo.
  • Discos duros: básicamente hablamos de discos SATA y discos SCSI (llamados SAS actualmente). Estos últimos son los recomendados siempre en entornos de empresa, puesto que el rendimiento es mucho mejor a pesar de que el pico de rendimiento puede ser mayor en discos SATA, aunque únicamente en picos puntuales.
  • DMZ: nunca se deberían facilitar accesos directos al exterior desde la red interna. Para ello, usaremos máquinas que harán de intermediarios para los servicios requeridos (como DNS, correo, web, etc.) que se ubicarán en esta DMZ. Estas máquinas perimetrales, no deberían ser miembros del dominio, por temas de seguridad.
  • Servidor Radius/IAS: Montaremos un servidor Radius cuando 1) queramos centralizar ahí las directivas de acceso remoto o 2) queramos autentificar equipos contra servidores que no estén en Directorio Activo
  • NAS vs SAN: entre otras, la diferencia principal es que NAS tiene un sistema operativo que hace toda la gestión, mientras que SAN únicamente comparte disco.
  • Siempre que podamos, intentaremos deshabilitar (no quitar) los componentes no estrictamente necesarios (USB, CD, ciertos tipos de archivo anexos en correos electrónicos, etc.)
  • NetBios: hoy en día, si podemos, deshabilitaremos Netbios en nuestra red. Con ello, deshabilitaremos también la función «Mis sitios de red», ya que únicamente se verá nuestro propio equipo. Los usuarios, por tanto, tendrá que usar la búsqueda por Directorio Activo para encontrar recursos compartidos, impresoras, usuarios, etc. Esto lo haremos, puesto que si tenemos muchos equipos, NetBios puede llegar a colapsar la red.
  • Directorio Activo: agarraos …
    • No montaremos un árbol de dominios con más de 3 niveles de profundidad, puesto que más niveles hacen inviable su gestión.
    • Montaremos un mínimo de 2 Controladores de Dominio por dominio.
    • Antes de montar Directorio Activo, deberemos tener muy claro para qué lo queremos, y siempre, primero se hará la estructura sobre papel.
    • Las cuentas de los usuarios que dejan la empresa, no deberán borrarse en los siguientes 5 años, por temas legales.
    • Los permisos se darán siempre a nivel de grupo.
  • Alto rendimiento: para alto rendimiento, usaremos (si el bolsillo lo permite) una cabina de discos, y montaremos el RAID por hardware que nos permita la cabina.
  • Además, usaremos fibra para la conexión gigabyte, o en su defecto, iSCSI.
  • Auditoría: la auditoría ha de habilitarse para empezar a registrar eventos. Lo que se ha hecho antes de habilitar la auditoría no se podrá auditar. En cualquier caso, para auditar necesitaremos:
    • Directivas: habilitar la directiva de auditoría necesaria, y
    • Recurso: habilitar el recurso que quiero auditar e indicar qué se quiere auditar.
  • Clústers: siempre que podamos, montaremos Clústers con Windows 2008 en lugar de con Windows 2003, por temas de compatibilidad.
  • Tarjetas de red TEAM: este tipo de tarjetas que soportan TEAM, permiten funcionar juntas como una sola (una máquina puede tener por ejemplo 4 tarjetas TEAM a 1 GB cada una, funcionando como una única tarjeta). Ésto nos permitirá usar cada tarjeta para una comunicación. Así, si por ejemplo estamos trabajando con una única comunicación por ejemplo copiando una ISO de 8GB, únicamente estaremos usando una de las tarjetas (a 1GB máximo). Sacaremos provecho al TEAM cuando estemos usando varias comunicaciones de forma simultánea.

¡Espero que os sea de utilidad!

Flickr! Foto por elvissa

¡Argh! ¡No funciona Internet!

Fear ¿Qué pasa cuando llegas a la oficina y…? ¡argh! ¡No funciona Internet ! Muchas cosas se te pasan por la cabeza, pero cuando descubres que tampoco responde a ping el servidor dns interno… La cosa cambia.

Ya no es un problema de conectividad o de red, que puede ser debido al switch, firewall, router, cables, ISP, etc. La cosa se centra únicamente en el servidor dns. Ese es el momento de levantarse e ir a la sala de servidores a mirar qué pasa (recordemos que el servidor no responde, así que tampoco debería funcionar el control remoto: no hay más remedio que levantarse).

Una vez en el cpd, se agradece haber etiquetado todos los servidores, y más aún ver que el servidor dns no tiene la luz encendida… ¿¡está apagado!? Pues sí, ese es el problema.

Después de encenderlo y comprobar que todo vuelve a la normalidad, después de este acto casi heroico que ha requerido de esta infinidad de conocimientos técnicos (léase, apretar el botón de encendido), toca ver qué ha pasado.

En los logs de Windows del "Event Viewer " del servidor, dentro de "System Logs " se podrá observar cuándo se apagó y cuando ha vuelto a encenderse. Por ejemplo, el último evento registrado en los logs antes de apagarse, dice "The Event log service was stopped ". Mirando un poco antes, se observa como se van deteniendo algunos servicios hasta que se llega a una entrada que tiene como origen "Windows Update Agent ". Examinando dicha entrada, se aprecia la siguiente descripción:

Restart Required: To complete the installation of the following updates, the computer will be restarted within 5 minutes:
– Cumulative Security Update for Internet Explorer 6 Service Pack 1 (KB963027)
– Security Update for Windows 2000 (KB959426)
– Security Update for Windows 2000 (KB923561)
– Windows Malicious Software Removal Tool – April 2009 (KB890830)
– Security Update for Windows 2000 (KB960803)
– Security Update for Windows 2000 (KB952004)

¡Fantástico! Las actualizaciones de Windows, estaban configuradas como automáticas, con permisos de descarga e instalación gestionados por Windows Update… Así que con la última publicación de las actualizaciones de Windows, el servidor se ha descargado e instalado dichas actualizaciones, con el posterior reinicio. ¿Reinicio? ¿Por qué no se ha reiniciado el PC? ¿Porqué se ha apagado directamente?

Una vez detectada la causa (otra cosa es ver quien o qué ha cambiado esto), es turno de la solución. Simplemente se vuelven a dejar las actualizaciones de Windows con permisos de descarga pero no de instalación, o si se dispone de algún programa de gestión centralizada de parches, pues entonces ni eso.

Flickr! Foto por herby_fr