jueves, 31 de marzo de 2016

Que nuestro Linux no responda al ping

Aunque la seguridad por oscuridad no es una buena idea la verdad es que el hecho de que nuestros servidores pasen inadvertidos para la gran mayoría de sistemas de rastreo automático nos permitirá vivir más tranquilos.

Una de las formas de escapar de las múltiples oleadas de rastreadores es que nuestro servidor no responda a las peticiones ping (ICMP Echo Request) de tal manera que para los rastreadores más sencillos, la inmensa mayoría, nuestro servidor no esté operativo y por lo tanto no intenten atacarlo posteriormente. Se trata pues de una estrategia de ocultación que nos permitirá reducir la cantidad de ataques desde Internet pero que no protegerá nuestros equipos frente a los mismos.

Hacer que Linux ignore todos los ping ahora

Dentro del directorio /proc/sys/net/ipv4 encontramos un fichero llamado icmp_echo_ignore_all que contiene un único valor numérico. Como su propio nombre indica, este fichero, o más bien su contenido, indica al sistema si debe ignorar todas las peticiones icmp echo que reciba. Para ello simplemente hay que darle un valor:

  • 0 para decirle que no ignora las peticiones (es decir, que las responda)
  • 1 para indicar que sí las ignore (es decir, que no responda)

Así que basta ejecutar lo siguiente, como root:

root@linux# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
El problema de esta estrategia es que tras el próximo reinicio el servidor perderá esta configuración y volverá a responder a los ping.

Hacer que Linux ignore todos los ping siempre

Si queremos que el servidor no repsonda al ping aunque se reinicie debemos seguir estos pasos:

  1. Modificar el fichero de configuración /etc/sysctl.conf y añadirle una nueva línea con la siguiente instrucción net.ipv4.icmp_echo_ignore_all = 1
  2. Recargar la configuración con el comando sysctl -p, o bien reiniciar el equipo


Recordad que esta configuración evita que se responda a cualquier ping (incluso los realizados localmente desde el propio equipo) por lo que si queremos que algunas peticiones sí sean respondidas tendremos queoptar por soluciones de filtrado más completas (iptables, etc.).

martes, 2 de febrero de 2016

Consultar entradas DNS en diferentes servidores

En los entornos empresariales podemos encontrarnos con la existencia de servidores DNS (Domain Name System) que permiten una resolución de nombres diferenciada para los usuarios internos y las peticiones públicas. Así los usuarios de la propia empresa reciben una dirección IP privada de tal manera que pueden acceder a los servicios internos directamente mientras que los usuarios públicos, externos a la empresa, reciben una resolución que hace referencia a una dirección IP pública accesible a través de Internet.
Con esta diferenciación se permite separar los dos tráficos (el interno y el público) de tal forma que pueden compartir recursos (servidores, ancho de banda, etc.) o ser totalmente independiente.
Esas configuraciones pueden generar algo de confusión sobre en qué servicio se está trabajando en realidad por lo que puede dificultar la resolución de incidencias.

Veamos cómo averiguar si hay diferencias entre la resolución interna y la externa para un dominio concreto utilizando la propia utilidad de nslookup:

  1. Ejecutamos el programa nslookup 
  2. Realizamos la búsqueda deseada con la configuración de usuario local
  3. Cambiar de servidor de DNS mediante el comando "server"
    1. El servidor 8.8.8.8 del ejemplo es uno de los DNS públicos de Google
  4. Realizar la misma búsqueda y comparar el resultado
Ejemplo:
C:\Users\Andreu>nslookup
Servidor predeterminado:  192.168.1.1
Address:  192.168.1.1

> www.midominio.com
Servidor:  192.168.1.1
Address:  80.58.61.250

Respuesta no autoritativa:
Nombre:  midominio.com
Address:  192.168.3.35
Aliases:  www.midominio.com

> server 8.8.8.8
Servidor predeterminado:  google-public-dns-a.google.com
Address:  8.8.8.8

> www.midominio.com
Servidor:  google-public-dns-a.google.com
Address:  8.8.8.8

Respuesta no autoritativa:
Nombre:  midominio.com
Address:  184.107.221.118
Aliases:  www.midominio.com

>

martes, 29 de diciembre de 2015

Saber usuario que ejecuta consola Windows o terminal Linux

