31 ago 2011

Cómo cambiar el password de root en MySQL (Red Hat, Fedora, CEntOS)

Odio decir "te lo dije", pero te lo dije. Aquí en la editorial administramos múltiples servidores MySQL, cientos de bases de datos y usuarios, de tal forma que debemos contar con una buena administración de passwords.

Muy a pesar de tener una buena administración de passwords, no estamos exentos de perder u olvidar una clave importante, cómo es la del usuario root de MySQL. Por esta razón, aquí les presento los pasos que debemos seguir para cambiar la clave, de verdad que esto es útil.

Este procedimiento aplica para Red Hat, Fedora, CEntOS.

1. Detener el proceso mysql

[root@server ~]# /etc/init.d/mysqld stop

2. Iniciar el proceso mysql con la opción --skip-grant-tables y --skip-networking , así no pedirá el password y no aceptará conexiones remotas a MySQL.

[root@server ~]# /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

3. Ingresar a MySQL con el usuario root.

[root@server ~]# mysql -u root

4. Actualizar el password de root (en este paso no olviden el uso de las comillas)

mysql> use mysql;
mysql> update user set password=PASSWORD('NUEVO_PASSWORD') where User='root';
mysql> flush privileges;
mysql> quit

5. Detener el proceso mysql

[root@server ~]# /etc/init.d/mysqld stop


6. Iniciar MySQL y probar con la nueva clave.

[root@server ~]# /etc/init.d/mysqld start
[root@server ~]# mysql -u root -p

Muy bien, nos vemos en la siguiente entrada.

Eliminar / Borrar una cuenta de usuario en Linux

Como administradores de GNU/Linux, la tarea de eliminar una cuenta de usuario es muy importante. Es tan importante que merece la pena escribir un protocolo para ello. Por seguridad, por administración, por lo que sea hay que tomar en serio ésta tarea.

Para esto existe el comando 'userdel', el cual tiene que ser ejecutado como root. Por ejemplo:

[root@server ~]# /usr/sbin/userdel usuario

Un ejemplo ampliado de esto sería: borrar la cuenta de usuario 'angel' y su home asociado (opción -r):

[root@server ~]# /usr/sbin/userdel -r angel

El comando anterior borrará la cuenta de usuario, su home y los mensajes de correo existentes. Si existen archivos creados en otros directorios estos tendrán que ser buscados y borrados manualmente.

Archivo /etc/login.defs y /etc/deluser.conf

Los valores, por default, del comando 'userdel' son tomados del archivo /etc/login.defs en Red Hat, Fedora, CEntOS:

# *REQUIRED*
#   Directory where mailboxes reside, _or_ name of file, relative to the
#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
#   QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail

# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7

#
# Min/max values for automatic uid selection in useradd
#
UID_MIN     500
UID_MAX   60000

#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN     500
GID_MAX   60000

#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local

#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME yes

# The permission mask is initialized to this value. If not specified, 
# the permission mask will be initialized to 022.
UMASK           077

# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes

# Use MD5 or DES to encrypt password? Red Hat use MD5 by default.
MD5_CRYPT_ENAB yes

Y /etc/deluser.conf en Debian y Ubuntu Linux:

# /etc/deluser.conf: `deluser' configuration.

# Remove home directory and mail spool when user is removed
REMOVE_HOME = 0

# Remove all files on the system owned by the user to be removed
REMOVE_ALL_FILES = 0

# Backup files before removing them. This options has only an effect if
# REMOVE_HOME or REMOVE_ALL_FILES is set.
BACKUP = 0

# target directory for the backup file
BACKUP_TO = "."

# delete a group even there are still users in this group
ONLY_IF_EMPTY = 0

# exclude these filesystem types when searching for files of a user to backup
EXCLUDE_FSTYPES = "(proc|sysfs|usbfs|devpts|tmpfs)"

Procedimiento:

A continuación les presento el procedimiento recomendado para borrar una cuenta de usuario. Primero hay que bloquear la cuenta:

[root@server ~]# /usr/bin/passwd -l angel

De ser necesario, respaldar los archivos del usuario:

[root@server ~]# tar -zcvf /backup/angel.tar.gz /home/angel/

'Matar' los procesos que pertenecen al usuario:

[root@server ~]# ps -fp $(pgrep -u angel)
[root@server ~]# killall -KILL -u angel

Borrar la cuenta del usuario:

[root@server ~]# /usr/sbin/userdel -r angel

