Configuración Avanzada de Servidor VSFTPD y Otros Comandos Útiles
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 6,26 KB
Configuración Avanzada de Servidor VSFTPD
Conexiones y Permisos
- Permitir conexión por el puerto estándar:
Esta opción está habilitada por defecto. - No permitir conexión anónima:
Las conexiones anónimas están deshabilitadas por defecto conanonymous_enabled=NO
. - Permitir conexión anónima para subir archivos a la carpeta "publico":
sudo mkdir /srv/ftp/publico
cd /srv/ftp
sudo chown ftp:ftp publico/
sudo nano /etc/vsftpd.conf
anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
sudo service vsftpd restart
- Los usuarios anónimos solo pueden descargar ficheros legibles por todo el mundo (644):
anon_world_readable_only=YES
- Todos los ficheros que suban los usuarios anónimos queden con permiso de propietario determinado:
chown_uploads=YES
chown_username=Nombre de usuario
- Asegurarse de que se solicita siempre contraseña al usuario anónimo:
no_anon_password=NO
secure_email_list_enable=YES
sudo nano /etc/vsftpd.email_passwords
(metemos dentro los emails permitidos, que se usarán como contraseñas válidas)
- Crear usuarios con acceso solo a sus respectivos directorios con permisos de lectura y escritura:
sudo useradd -d /home/usu -m usu
sudo passwd usu
- (Si pide una carpeta más específica)
sudo mkdir /home/usu/ftp
sudo usermod --home /home/usu/ftp usu
sudo chown usu:ftp /home/usu/ftp
sudo nano /etc/vsftpd.conf
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES
(para evitar el error 500 en Filezilla)sudo nano /etc/vsftpd.chroot_list
(metemos dentro los usuarios que queremos enjaular)
Registros y Seguridad
- Hacer que el servidor VSFTPD deje traza en fichero de log de todo el diagnóstico de comunicación cifrada:
xferlog_enable=YES
xferlog_std_format=NO
log_ftp_protocol=YES
xferlog_file=/var/log/vsftpd.log
- Permitir también conexión por el puerto seguro de forma cifrada. Crear certificado previo:
cd /etc/
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout vsftpd.pem -out vsftpd.pem
sudo nano /etc/vsftpd.conf
ssl_enable=YES
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd.pem
- Forzar a que todas las conexiones anónimas se realicen de forma cifrada mediante SSL:
allow_anon_ssl=YES
force_anon_data_ssl=YES
force_anon_logins_ssl=YES
- Obligar a que todas las conexiones requieran un certificado digital para transmitir por SSL:
require_cert=YES
- Todos los certificados cliente utilizados tengan que ser validados OK:
validate_cert=YES
Crear un Repositorio Local y Conectarlo a Uno Remoto (Git)
sudo apt install git -y
sudo git config --global user.name “usuario”
sudo git config --global user.email [email protected]
sudo git config --global core.editor nano
sudo git config --global merge.tool vimdiff
- (Nos situamos dentro de la carpeta donde queremos inicializar el repositorio)
sudo git init
sudo git add *
sudo git status
sudo git commit -m ‘Versión Inicial’
(o el comentario que quieras)- (Vamos a nuestra cuenta de GitHub, creamos un repositorio y copiamos la URL que nos muestra al crearlo)
sudo git remote add nombre_repositorio url_copiada
sudo git push nombre_repositorio master
Explicación del Comando dig
- dig sin argumentos:
Realiza una consulta de los servidores raíz (root servers). - dig con dominio como argumento (dig www.marca.com):
Devuelve el registro A. Muestra el estado (NOERROR si la resolución es correcta), la sección de respuesta (ANSWER SECTION), el tiempo de respuesta y el servidor que responde a la consulta. - dig con dominio como argumento y usando un name server específico (dig @8.8.8.8 www.marca.com):
Devuelve el registro A, pero consulta el dominio desde las DNS especificadas. - dig con dominio como argumento, especificando el registro que queremos consultar (dig MX @8.8.8.8 www.marca.com):
A
: Registro de dirección IPv4.AAAA
: Registro de dirección IPv6.MX
: Registro de servidor de correo.
- Consultar todos los registros de la lista (dig ANY www.marca.com):
Consulta todos los registros disponibles en la zona DNS del dominio. - dig con el parámetro -x (dig -x 8.8.8.8):
Devuelve la resolución inversa de un dominio, mostrando el dominio asociado a la IP introducida. - dig con el parámetro +trace (dig +trace www.marca.com):
Realiza un rastreo en la ruta de búsqueda DNS, mostrando los servidores raíz, los servidores de nombres para el dominio de nivel superior y, finalmente, los servidores de nombres y registros del dominio consultado.