Vsftpd
![Avatar](assets/img/avatar/39.jpg)
Author
Albert Floresvsftpd je v informatice název pro FTP server používaný v unixových systémech. Program je chráněn GPL licencí, jeho cílem je poskytnutí stability, výkonu a flexibility nastavení.
Používání vsftpd
Balíček vsftpd je standardní součástí většiny linuxových distribucí. Konfigurační soubor je umístěn v souboru /etc/vsftpd/vsftpd. +moreconf. Server lze konfigurovat pomocí odkomentování/zakomentování jednotlivých voleb.
Příklady nastavení
;anonymous_enable=YES: Nastavení povoluje přihlašování anonymním uživatelům. Implicitně je přihlašování anonymních uživatelů povoleno, lze zakázat zakomentováním volby nebo změny YES na NO. +more local_enable=YES: Volba povoluje přihlášení všem systémovým uživatelům. Implicitní hodnota je NO. local_umask=022: Volba nastavuje masku pro lokální uživatele. Maska 022 znamená, že vytvořený soubor/adresář bude moci číst a editovat pouze vlastník a skupina a ostatní mají pouze právo čtení. listen=YES: Démon vsftpd bude spuštěn jako samostatný server. listen_ipv6=YES: Volba zapíná podporu IPv6.
SSL a TLS
vsftpd vyžaduje, aby byl soukromý klíč a certifikát v jednom souboru. * certifikát s klíčem nakopírovat například do adresáře /etc/vsftpd/vsftpd-cert-key. +morepem a nastavit příslušná práva( chmod 600). * co konfiguračního souboru přidáme následující direktivy (podpora SSL a TLS):.
ssl_enable=YES ssl_tlsv1=YES rsa_cert_file=/etc/vsftpd/vsftpd.pem force_local_logins_ssl=YES force_local_data_ssl=YES
Virtuální uživatelé
Podpora virtuálních uživatelů je v serveru vsftpd realizována za pomoci PAM. Jména a hesla uživatelů lze ukládat: ** textový soubor (PAM modul pam_pwdfile) ** . +morehtaccess souborům serveru Apache, PAM modul (pam_pwdfile) ** databáze (Berkeley DB, MySQL, PostgreSQL, . ), PAM modul (pam_userdb).
Využití modulu pam_pwdfile
Výhodou tohoto řešení je snadná správa souboru s virtuálními uživateli a hesly (při malém počtu těchto uživatelů) a možnost sdílet tyto uživatele s uživateli Apache. Formát tohoto souboru je následující:
jmeno:zašifrované_heslo456456456 * virtuální uživatelé musí být mapováni přes konkrétního systémového uživatele:
*useradd virtualftp -m -d /data/virtualftp -s /sbin/nologin
* Obsah souboru /etc/pam.d/ftp:
auth required pam_pwdfile.so pwdfile /etc/vsftpd/passwd account required pam_permit.so
* Přidání uživatele pomocí utility htpasswd:
htpasswd -c /etc/vsftpd/passwd ondra
* Direktivy pro konfigurační soubor:
anonymous_enable=NO local_enable=YES
guest_enable=YES guest_username=virtualftp chroot_local_user=YES
pam_service_name=ftp
local_root=/data/virtualftp/$USER user_sub_token=$USER
* Adresář pro daného virtuálního uživatele vytvoříme
mkdir /data/virtualftp/ondra chown virtualftp:virtualftp /data/virtualftp/ondra chmod 750 /data/virtualftp/ondra
Využití modulu pam_userdb
Nejprve je nutné vytvořit textový soubor který obsahuje:
ondra Ofddhrtt54A?
* Liché řádky obsahují uživatelská jména, sudé řádky hesla. * Nahrajeme uživatele do databáze:
db_load -T -t hash -f db.txt /etc/vsftpd/passwd.db
* Obsah souboru /etc/pam.d/ftp:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/passwd account required /lib/security/pam_userdb.so db=/etc/vsftpd/passwd
* Directivy pro konfigurační soubor:
anonymous_enable=NO local_enable=YES
guest_enable=YES guest_username=virtualftp chroot_local_user=YES
pam_service_name=ftp
write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO
Externí odkazy
http://vsftpd. beasts. +moreorg/ - domovská stránka projektu * http://www. security-portal. cz/clanky/p%C5%99%C3%ADklad-konfigurace-vsftpd - příklad konfigurace * https://web. archive. org/web/20101231045505/http://wiki. vpslink. com/Configuring_vsftpd_for_secure_connections_(TLS/SSL/SFTP) * http://howto. gumph. org/content/setup-virtual-users-and-directories-in-vsftpd/.