Asegurar (un poquito) el servidor


Hoy revisando mis feeds me encontré con una pagina bastante interesante sobre seguridad:

http://desenmascara.me/

Desenmascarame!

servicio cuyo objetivo es:

concienciar sobre la seguridad web desenmascarando la tecnología e infraestructura tras la que se sostienen los sitios web.

 

Después de revisar un par de sitios conocidos y que administro, me di cuenta de un error bastante común que habita en muchos servidores, el cual es mostrar la información básica del server. Como la gran mayoría utiliza apache como webserver y php como lenguaje de programación principal, acá dejo 2 tips para ocultar y asegurar un poquito el servidor.

Ocultar datos de apache

Buscamos el archivo httpd.conf (habitualmente se encuentra en /etc/httpd/conf/ ) y cambiamos 2 valores de la configuración:

ServerSignature Off
ServerTokens Prod

Luego reiniciamos apache

/etc/init.d/httpd restart

Ocultar datos de php

Buscamos el archivo php.ini (habitualmente esta en /etc/) y cambiamos al valor:

expose_php = Off

Espero que les sirva.

Saludos

Transferencia archivos en una LAN


Una problemática muy común es el envio de archivos desde un equipo a otro. Si los archivos son pequeños, los enviamos por correo, dropbox, etc. Si a este escenario le sumamos que el destinatario es un equipo que se encuentra dentro de nuestra red, podría pensarse «tonto» que los archivos vayan desde nuestra red (origen) hacia Internet (servicio almacenamiento), para volver a ser descargados a nuestra red (destino).

Una situación similar me toco experimentar hoy, necesitaba enviar una imagen ISO de 2 GB a una máquina entro de la misma red (en realidad era el equipo de mi hermano, a 2 piezas de la mía). Para poder enviar el archivo (sin salir a internet) lo que hice fue lo siguiente:

  • Instalar SSH en la maquina servidora (Centos).

su -c 'yum install openssh'

  • Levantar SSH.

su -c '/etc/init.d/sshd start'

  • Anotar la IP de la máquina con el archivo a enviar.

Para la descarga del archivo (desde una maquina windows), instalamos winscp, le di los datos de acceso al equipo servidor y listo! ya se podía copiar el archivo sin salir de la red local.

Mientras escribía este post, se me ocurrieron otras formas (tal vez mas sencillas) de enviar el archivo. Se podría haber montado un servidor ftp en la máquina de origen, o también haber instalado httpd (apache) y dejar el archivo en la carpeta /var/www/html luego con la ip de mi maquina seria visible dentro de la red (debiese haber cambiado las reglas de iptables para el acceso)… en fin… múltiples soluciones…

Espero que les sirva!

Saludos.

Screenshot en Centos


Actualmente tengo en mi máquina 3 sistemas operativos distintos:

  • Windows 7
  • Ubuntu 12.04
  • Centos 6.4

Este último SO es el que más estoy utilizando, ya que lo ocupo para trabajar en el desarrollo de Blumee, sin embargo, por diversos motivos me fue necesario mandar screenshots de mi desktop, pero me di cuenta que por default Centos no traía los paquetes correspondientes. Para solucionar esto solo debemos instalar gnome-utils y listo.

su -c 'yum install gnome-utils'

Saludos.

Mantener viva conexion ssh


Al momento de efectuar una conexión ssh respecto a cualquier servidor, estos últimos tienen definido el tiempo en el cual si no se envían datos por parte de  nuestro cliente, se declara muerta la conexión.

Para evitar este problema, podemos configurar ssh para que cada cierto tiempo envié paquetes y así mantenga viva la conexión. Para esto debemos editar:

 /etc/ssh/ssh_config

Y agregamos:

ServerAliveInterval 60

Esto significa que cada 60 segundos se enviarán datos al servidor para mantener viva la conexión.

Actualización

Gracias a @rcovarru  supe que tambien se puede hacer el mismo procedimiento sin tener acceso root. Editamos:

 /$HOME/.ssh/config

Y agregamos:

Host *
ServerAliveInterval 60

Cambiar KDM por GDM


En otras oportunidades (fedora 9,10, 11, 12…) me acuerdo que cambiaba directamente un archivo de configuración que estaba en /etc/X11… algo así, ya no recuerdo bien.

Ahora me entere que es mucho mas fácil con el comando system-switch-displaymanager. Como tengo GDM, para instalar y dejar operativo KDM debemos (en fedora 15):

Instalar KDM:

yum -y install kdm

Instalar system-switch-displaymanager:

yum -y install system-switch-displaymanager

Efectuar el cambio (como root):

system-switch-displaymanager kdm

Simple, fácil y rápido 😀
Saludos!