Androide

Cómo configurar la cárcel sftp chroot

Cómo ganar siempre en Parchis Star y conseguir muchas monedas ( 4th Estrategia )

Cómo ganar siempre en Parchis Star y conseguir muchas monedas ( 4th Estrategia )

Tabla de contenido:

Anonim

En este tutorial, explicaremos cómo configurar un entorno SFTP Chroot Jail que restringirá a los usuarios a sus directorios de inicio. Los usuarios tendrán acceso SFTP solamente, el acceso SSH estará deshabilitado. Estas instrucciones deberían funcionar para cualquier distribución moderna de Linux, incluidos Ubuntu, CentOS, Debian y Fedora.

Crear un grupo SFTP

En lugar de configurar el servidor OpenSSH para cada usuario de forma individual, crearemos un nuevo grupo y agregaremos a todos nuestros usuarios seleccionados a este grupo.

Ejecute el siguiente comando groupadd para crear el grupo de usuarios sftponly :

sudo groupadd sftponly Puedes nombrar el grupo como quieras.

Agregar usuarios al grupo SFTP

El siguiente paso es agregar los usuarios que desea restringir al grupo sftponly .

Si se trata de una nueva configuración y el usuario no existe, puede crear una nueva cuenta de usuario escribiendo:

sudo useradd -g sftponly -s /bin/false -m -d /home/username username

  • La opción -g sftponly agregará al usuario al grupo sftponly. La opción -s /bin/false establece el shell de inicio de sesión del usuario. Al establecer el shell de inicio de sesión en /bin/false el usuario no podrá iniciar sesión en el servidor a través de SSH. Las opciones -m -d /home/username le dicen a useradd que cree el directorio de inicio del usuario.

Establezca una contraseña segura para el usuario recién creado:

sudo passwd username

De lo contrario, si el usuario que desea restringir ya existe, agréguelo al grupo sftponly y cambie el shell del usuario:

sudo usermod -G sftponly -s /bin/false username2

El directorio de inicio del usuario debe ser propiedad de root y tener 755 permisos:

sudo chown root: /home/username sudo chmod 755 /home/username

Dado que los directorios principales de los usuarios son propiedad del usuario raíz, estos usuarios no podrán crear archivos y directorios en sus directorios principales. Si no hay directorios en la página de inicio del usuario, deberá crear nuevos directorios a los que el usuario tendrá acceso completo. Por ejemplo, puede crear los siguientes directorios:

sudo mkdir /home/username/{public_html, uploads} sudo chmod 755 /home/username/{public_html, uploads} sudo chown username:sftponly /home/username/{public_html, uploads}

Si una aplicación web está utilizando el directorio public_html del usuario como raíz del documento, estos cambios pueden generar problemas de permisos. Por ejemplo, si está ejecutando WordPress, deberá crear un grupo de PHP que se ejecutará como el usuario propietario de los archivos y agregar el servidor web al grupo sftponly .

Configurando SSH

SFTP es un subsistema de SSH y admite todos los mecanismos de autenticación SSH.

Abra el archivo de configuración SSH /etc/ssh/sshd_config con su editor de texto:

sudo nano /etc/ssh/sshd_config

Busque la línea que comienza con Subsystem sftp , generalmente al final del archivo. Si la línea comienza con un hash # elimine el hash # y modifíquelo para que tenga el siguiente aspecto:

/ etc / ssh / sshd_config

Subsystem sftp internal-sftp

Hacia el final del archivo, el siguiente bloque de configuraciones:

/ etc / ssh / sshd_config

Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no

La directiva ChrootDirectory especifica la ruta al directorio chroot. %h significa el directorio de inicio del usuario. Este directorio debe ser propiedad del usuario raíz y no debe ser escrito por ningún otro usuario o grupo.

Tenga mucho cuidado al modificar el archivo de configuración SSH. La configuración incorrecta puede hacer que el servicio SSH no se inicie.

Una vez que haya terminado, guarde el archivo y reinicie el servicio SSH para aplicar los cambios:

sudo systemctl restart ssh

En CentOS y Fedora, el servicio ssh se llama sshd :

sudo systemctl restart sshd

Probar la configuración

Ahora que ha configurado el chroot SFTP, puede intentar iniciar sesión en la máquina remota a través de SFTP utilizando las credenciales del usuario chroot. En la mayoría de los casos, usará un cliente SFTP de escritorio como FileZilla, pero en este ejemplo, usaremos el comando sftp.

Abra una conexión SFTP con el comando sftp seguido del nombre de usuario del servidor remoto y la dirección IP del servidor o nombre de dominio:

sftp [email protected]

Se le pedirá que ingrese la contraseña de usuario. Una vez conectado, el servidor remoto mostrará un mensaje de confirmación y el mensaje sftp> :

[email protected]'s password: sftp>

Ejecute el comando pwd , como se muestra a continuación, y si todo funciona como se espera, el comando debería devolver / .

sftp> pwd Remote working directory: /

También puede enumerar los archivos y directorios remotos utilizando el comando ls y debería ver los directorios que hemos creado previamente:

sftp> ls public_html uploads

Conclusión

En este tutorial, ha aprendido cómo configurar un entorno SFTP Chroot Jail en su servidor Linux y restringir el acceso de los usuarios a su directorio de inicio.

De forma predeterminada, SSH escucha en el puerto 22. Cambiar el puerto SSH predeterminado agrega una capa adicional de seguridad a su servidor al reducir el riesgo de ataques automáticos. También es posible que desee configurar una autenticación basada en claves SSH y conectarse al servidor sin ingresar una contraseña.

ssh sftp security