Borrar las tareas at:

[root@server ~]# # find /var/spool/at/ -name "[^.]*" -type f -user angel -delete

Borrar las tareas de cron:

[root@server ~]# crontab -r -u angel

Borrar los trabajos de impresión:

[root@server ~]# lprm angel

Buscar todos los archivos propiedad del usuario:

[root@server ~]# find / -user angel -print

Por último, podemos buscar todos los archivos propiedad del usuario y cambiarlos de propietario:

[root@server ~]# find / -user angel -exec chown usuario:grupo {} \;

Listo, nos vemos en la siguiente entrada.

30 ago 2011

Empezar con Linux

Una de las preguntas más frecuentes que me hace la gente es: - "Quiero cambiar a linux, pero ¿Qué distribución es la mejor?"-

A lo que yo respondo: "La mejor opción para un usuario que empieza con Linux es Ubuntu". 

Es fácil de usar y es compatible con la mayoría del hardware que usamos hoy en día.

No se necesita ser un experto para llevar a cabo la instalación.

Es gratis.

Con Ubuntu puedes olvidarte de los virus, soy usuario de Linux por mas de 10 años y jamás me he visto en situaciones indeseables por causa de virus. Aunque, cómo ya lo mencioné en otro post, existen Anti-Virus para linux, de los cuales me quedo con Kaspersky.

El Administrador de Software facilita la búsqueda, instalación y desinstalación de paquetes. Incluye Libre Office, los navegadores más rápidos Chrome y firefox, aplicaciones de mensajería instantánea, editores de imágenes, ambientes de desarrollo, qué mas necesitas?


Nos vemos en la siguiente entrada.

29 ago 2011

Malware en Linux

Cuántas veces nos hemos preguntado si GNU/Linux es "mas seguro" que MS Windows. Puede ser percepción, pero desde mi punto de vista no todo depende de una compañía u otra, sino también de nuestros hábitos en Internet, de nuestros hábitos como administradores de los servidores o la red. Sería muy tonto echarle la culpa a la compañía X o Y, pues somos usuarios de aaaaaaños de sus sistemas operativos, sabemos como funcionan, sabemos sus fallos y siempre debemos estar un paso adelante en la investigación, en la seguridad, debemos hacernos responsables de aplicar los parches de seguridad, de actualizar el kernel, de no usar aplicaciones dudosas, etc.

En Internet, hay una gran cantidad de servidores Web usando linux, hay una gran cantidad de servidores FTP, servidores de correo, servidores de bases de datos corriendo una distribución linux. Existe una gran cantidad de proveedores de hosting usando linux en sus data centers, por lo que linux se convierte en un medio de transporte para el malware. Por otro lado, cada día aumenta el numero de usuarios de linux a nivel desktop.

Por estas razones, es altamente recomendable el uso de una herramienta anti malware en Linux (y no solo en nuestros equipos PCs o laptops, también en los servidores, smartphones, etc.) y, pues bien, después de haber trabajado  por muchos años en lo que fue Kaspersky Lab México (hoy mayorista de KL) puedo recomendar a la comunidad linuxera en AL y cualquier parte del mundo el uso de Kaspersky Endpoint Security para Linux, el cual es ideal para uso personal y en ambientes empresariales por su facilidad de instalación y administración. KES4Linux incluye protección en tiempo real, lo que lo hace aún mas atractivo. 

Pero no todo puede ser bello, lamentablemente la protección en tiempo real depende de la versión del kernel que usemos, así que si ustedes son usuarios de las siguientes distribuciones podrán instalar Kaspersky:

  • Red Hat Enterprise Linux 5.5 Desktop
  • Fedora 13
  • CentOS-5.5
  • SUSE Linux Enterprise Desktop 10 SP3
  • SUSE Linux Enterprise Desktop 11 SP1
  • openSUSE Linux 11.3
  • Ubuntu 10.04 LTS Desktop Edition
  • Debian GNU/Linux 5.0.5

Incluye soporte para 32 y 64 bits.


En escritorio, uso Ubuntu 11.04 y próximamente Fedora 15, y como les dije no hay soporte para estas versiones recientes.

Si requieren alguna licencia (original) comercial de este producto con gusto se las puedo conseguir a buen precio, y si desean algún tipo de consultoría sobre este tipo de soluciones caseras y empresariales también con todo gusto los puedo ayudar.

Nos vemos en la siguiente entrada