Cuando tenemos que gestionar diferentes servidores nos podemos encontrar con tener que trabajar con distintos usuarios de acceso que tiene diferentes privilegios. Esto puedo llevar a confusiones, así que es interesante saber con qué usuario estamos trabajando.
Quizás tú sepas con que usuario te conectas pero es probable que guardes usuario/contraseña en tu gestor de conexiones y no lo recuerdes o también hay que tener en cuenta que los procesos o scripts pueden no saberlo. Así que poder obtener esta información puede ser útil.

Terminal de Linux

En Linux (o GNU/Linux para los puristas)  existen diferentes aplicaciones para saber qué usuario está ejecutando el terminal. Si bien en el propio promt se suele indicar el usuario que lo está ejecutando es posible modificarlo por lo que es interesante ver otras formas de descubrirlo. Este sistema operativo nació siendo multiusuario por lo que dichas aplicaciones están desde el principio.

El comando más simple sería id:

[root@Server ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@Server ~]#

El comando who nos indica qué usuarios están conectados por lo que si somos el único usuario podremos saber nuestro login:
[root@Server ~]# who
root     pts/0        2015-12-29 15:39 (Origen SSH)
[root@Server~]#

Consola de comandos bajo Windows

MS-DOS nació siendo un entorno monousuario si bien desde hace ya muchos años Windows permite el trabajo multiusario sin problemas. Así MS-DOS no dispone de las facilidades de origen que sí dispone Linux (usuario en el prompt, comandos específicos), las posteriores versiones de Windows han ido incorporando mejoras en las consolas  y han llegado a incluir el comando whoami (del inglés Who am I?)que proporciona el usuario utilizado en esa conexión a la consola.

C:\Windows\system32>whoami
domino\usuario
C:\Windows\system32>

martes, 5 de agosto de 2014

Configuración SNMP básica en CISCO

Ya vimos en la entrada anterior sobre cómo configurar SNMP en switches HP, el motivo de la creación de este protocolo y como aplicarlo, y securizarlo, en los equipos de ese fabricante. En este artículo veremos cómo activarlo para permitir la monitorización pero manteniendo una seguridad básica de acceso.
Las versiones 1 y 2c del protocolo no cifran la comunidad por lo que es posible que alguienno deseado tenga acceso a la misma. Para evitar que aún conociendo la comunidad puedan acceder a la información del equipo restringiremos el acceso mediante una access-list.

1. Creamos la ACL que permitirá el acceso a nuestros equipos de monitorización, y sólo a estos:
access-list 15 permit 10.10.20.2
access-list 15 permit 10.20.20.2
access-list 15 deny any log
2. Creamos la nueva comunidad (NombreDeComunidad), nunca usar public, de sólo lectura (RO) aplicando el access-list que acabamos de crear:
snmp-server community NombreDeComunidad RO 15
Con estos sencillos pasos hemos habilitado la recepción de peticiones de lectura SNMP con una comunidad específica y, al mismo tiempo, limitando el acceso a sólo a los servidores de monitorización que queramos.

En otras entradas explicaré como activar el envío de traps SNMP.

martes, 13 de agosto de 2013

cambio máscara de red switch HP remoto

Supongamos que debemos realizar un cambio de direccionamiento IP de un switch en remoto. En esa base no tenemos ningún técnico ni siquiera un manos remotas.

El procedimiento habitual en un equipo HP desde consola sería:

  1. Entrar en la configuración de la vlan
  2. Eliminar la IP actual
  3. Añadir la nueva IP

vlan 100
no ip address 10.0.0.97 255.255.248.0
ip address 10.0.0.125 255.255.248.0
El problema de este procedimiento es que en el punto 2 el equipo se queda sin dirección IP y por lo tanto todas las conexiones ssh se pierden y no hay manera de recuperarlas (salvo reiniciando el equipo para que cargue la configuración previa con su IP).

Los switches HP tienen un modo de "configuración visual" vía ssh: la opción menú:

http://itknowledgeexchange.techtarget.com/network-technologies/how-to-change-an-ip-address-in-a-hp-procurve-switch/




La ventaja de usar este menú es que el sistema carga la configuración directamente evitando el problema de desconexión. Para cambiar la dirección IP sería suficiente con seguir el siguiente procedimiento:
#menu
Seleccionar 2. Switch Configuration...
Seleccionar 4. IP Configuration
Avanzar hasta Edit
Modificar los parámetros que necesitemos (dirección IP, máscara, etc.)
Pulsar Intro (volvemos al menú inferior)
Pulsar Save

Aquí se pierde la conexión pero nos podremos reconectar con la nueva IP.

Ya tenemos la neva configuración de red en nuestro equipo :)