Tento dokument popisuje, jak nainstalovat a nakonfigurovat ProFTPD na Debian Wheezy Server, bude také fungovat na Ubuntu 14.04. ProFTPD je FTP démon pro unixové a unixové operační systémy. ProFTPD je vyvíjen, vydáván a distribuován pod licencí GNU Public License (GPL), která jej v zásadě staví jako svobodný software, což znamená, že jej lze prodávat, licencovat a jinak s ním manipulovat jakýmkoli požadovaným způsobem, pokud úplný a úplný zdrojový kód doprovází jakýkoli ProFTPD balíčky nebo je zpřístupněn všemi weby, které distribuují předkompilované binární soubory. Software může být upraven kýmkoli a kdykoli, pokud jsou všechna odvozená díla také licencována podle veřejné licence GNU.
Tato příručka bude fungovat pro servery Ubuntu i Debian.
1 předběžná poznámka
Tento výukový program je založen na serveru Debian 7.6, takže před pokračováním v tomto výukovém programu byste měli nastavit základní instalaci serveru Debian 7.6. Systém by měl mít statickou IP adresu. V tomto návodu používám jako svou IP adresu 192.168.0.100 a jako název hostitele server1.example.com.
2 Nainstalujte ProFTPD
2.1 Instalace:
Nejprve nainstalujeme ProFTPD a OpenSSL následovně:
apt-get install proftpd openssl
Zobrazí se dotaz na ProFTPD, vyberte možnost Standalone a stiskněte Ok.
Verzi ProFTPD můžeme zkontrolovat následovně:
proftpd -v[chráněno e-mailem]:~# proftpd -v
ProFTPD verze 1.3.4a
[chráněno e-mailem]:~#
2.2 Vytváření uživatelů ProFTPD
Za tímto účelem vytvořím skupinu ftpgroup a uživatele srijan pro ProFTPD. Omezím uživatele srijan s domovským adresářem jako /ftpshare
addgroup ftpgroup
adduser srijan -shell /bin/false -home /ftpshare
[email protected]:~# adduser srijan -shell /bin/false -home /ftpshare
Adding user `srijan' ...
Adding new group `srijan' (1002) ...
Adding new user `srijan' (1001) with group `srijan' ...
Creating home directory `/ftpshare' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <--ftppassword
Retype new UNIX password: <--ftppassword
passwd: password updated successfully
Changing the user information for srijan
Enter the new value, or press ENTER for the default<--ENTER
Full Name []: <--ENTER
Room Number []: <--ENTER
Work Phone []: <--ENTER
Home Phone []: <--ENTER
Other []: <--ENTER
Is the information correct? [Y/n] <--Y
[email protected]:~#
Nyní přidáme uživatele srijan do ftpgroup následovně:
adduser srijan ftpgroup
Dále musíme zajistit, aby byl adresář chráněn před odstraněním a přejmenováním jeho obsahu jakýmkoli uživatelem, takže změníme oprávnění adresáře následovně:
chmod -R 1777 /ftpshare/
Dále musíme nakonfigurovat ProFTPD následovně:
nano /etc/proftpd/proftpd.conf
Proveďte změny jako na obrázku
[...]
UseIPv6 off
[...]
<Global>
RootLogin off RequireValidShell off </Global> DefaultRoot ~ <Limit LOGIN> DenyGroup !ftpgroup </Limit>
Nepoužívám IPV6, takže jsem udělal výše, deaktivuji přihlášení uživatele root s ProFTPD pomocí RootLogon off. DefaultRoot je přidán k omezení přístupu uživatelů pouze k jejich domovským složkám. DenyGroup povolí přístup k ftp serveru pouze uživatelům z ftpgroup, všechna ostatní připojení budou odmítnuta.
Restartujte službu jako:
service proftpd restart
Někdy se při restartování služby zobrazí chyba, například
[email protected]:~# restart služby proftpd[ ok ] Zastavení ftp serveru:proftpd.
[....] Spouštění ftp serveru:proftpdserver1 proftpd[6052]:mod_tls_memcache/0.1:upozornění:nelze pro registraci 'memcache' SSL relace cache:Podpora Memcache není povolena
. ok
[e-mail chráněný]:~#
Tuto chybu můžeme překonat úpravou souboru /etc/proftpd/modules.conf a zakomentováním řádku následovně:
nano /etc/proftpd/modules.conf
[...]
#LoadModule mod_tls_memcache.c
[...]
Vyřeší chybu.
Nyní se můžeme přihlásit pomocí uživatele srijan a hesla na ftp://192.168.0.100
3 Povolení TLS v ProFTPD
Chcete-li povolit TLS v ProFTPD, otevřete /etc/proftpd/proftpd.conf
nano /etc/proftpd/proftpd.conf
Proveďte změny následovně a odkomentujte řádek:
[...]
Include /etc/proftpd/tls.conf
[...]
Nyní provedeme zálohu původního souboru a poté soubor upravíme, jak je uvedeno níže:
cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
cat /dev/null > /etc/proftpd/tls.conf
nano /etc/proftpd/tls.conf
Zadejte položky podle obrázku
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSOptions NoCertRequest TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRequired on </IfModule>
Abychom mohli používat TLS, musíme vytvořit SSL certifikát. Vytvořím jej v /etc/proftpd/ssl, proto nejprve vytvořím tento adresář:
mkdir /etc/proftpd/ssl
Poté můžeme vygenerovat certifikát SSL následovně:
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
Název země (2 písmenný kód) [AU]: <-- Zadejte název země (např. „DE“).
Název státu nebo provincie (celé jméno) [Some-State]: <-- Zadejte název státu nebo provincie.
Název lokality (např. město) []: <-- Zadejte své město.
Název organizace (např. společnost) [Internet Widgits Pty Ltd]: <-- Zadejte název organizace (např. název vaší společnosti).
Název organizační jednotky (např. sekce) []: <-- Zadejte název organizační jednotky (např. „IT oddělení“).
Běžný název (např. VAŠE jméno) []: <-- Zadejte plně kvalifikovaný název domény systému (např. "server1.example.com").
E-mailová adresa []: <-- Zadejte svou e-mailovou adresu.
Nyní z bezpečnostních důvodů učiním certifikáty čitelné pouze následovně:
chmod 0440 /etc/proftpd/ssl/proftpd.key.pem
Nakonec restartujte službu ProFTPD následovně:
service proftpd restart
K serveru ProFTPD se můžeme připojit pomocí softwaru FileZilla. Abyste se mohli připojit k serveru, musíte mít na klientovi nainstalovanou FileZilla. Otevřete FileZilla a zadejte podrobnosti takto:
Podrobnosti budou
Host =192.168.0.100
Protokol =FTP
Uživatel =srijan
Port =může být prázdný, pokud jste jej neupravili na jiný port než 21
Heslo =ftppassword (právě vytvořeno výše)
Poznámka:Protože jsme ve výše uvedeném kroku zašifrovali naše připojení, budeme používat šifrování s Vyžadovat explicitní FTP přes TLS
Pokud jste nenakonfigurovali TLS, můžete použít Použít prostý FTP
Požádá o důvěryhodnost certifikátů, stiskněte OK
Bude připojen ke sdílenému adresáři FTP.
4 Anonymní FTP přístup v ProFTPD
Můžeme vytvořit anonymní FTP účet v ProFTPD, stačí přidat tyto položky do konfiguračního souboru ProFTPD:
nano /etc/proftpd/proftpd.conf
A přidejte tyto položky na konec souboru,
[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group nogroup <Limit LOGIN> AllowAll </Limit> # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # Limit the maximum number of anonymous logins MaxClients 10 # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> ~
Nyní jej připojte přes FileZilla následovně:
Poznámka:Protože jsme ve výše uvedeném kroku zašifrovali naše připojení, budeme používat šifrování s Vyžadovat explicitní FTP přes TLS
Pokud jste nenakonfigurovali TLS, můžete použít Použít prostý FTP
Stiskněte Připojit:
Zobrazí se dotaz na důvěryhodnost certifikátů, stiskněte OK
Úspěšně jsme se připojili k serveru s anonymním uživatelem.
Gratulujeme! Nyní jsme úspěšně nakonfigurovali prostředí serveru ProFTPD v Debian Wheezy :)
5 odkazů
- Debian:https://www.debian.org/
- Ubuntu:http://www.ubuntu.com/
- ProFTPD:http://www.proftpd.org/