vsftpd
Vzhled
Aktuální verze | 3.0.5 (2. srpna 2021) |
---|---|
Operační systém | UN*X |
Typ softwaru | FTP server a svobodný software |
Licence | GPLv2 |
Web | security |
Některá data mohou pocházet z datové položky. |
vsftpd (anglicky Very Secure FTP Daemon) 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í.
Vlastnosti vsftpd
[editovat | editovat zdroj]- podpora IPv6
- pasivní i aktivní mód přenosu
- podpora SSL
- podpora lokálních i anonymních uživatelů
- virtuální IP adresy
- nastavení pro každého uživatele zvlášť
- datové limity pro IP adresy nebo uživatele
Používání vsftpd
[editovat | editovat zdroj]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.conf
. Server lze konfigurovat pomocí odkomentování/zakomentování jednotlivých voleb.
Příklady nastavení
[editovat | editovat zdroj]- 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.
- 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
[editovat | editovat zdroj]- 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.pem 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é
[editovat | editovat zdroj]- 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)
- .htaccess souborům serveru Apache, PAM modul (pam_pwdfile)
- databáze (Berkeley DB, MySQL, PostgreSQL, ...), PAM modul (pam_userdb)
Využití modulu pam_pwdfile
[editovat | editovat zdroj]- 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
[editovat | editovat zdroj]- 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
[editovat | editovat zdroj]- http://vsftpd.beasts.org/ – domovská stránka projektu
- http://www.security-portal.cz/clanky/příklad-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/