Archive

Archive for the ‘Redes’ Category

Configuración de ssh

June 21st, 2011 Güimi 2 comments

Configuración segura

Para mayor seguridad cambiamos el puerto, reducimos el tiempo de login y no permitimos conexiones de root
# vi /etc/ssh/sshd_config

Port xxxx
LoginGraceTime 45
PermitRootLogin no

Solo permitimos acceder por ssh a los usuarios indicados en el fichero /etc/loginusers
# vi /etc/pam.d/sshd

#auth       required     pam_env.so # [1]
auth       required     pam_listfile.so sense=allow onerr=fail item=user file=/etc/loginusers

Creamos el fichero /etc/loginusers con los usuarios autorizados:
# vi /etc/loginusers

guimi

Como usuario (’guimi’ en el ejemplo) generamos las claves dsa y asignamos una passphrase
$ ssh-keygen -t dsa

Para cambiar (o des/asignar) una passphrase
$ ssh-keygen -p -f .ssh/id_dsa
Se recomienda cambiar la passphrase regularmente.

Autorizamos la clave publica
$ cat .ssh/id_dsa.pub > .ssh/authorized_keys
Ajustamos los permisos:
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/*
$ chmod g-w ~/

La clave privada (id_dsa) se tiene que copiar en los clientes de ssh a través de algún medio seguro. Por ejemplo en un lapiz USB, pero NO a través de correo-e normal.

En este momento es posible conectarse desde otra maquina utilizando login y contraseña como siempre ($ ssh usuario@maquina -p xxxx) o usando el fichero de clave privada y conociendo la passphrase ($ ssh usuario@maquina -p xxxx -i id_dsa_copiada).

Para permitir solo el uso de certificados reconfiguramos sshd desautorizando las autentificaciones por contraseña
# vi /etc/ssh/sshd_config

PasswordAuthentication no

Reiniciamos el servicio
# /etc/init.d/ssh restart

Uso de scp

Recordemos que también se puede usar ssh para copiar ficheros de forma segura, tanto para copiar un fichero remoto al cliente:
$ scp -P xxxx -i id_dsa_copiada usuario@maquina:/ruta/fichero .
Como para copiar un fichero local al equipo remoto:
$ scp -P xxxx -i id_dsa_copiada /ruta/fichero usuario@maquina:/ruta/

Túneles SSH

Recordemos que podemos usar SSH para generar túneles seguros. Por ejemplo si queremos conectar a un servicio del equipo en el puerto 5432 (el puerto habitual de PostgreSQL) podemos hacer:
$ ssh usuario@servidor -p xxxx -i id_dsa_copiada -L 5432:localhost:5555
Esto indica que en la máquina cliente, desde la que ejecutamos ssh, el puerto 5555 se dirige al puerto 5432 de la máquina que el servidor de SSH conoce como “localhost”, es decir la máquina servidor.
Así también podríamos hacer un túnel ssh a una máquina vecinas del servidor (-L 5432:vecina:555).
Una vez conectado el túnel, en la máquina cliente (la que lanza el ssh) puedo utilizar un cliente de postgres y decirle que se conecte al puerto local 5555 y en realidad estaré conectando al servidor Postgres remoto de forma segura.

Cliente PuTTY para Windows

Para usar la clave en PuTTY (Windows):

  1. Copiamos la clave al equipo

  2. Usamos PuTTYGen para importar la clave y guardarla como .ppk
    • Conversions->Import key

    • Introducir la passphrase
    • Pulsar “Save private key” y guardarla con extensión .ppk
  3. Al hacer la conexión, en el menú SSH->Auth seleccionamos nuestro fichero .ppk
  4. Si al conectar muestra el error “Key is of wrong type (PuTTY SSH2 private key)“, seleccionar en PuTTY Connections->SSH el protocolo “2″.
SSH, SSL, túnel SSH, openssh-server
Categories: Redes, seguridad

Configurar juego de caracteres (charset) en LAMP (Linux, Apache, MySQL, PHP)

June 20th, 2011 Güimi No comments

Instalamos los paquetes necesarios:
# aptitude install apache2 mysql-server php5

Modificamos la configuración de apache:
# vi /etc/apache2/conf.d/charset

...
AddDefaultCharset       UTF-8
...

Modificamos la configuración de PHP:
# vi /etc/php5/apache2/php.ini

...
default_charset = "utf8"
...

En la cabecera de las páginas indicar:

...
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...

Y en los scripts PHP de conexión:

...
$sql_script("SET NAMES 'utf8'");
...

Modificamos la configuración de MySQL:
# vi /etc/mysql/my.cnf

...
language    = /usr/share/mysql/spanish
...

Y reiniciamos los servicios:
# /etc/init.d/apache2 restart
# /etc/init.d/mysql restart

En caso de tener una BB.DD. en otra codificación como iso-8859-1, conviene exportarla a un fichero de texto, convertir el fichero con “iconv bbdd.sql -f iso-8859-15 -t utf-8 -o bbdd_utf8.sql” y volver a importarla.

juego de caracteres, charset, Linux, Apache, MySQL, PHP

Red con IP estática

May 17th, 2011 Güimi No comments

Cada día hay más automatismos… y ya casi se nos olvida como hacer las cosas por nosotros mismos.
Para configurar una IP estática hacemos lo que indica el manual de Debian:
Primero configuramos la interfaz (en el ejemplo eth0 con la IP 192.168.11.100).
# vi /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet static
address 192.168.11.100
netmask 255.255.255.0
broadcast 192.168.11.255
gateway 192.168.11.1
dns-domain lan
dns-nameservers 192.168.11.1

Después los DNSs, si no está instalado resolvconf, basta con:
# vi /etc/resolv.conf
domain localdomain
search localdomain
nameserver 192.168.1.1

Si está instalado resolvconf (y ante la duda no está de más):
# vi /etc/resolvconf/resolv.conf.d/base
nameserver 192.168.1.1

Tumbamos y levantamos la interfaz…
# ifdown eth0
# ifup eth0

¡Y ya está!

static ip, ip estática, red estática
Categories: GNU/Linux, Prompt, Redes

Wireshark como usuario

March 24th, 2010 Güimi 2 comments

Una herramienta muy potente de análisis de redes es Wireshark (antes conocido como Ethereal).
Sin embargo para poder funcionar necesita acceso de super-usuario (root) a la tarjeta de red.
Esto hace que habitalmente se use haciendo:
$ gksu wireshark

Sin embargo, en realidad, como indican en el blog de wireshark, quien realmente necesita ese acceso es una -en comparación- pequeña libreria: dumpcap.

Así pues para poder utilizar wireshark como usuario normal, basta dar acceso a la libreria dumpcap, como sigue:

## Añadimos el grupo wireshark
# groupadd wireshark
## Hacemos al grupo propietario de dumpcap y le damos permiso
# chgrp wireshark /usr/bin/dumpcap
# chmod 4750 /usr/bin/dumpcap
## Incluimos a nuestro usuario en el grupo
# usermod -a -G wireshark guimi

Wireshark, ethereal

Categories: Redes, seguridad

En defensa de los derechos fundamentales en Internet

December 2nd, 2009 Güimi 2 comments

MANIFIESTO

Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que:

1.- Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.

2.- La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del Ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.

3.- La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.

4.- La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.

5.- Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.

6.- Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.

7.- Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.

8.- Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.

9.- Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.

10.- En democracia, las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.

 
Dice Arsenio Escolar:

Presidente, vicepresidenta, ministra: no es la música la que se muere por las descargas. Es la obsoleta industria de los discos y los cd, como se han muerto muchas otras industrias con los cambios tecnológicos a lo largo de la historia. La Ley de Economía Sostenible, que ha de tener una visión de futuro, de innovación, de mirar hacia dónde vamos, no puede convertirse en la ley de defensa del pasado, de lo viejo, de lo que no ha sabido adaptarse a los cambios. La Ley de Economía Sostenible no puede convertirse en la Ley de Defensa de la Industria Musical Insostenible.

 
Cómo se suele decir: ¡Pásalo!

Categories: Derechos, Redes

Redes de Comunicaciones

June 29th, 2009 Güimi No comments

Por fín he publicado en versión web el monográfico sobre redes de comunicaciones que publiqué hace un tiempo en PDF (Redes de Comunicaciones en PDF):
Redes de Comunicaciones en HTML.
Redes de Comunicaciones
Incluye conceptos básicos sobre arquitecturas de red, descripción de la pila ISO OSI y la pila Internet, detalles de protocolos IP, IPSec, TCP, UDP… protocolos Ethernet y 802.11, protocolos WAN (Frame-Relay, SDH, PDH, PoS…), redes de acceso (xDSL, CATV…), VPN, redes multimedia, seguridad en redes (protocolos de encriptación, esquemas de seguridad…)

En esta página están los diferentes monográficos y tutoriales sobre informática que voy publicando.

Redes, ISO OSI, Internet, IP, TCP, UDP, Ethernet, 802.11, WAN, VPN, redes multimedia, seguridad de redes
Categories: Monográficos, Redes

Conocer que equipos hay en una red

October 29th, 2008 Güimi 2 comments

Hay varias herramientas que nos permiten conocer que equipos son alcanzables en nuestra red.
 

nmap

Herramienta de exploración de redes y analizador de puertos.
 
$ nmap -sP 192.168.0.0/24

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-06-27 10:13 CEST
Host equipo1 (192.168.0.1) appears to be up.
Host equipo2 (192.168.0.2) appears to be up.
Host equipo3 (192.168.0.4) appears to be up.
...
Nmap finished: 256 IP addresses (12 hosts up) scanned in 2.219 seconds

 

fping

Una herramienta de ping que se puede utilizar fácilmente para múltiples equipos y en scripts.
 
$ fping -g 192.168.0./24

192.168.0.0 error while sending ping: Permission denied
192.168.0.1 is alive
192.168.0.2 is alive
192.168.0.3 is alive
ICMP Host Unreachable from 192.168.0.2  for ICMP Echo sent to 192.168.0.4
...

 
O mejor:
$ fping -g 192.168.0./24 2> /dev/null | grep alive

192.168.0.1 is alive
192.168.0.2 is alive
192.168.0.3 is alive
...

 

ip

Herramienta de configuración del protocolo ip. Permite ver y modificar rutas, dispositivos, tuneles…
 
$ ip neig

192.168.0.4 dev eth1 lladdr xx:xx:xx:xx:xx:xx STALE
192.168.0.60 dev eth1 lladdr xx:xx:xx:xx:xx:xx STALE
192.168.0.61 dev eth1 lladdr xx:xx:xx:xx:xx:xx STALE
192.168.0.52 dev eth1 lladdr xx:xx:xx:xx:xx:xx STALE
...

 

nbtscan

Escanea redes en busca de nombres NETBIOS.
 
# nbtscan -r 192.168.0.0/24

Doing NBT name scan for addresses from 192.168.0.0/24

IP address       NetBIOS Name     Server    User             MAC address
------------------------------------------------------------------------------
192.168.0.0    Sendto failed: Permission denied
192.168.0.2     <unknown>                  <unknown>
192.168.0.60    xxxx-LAB10       <server>  xxxx-LAB10       xx:xx:xx:xx:xx:xx
192.168.0.52    xxxxxxxxxxxx-01  <server>  xxxxxxxxxxxx-01  xx:xx:xx:xx:xx:xx
192.168.0.61    xxxx-LAB11       <server>  xxxx-LAB11       xx:xx:xx:xx:xx:xx
...

 

Conocer que equipos hay en una red, Buscar equipos en una red, Averiguar que equipos hay en una red

Categories: Prompt, Redes

NIC.es vuelve a cagarla (le gusta tener problemas)

December 4th, 2007 Güimi No comments

Cuando se liberalizaron los dominio .es ya tuvieron problemas. El día que se abría la inscripción libre los servidores se bloquearon debido a las miles de peticiones simultáneas que recibieron de parte de máquinas programadas para conectarse todos el mismo día a la misma hora.

Ahora van a liberar los dominios multilingües .es y no han aprendido nada. Esta semana ya he recibido tres anuncios de distintos proveedores de internet para que pre-registre mis dominios con ellos, asegurando que sus máquinas el día 12 a las 00:00 lanzarán todas las peticiones. En los mismos mensajes avisan de posibles problemas por colapso, todo el mundo sabe que ocurrirá.

No es tan dificil. El problema es que las peticiones se atienden por orden de llegada, así que todos piden a la vez. Bastaría con organizar el siguiente sistema:
- Desde el día x a las 00:00 hasta el día x+15 a las 23:59 se aceptan todas las peticiones que se hagan de dominios, avisando bien claro que NO se atenderán por orden de llegada. Incluso se puede establecer una primera entrega escalonada de peticiones con los distribuidores autorizados.
- Un mismo dominio puede ser solicitado tantas veces como sea necesario por distintas personas físicas o jurídicas que, exactamente igual que ahora, deben inscribirse previamente.
- El día x+16 a las 00:00 se asignarán los dominios mediante sorteo entre todos los solicitantes de cada uno y se enviará notificación a los agraciados.
- No se aceptan consultas hasta el día x+17 (para entonces la gente sabe si le han asignado un dominio o no y nadie inunda de peticiones a nic.es)

Es igual de arbitrario, pero no colapsa las máquinas de nic.es, ni la red española, ni nada. Es limpio y suficientemente ecuánime. Además garantiza que el día elegido a las 00:01 estarán los dominios asignados y operativos, sin problemas de DoS.

Se puede pensar que un grupo de empresas puede solicitar varias veces el mismo dominio. Eso no es peor que el que un grupo de empresas bombardee los servidores de nic.es realizando DoS el día x a las 00:00. No es más “trampeable” que el sistema actual.
Y no olvidemos que hablamos del “turno libre”, las empresas ya tienen sus dominios.

Categories: Redes

Samba – Resolución de problemas

November 8th, 2003 Güimi No comments

Comprobaciones

Empezamos con algunas comprobaciones básicas

# smbclient -L localhost
# smbclient -L localhost -U%
# smbclient -L localhost -U guimi
# smbclient -U guimi //Servidor/guimi

 

También podemos seguir “The samba checklist“, que en resumen sería:

# testparm smb.conf
# ping Mi-servidor
# ping Un-cliente
# smbclient -L localhost
# smbclient -L localhost -U%
# smbclient -L localhost -U guimi -W MI_dominio
# smbclient -L Mi-servidor
# smbclient -L Mi-servidor -U%
# smbclient -L Mi-servidor -U guimi -W MI_dominio
# nmblookup -B Mi-servidor __SAMBA__
# nmblookup -B Un-cliente ‘*’
# nmblookup -d 2 ‘*’
# smbclient //Mi_servidor/Un_recurso
# nmblookup -M Mi_dominio

En un cliente Windows:

c:\> net view \\Mi-servidor
c:\> net use x: \\Mi_servidor\Un_recurso

 

Posibles errores

signing is mandatory (w2003)

Si el servidor es un Windows 2003 Server puede generar el error:

cli_negprot: SMB signing is mandatory and we have disabled it.
10659: protocol negotiation failed
SMB connection failed

Para solventarlo hay que modificar el registro del servidor, bajo la clave
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

Y poner “enablesecuritysignature” y “requiresecuritysignature” a 0.

Clientes Windows XP

Los clientes deben tener instalado el servicio “Cliente de redes Microsoft”.
 
Según indica Microsoft:
“Windows XP Home Edition no se puede unir a un dominio. Sólo se puede configurar como un miembro de un grupo de trabajo.”
 
Para que una maquina con Windows XP Professional pueda acceder al dominio puede ser necesario cambiar la siguiente entrada del registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\parameters

Y poner “requiresignorseal” a 0.
Además en las políticas de seguridad del hay que tener deshabilitadas:

  • Miembro de dominio: Descifrar o firmar digitalmente datos de un canal seguro (siempre)

  • Miembro de dominio: Deshabilitar cambios de contraseña de cuentas de equipo.
  • Miembro de dominio: Requerir clave de sesión protegida (W2000 o más reciente).

Resolución de problemas en Samba, Configurar Samba, Problemas frecuentes SMB

Categories: Redes, Software Libre
Para los artículos:
Creative Commons License 2003-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los documentos bajo los términos de la licencia "Reconocimiento-Compartir bajo la misma licencia 3.0 España" de Creative Commons.

Puede ver una copia de esta licencia completa.

Para el código de programación:
General Public License GPL 2 - Copyright (c) 1998-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los desarrollos bajo los términos de la licencia "GNU General Public License, Versión 2" de Free Software Fundation.

Puede ver una copia de esta licencia completa.

Reconocimiento tautológico: Todas las marcas pertenecen a sus respectivos propietarios.