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/publicocd /srv/ftpsudo chown ftp:ftp publico/sudo nano /etc/vsftpd.confanonymous_enable=YESwrite_enable=YESanon_upload_enable=YESsudo 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=YESchown_username=Nombre de usuario
- Asegurarse de que se solicita siempre contraseña al usuario anónimo:
no_anon_password=NOsecure_email_list_enable=YESsudo 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 ususudo passwd usu- (Si pide una carpeta más específica)
sudo mkdir /home/usu/ftpsudo usermod --home /home/usu/ftp ususudo chown usu:ftp /home/usu/ftpsudo nano /etc/vsftpd.confchroot_local_user=NOchroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_listallow_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=YESxferlog_std_format=NOlog_ftp_protocol=YESxferlog_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.pemsudo nano /etc/vsftpd.confssl_enable=YESforce_local_data_ssl=NOforce_local_logins_ssl=NOssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrsa_cert_file=/etc/vsftpd.pem
- Forzar a que todas las conexiones anónimas se realicen de forma cifrada mediante SSL:
allow_anon_ssl=YESforce_anon_data_ssl=YESforce_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 -ysudo git config --global user.name “usuario”sudo git config --global user.email [email protected]sudo git config --global core.editor nanosudo git config --global merge.tool vimdiff- (Nos situamos dentro de la carpeta donde queremos inicializar el repositorio)
sudo git initsudo git add *sudo git statussudo 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_copiadasudo 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.