xat59.vsftpd

Descripción

Instalar y configurar el servidor FTP vsftpd.

Características:

  • usuarios locales
  • usuarios virtuales
  • chrooting
  • inseguro / tls v1
  • TLS explícito e implícito
  • varias instancias de vsftpd

No cubre:

  • creación de certificados y claves SSL

Instalación del rol

$ git clone https://github.com/Xat59/ansible-role-vsftpd

Variables

  • vsftpd_enable_local_users: Habilitar la conexión de usuarios locales
    Nota: Si vsftpd_enable_virt_users es 'true', el valor de esta variable se sobrescribirá a 'true'.

    • requerido: No
    • valor predeterminado: true
    • opciones: true o false
  • vsftpd_chroot_local_users: Habilitar chrooting para usuarios locales
    Nota: el chrooting requiere que el usuario esté chrooted en una ruta de chroot válida (propietario y modo).

    • requerido: No
    • valor predeterminado: false
    • opciones: true o false
  • vsftpd_ftp_banner: Banner de saludo cuando una conexión llega por primera vez.

    • requerido: No
    • valor predeterminado: Servidor FTP privado
  • vsftpd_passive_min_port: Número mínimo de puerto para conexión de datos
    Nota: útil para la configuración del firewall.

    • requerido: No
  • vsftpd_passive_max_port: Número máximo de puerto para conexión de datos
    Nota: útil para la configuración del firewall.

    • requerido: No
  • vsftpd_passive_address: Dirección IP para la conexión.

    • requerido: No
  • vsftpd_ssl_enabled: Habilitar o deshabilitar el soporte SSL.

    • requerido: No
    • valor predeterminado: false
    • opciones: true o false
  • vsftpd_ssl_privkey: Ruta a la clave del certificado SSL.

    • requerido: si vsftpd_ssl_enabled es 'True'.
  • vsftpd_ssl_certificate: Ruta al certificado SSL.

    • requerido: si vsftpd_ssl_enabled es 'True'.
  • vsftpd_ssl_implicit: Habilitar o deshabilitar TLS implícito
    Si habilitado, un apretón de manos SSL es lo primero que se espera en todas las conexiones (FTPs)
    Si deshabilitado, se habilita TLS explícito (FTPes).

    • requerido: No
    • valor predeterminado: true
    • opciones: true o false
  • vsftpd_systemd_service_name: Nombre de la instancia de vsftpd
    Nota: Si redefinido, el archivo de configuración de vsftpd y el archivo de servicio systemd heredarán este nombre. Si no se redefine, el archivo de configuración y el archivo de servicio systemd mantendrán sus valores predeterminados.
    Ejemplo: con vsftpd_systemd_service_name establecido en 'vsftpd-implicit', el archivo de configuración será /etc/vsftpd/vsftpd-implicit.conf y el archivo de servicio systemd será vsftpd@vsftpd-implicit.service.

    • requerido: No
    • valor predeterminado: vsftpd
  • vsftpd_guest_username: Un inicio de sesión de invitado (todas las no anónimas) se remapea al usuario real especificado en esta configuración.

    • requerido: No
  • vsftpd_enable_virt_users: Habilitar usuarios virtuales en la instancia de vsftpd
    Nota: establecer esta variable en 'true' sobrescribirá la variable vsftpd_chroot_local_users a 'true'.

    • requerido: No. Pero, si tienes que definir usuarios virtuales a través de vsftpd_virt_users, debes establecer vsftpd_enable_virt_users a 'True'.
    • valor predeterminado: false
    • opciones: true o false
  • vsftpd_no_log: Deshabilitar la registración de tareas que manejan información sensible.

    • requerido: No.
    • valor predeterminado: true
    • opciones: true o false
  • vsftpd_virt_users: Lista de usuarios virtuales habilitados con sobrescrituras de parámetros por usuario.

    • requerido: No

      Parámetros disponibles por usuario:

      • username: nombre de usuario del usuario virtual actual.
        • requerido: Sí
      • password: contraseña del usuario virtual actual.
        • requerido: Sí
      • local_root: directorio home del usuario virtual actual.
        • requerido: No
      • write_enable: permiso de escritura del usuario virtual actual.
        • requerido: No
      • guest_username: remapeo del usuario virtual actual al usuario local especificado.
        • requerido: No

      Ejemplo: ver ejemplos a continuación.

Uso

  • FTP inseguro
---
- hosts: host01
  gather_facts: yes
  become: yes
    - role: ansible-role-vsftpd
  • FTP seguro con TLS explícito (FTPes)
---
- hosts: host01
  gather_facts: yes
  become: yes
    - role: ansible-role-vsftpd
      vsftpd_ssl_enabled: true
      vsftpd_ssl_privkey: /etc/vsftpd/ssl/vsftpd.key
      vsftpd_ssl_certificate: /etc/vsftpd/ssl/vsftpd.crt
      vsftpd_ssl_implicit: false
  • FTP seguro con TLS implícito (FTPs)
---
- hosts: host01
  gather_facts: yes
  become: yes
    - role: ansible-role-vsftpd
      vsftpd_ssl_enabled: true
      vsftpd_ssl_privkey: /etc/vsftpd/ssl/vsftpd.key
      vsftpd_ssl_certificate: /etc/vsftpd/ssl/vsftpd.crt
      vsftpd_ssl_implicit: true
  • FTP inseguro con usuarios virtuales
---
- hosts: host01
  gather_facts: yes
  become: yes
    - role: ansible-role-vsftpd
      vsftpd_enable_virt_users: true
      vsftpd_virt_users:
        - username: xat
          password: xat
          guest_username: www-data
          local_root: /var/www/
          write_enable: yes
        - username: jdoe
          password: jdoe
          guest_username: www-data
          local_root: /var/www
          write_enable: no

Contribuir

Hoja de ruta

Acerca del proyecto

Install and configure vsftpd FTP server.

Instalar
ansible-galaxy install xat59.vsftpd
Licencia
lgpl-3.0
Descargas
930
Propietario
IT passionate. #cloud #devops #terraform #ansible #k8s #aws #azure