30.1.08

Python: Validar un NIF o un CIF

He aquí una clase importable muy útil con el algoritmo para validar CIFs y NIFs. Tiene un único método para la validación, en el que devuelve un tipo Boolean:

http://www.nomorepasting.com/getpaste.php?pasteid=10745


29.1.08

Carpetas compartidas con Windows en 1 minuto

En la red hay mil y un tutoriales sobre como instalar un servidor Samba para disponer de recursos compartidos con Windows, pero todos ellos orientados a la gestión de usuarios con o sin PDC.
Este pequeño tutorial nos va a permitir compartir en un minuto o menos un directorio de nuestro Linux con permisos de lectura/escritura para todos los usuarios que estén en nuestra red, sin que se tenga que poner una contraseña.

1.- Instalar samba

apt-get install samba

2.- OPCIONAL. Crear el directorio que queremos compartir y permitir el acceso a todo el mundo

mkdir /home/compartido
chown nobody:nogroup /home/compartido
chmod -R 777 /home/compartido


3.- Editar el fichero de configuración de Samba /etc/samba/smb.conf y tocar los siguientes parámetros del apartado [GLOBAL] (si no existen, crearlos y si están comentados por un ; o un #, quitar el comentario)

workgroup = MI_GRUPO_TRABAJO

netbios name = Mi nombre de servidor

security = share

admin users = administrador guest


4.- Al final del archivo de configuración /etc/samba/smb.conf añadir el nuevo recurso compartido


[compartido]
comment = Archivos Compartidos
path = /home/compartido
browseable = yes
writable = yes
public = yes
guest ok = yes
create mask = 0777
directory mask = 0777


5.- Reiniciar Samba

/etc/init.d/samba restart


Listo! A disfrutar de nuestro nuevo recurso de red.

MySQL: Seguridad básica

Cuando hablamos de asegurar un servicio se suele entender como tal el filtrar el acceso no deseado al mismo mediante reglas de firewall. En general, servidores de uso no corporativo, utilizarán configuraciones de seguridad por defecto que, si van a ser accesibles por un colectivo, pueden no ser las adecuadas.
Veamos un juego de reglas básico para asegurar una instalación por defecto de MySQL Server:

1) Asociar el servicio al dispositivo(s) de red adecuado bind-address=127.0.0.1, denegando el acceso a otras redes, de haberlas. Establecer las reglas de firewall que se consideren adecuadas para la gestión del mismo.

2) Eliminar los comodines de las tablas de acceso (GRANT). Jamás permitir contraseñas en blanco o comodines en la creación de permisos de acceso a usuarios y asegurarse de que cada usuario accede únicamente a las tablas necesarias.

3) Requerir el uso de contraseñas seguras, eliminando la contraseña en blanco por defecto para root. Utilizar la opción --secure-auth para prevenir el uso de passwords crackeables.

4) Revisar los permisos de los ficheros de configuración. Aunque se acelera el acceso, no conviene guardar las configuraciones en ficheros individuales por usuario, ya que al hacerlo así, se almacenan en texto plano. En este supuesto, deben asegurarse los ficheros con permisos 600.

5) Prevenir los sniffers con cifrado en el acceso cliente/servidor, habilitando SSL en la configuración de MySQL o con un tunel SSH.

6) Deshabilitar el acceso remoto, con firewall (punto 1) y arrancando el servicio con la opción --skip-networking

7) Revisar periódicamente los logs

Con este juego de medidas básicas podemos disponer de un servidor fiable y robusto.