Si dispones de una máquina con acceso remoto por ssh, uno de los agujeros de seguridad más grandes es permitir al usuario root logarse directamente. Este pequeño tutorial muestra cómo añadir un usuario nuevo a tu máquina de modo que pueda logarse por ssh y, luego, obtener priveligios root (con su o sudo).
Vamos a empezar por eseñar cómo añadir un nuevo usuario al servidor, y después cómo deshabilitar logarse como root, habilitando en su lugar el sudo.
Para empezar abre tu terminal y, como root, teclea los siguientes comandos:
adduser usuariossh
passwd usuariossh
Después añade el usuario creado al fichero sudo, abre el fichero
/etc/sudoers en tu editor preferido, por ejemplo:
nano/etc/sudoers o
vi/etc/sudoers
y añade la línea para el nuevo usuario debajo de la del root:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
usuariossh ALL=(ALL) ALL
Por cuestiones de seguridad es aconsejable deshabilitar al usuario root el login directo por ssh. Para ello, abre el fichero
sshd_config en tu editor de texto.
nano/etc/ssh/sshd_config o
vi/etc/ssh/sshd_config, cambia
#PermitRootLogin yes
por
PermitRootLogin no
y,como root, reinicia el demonio sshd:
service sshd restart
Para más seguridad, es aconsejable también cambiar el puerto ssh por defecto (22) por uno más discreto, del tipo 4756 o 30113. (Si no sabes cuál elegir, aquí tienes una lista los puetos más comunes, escoge uno que no esté asignado). Para ello, de nuevo en el fichero
ssh_config, cambia
#Port 22
por
Port 30113
Tampoco está de más cambiar el valor de LoginGraceTime. Dicho parámetro configura el servidor para desconectar al usuario después de un tiempo establecido si no ha conseguido logarse con éxito, para ello, siempre en el
fichero sshd_config:
LoginGraceTime 30s
PermitRootLogin no
#StrictModes yes
MaxAuthTries 6
Por último reinicia ssh. Como root ejecuta el comando:
/etc/init.d/sshd restart
Ahora tienes tu sshd un poco más seguro, haciendo un poco más difícil a extraños colarse en tu servidor
A menudo me he encontrado con que, para corregir un bug de un programa o simplemente añadir una funcionalidad nueva, basta con aplicar un parche (patch) al código fuente. En Linux / UNIX disponemos de un comando llamado patch que aplica un fichero diff o patch a un fichero de código fuente.
Introducción El objetivo de este tutorial es describir una solución para sincronizar la autenticación de symfony2 (sf2) con los foros de Simple Machines Forums (SMF). A día de hoy no hay ningún bundle de foros para symfony listo para producción. CCDNForumForumBundle es lo mejor que he encontrado pero lamentable su desarrollador no lo mantiene ya….
Escenario Estoy en el proceso de separar la parte API de una web de la del frontend. Para ello he creado un nuevo proyecto que solo atenderá peticiones del API. Ambos proyectos comparten la base de datos; en el proyecto API (PA) instalé Laravel Passport para gestionar la autenticación. El proyecto web (PW) necesita por…
Para un nuevo proyecto en PHP que estamos empezando, hemos decidido utilizar la plataforma symfony2. En el pasado he tenido la suerte de trabajar, disfrutar y aprender con symfony 1.x, gracias a su coherente organización, buen uso del PHP y unos robustos cimientos fundados en una extensa documentación y una vasta comunidad de activos desarrolladores.
Escenario Necesitamos acceder de manera remota a nuestro entorno de trabajo y hemos decidido que guacamole es nuestra mejor opción. Permite el uso de protocoles estándares como VNC, RDP y SSH No requiere instalar software en las máquinas de los usuarios. Gracias a HTML5, una vez instalado en un servidor, puedes acceder a tu escritorio…