Az FTP kapcsolat beállítása és használata Total Commanderrel
Tartalomjegyzék:
- Előfeltételek
- A vsftpd telepítése az Ubuntu 18.04-re
- A vsftpd konfigurálása
- 1. FTP hozzáférés
- 2. A feltöltések engedélyezése
- 3. Chroot börtön
- 4. Passzív FTP kapcsolatok
- 5. A felhasználói bejelentkezés korlátozása
- 6. Az átvitel biztosítása SSL / TLS-sel
- Indítsa újra a vsftpd szolgáltatást
- A tűzfal megnyitása
- FTP felhasználó létrehozása
- A Shell Access letiltása
- Következtetés
Az FTP (File Transfer Protocol) egy szabványos hálózati protokoll, amelyet fájlok továbbítására távoli hálózatba és onnan távolítanak el. A biztonságosabb és gyorsabb adatátvitel érdekében használja az SCP-t vagy az SFTP-t.
Számos nyílt forrású FTP-kiszolgáló érhető el a Linux számára. A legnépszerűbb és legszélesebb körben alkalmazott PureFTPd, ProFTPD és vsftpd. Ebben az oktatóanyagban a vsftpd-t (Nagyon biztonságos Ftp Daemon) telepítjük. Ez egy stabil, biztonságos és gyors FTP szerver. Megmutatjuk azt is, hogyan konfigurálhatja a vsftpd-t, hogy korlátozza a felhasználókat az otthoni könyvtárba, és a teljes átvitelt SSL / TLS-rel titkosítsa.
Noha ez az oktatóanyag az Ubuntu 18.04-re készült, ugyanazok az utasítások vonatkoznak az Ubuntu 16.04-re és minden Debian-alapú disztribúcióra, beleértve a Debianot, a Linux Mint-et és az Elementary OS-t.
Előfeltételek
Mielőtt folytatná ezt az oktatóprogramot, győződjön meg arról, hogy be van jelentkezve mint sudo jogosultságokkal rendelkező felhasználó.
A vsftpd telepítése az Ubuntu 18.04-re
A vsftpd csomag az Ubuntu tárolókban érhető el. A telepítéshez futtassa a következő parancsokat:
sudo apt update
sudo apt install vsftpd
A vsftpd szolgáltatás automatikusan elindul a telepítés befejezése után. Ellenőrizze a szolgáltatás állapotának kinyomtatásával:
sudo systemctl status vsftpd
A kimenet az alábbiak szerint néz ki, jelezve, hogy a vsftpd szolgáltatás aktív és fut:
* vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-10-15 03:38:52 PDT; 10min ago Main PID: 2616 (vsftpd) Tasks: 1 (limit: 2319) CGroup: /system.slice/vsftpd.service `-2616 /usr/sbin/vsftpd /etc/vsftpd.conf
A vsftpd konfigurálása
A vsftpd szerver az
/etc/vsftpd.conf
fájl szerkesztésével konfigurálható. A legtöbb beállítás jól dokumentálva van a konfigurációs fájlban. Az összes elérhető opcióért keresse fel a hivatalos vsftpd oldalt.
A következő szakaszokban bemutatunk néhány fontos beállítást, amelyek szükségesek a biztonságos vsftpd telepítés konfigurálásához.
Kezdje a vsftpd konfigurációs fájl megnyitásával:
1. FTP hozzáférés
Csak az FTP szerverhez
local_enable
a helyi felhasználókhoz, megtaláljuk az
local_enable
és a
local_enable
irányelveket, és ellenőrizzük, hogy a konfiguráció megfelel-e az alábbi soroknak:
anonymous_enable=NO local_enable=YES
2. A feltöltések engedélyezése
Távolítsa el az
write_enable
beállítást, hogy engedélyezze a fájlrendszer olyan módosításait, mint a fájlok feltöltése és törlése.
3. Chroot börtön
Annak megakadályozása érdekében, hogy az FTP-felhasználók hozzáférjenek minden fájlhoz a saját otthoni könyvtáraikon kívül, törölje a
chroot
beállítást.
chroot_local_user=YES
Alapértelmezés szerint a biztonsági rés elkerülése érdekében, ha a chroot engedélyezve van, a vsftpd megtagadja a fájlok feltöltését, ha a felhasználók által lezárt könyvtár írható.
Használja az alábbi módszerek egyikét a feltöltések engedélyezéséhez, ha a chroot engedélyezve van.
-
1. módszer - A feltöltés engedélyezéséhez javasolt módszer a chroot engedélyezése és az FTP könyvtárak konfigurálása. Ebben az oktatóanyagban létrehozunk egy
/etc/vsftpd.confftp
könyvtárat a felhasználói otthonban, amely chrootként szolgál, és egy írhatóuploads
könyvtár a fájlok feltöltéséhez.user_sub_token=$USER local_root=/home/$USER/ftp
2. módszer - Egy másik lehetőség az, hogy a következő irányelvet hozzáadjuk a vsftpd konfigurációs fájlhoz. Ezt a beállítást akkor használja, ha a felhasználó otthoni könyvtárába írható hozzáférést kell engedélyeznie.
/etc/vsftpd.confallow_writeable_chroot=YES
4. Passzív FTP kapcsolatok
A vsftpd bármilyen portot használhat passzív FTP kapcsolatokhoz. Megadjuk a minimális és maximális porttartományt, majd később megnyitjuk a tartományt a tűzfalunkban.
Adja hozzá a következő sorokat a konfigurációs fájlhoz:
/etc/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. A felhasználói bejelentkezés korlátozása
Annak érdekében, hogy csak bizonyos felhasználók jelentkezhessenek be az FTP-kiszolgálóra, a következő sorokat kell hozzáadni a fájl végéhez:
userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
Ha ez az opció engedélyezve van, akkor kifejezetten meg kell határoznia, hogy mely felhasználók jelentkezhetnek be a felhasználónevek hozzáadásával az
/etc/vsftpd.user_list
fájlhoz (soronként egy felhasználó).
6. Az átvitel biztosítása SSL / TLS-sel
Az FTP-átvitel SSL / TLS-lel való titkosításához SSL-tanúsítvánnyal kell rendelkeznie, és konfigurálnia kell az FTP-kiszolgálót annak használatához.
Használhat egy meglévő SSL tanúsítványt, amelyet egy megbízható igazolási hatóság írt alá, vagy létrehozhat egy önaláírt tanúsítványt.
Az
openssl
paranccsal önaláírt SSL tanúsítványt állítunk elő.
A következő parancs egy 2048 bites privát kulcsot és saját aláírással ellátott tanúsítványt hoz létre 10 évig. A privát kulcsot és a tanúsítványt egyazon fájlba menti:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Az SSL tanúsítvány létrehozása után nyissa meg a vsftpd konfigurációs fájlt:
sudo nano /etc/vsftpd.conf
Keresse meg az
rsa_cert_file
és az
rsa_private_key_file
irányelveket, változtassa meg értéküket a
pam
fájl elérési útjára, és állítsa az
ssl_enable
irányelvet
YES
értékre:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES
Ha másképp nincs megadva, az FTP-kiszolgáló csak a TLS-t fogja használni a biztonságos kapcsolatok létrehozásához.
Indítsa újra a vsftpd szolgáltatást
A szerkesztés befejezése után a vsftpd konfigurációs fájlnak (a hozzászólások kivételével) a következőnek kell kinéznie:
/etc/vsftpd.conf
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
Mentse a fájlt, és indítsa újra a vsftpd szolgáltatást, hogy a változások érvénybe lépjenek:
A tűzfal megnyitása
A
21
port (FTP parancs port), a
20
port (FTP adat port) és a
30000-31000
port (Passzív portok tartománya) megnyitásához futtassa a következő parancsokat:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
A zárolás elkerülése érdekében nyissa ki a
22
portot:
sudo ufw allow OpenSSH
Töltse újra az UFW szabályokat az UFW letiltásával és újra engedélyezésével:
sudo ufw disable
sudo ufw enable
A futtatott módosítások ellenőrzése:
sudo ufw status
Status: active To Action From -- ------ ---- 20:21/tcp ALLOW Anywhere 30000:31000/tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 20:21/tcp (v6) ALLOW Anywhere (v6) 30000:31000/tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)
FTP felhasználó létrehozása
Az FTP szerver teszteléséhez új felhasználót fogunk létrehozni.
- Ha már van olyan felhasználó, akinek FTP-hozzáférést kíván megadni, akkor hagyja ki az 1. lépést. Ha a konfigurációs fájlban beállítja az
allow_writeable_chroot=YES
beállítást, akkor hagyja ki a 3. lépést.
-
Hozzon létre egy új felhasználót
newftpuser
:sudo adduser newftpuser
Adja hozzá a felhasználót az engedélyezett FTP-felhasználók listájához:
echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list
Hozza létre az FTP könyvtárfát, és állítsa be a megfelelő engedélyeket:
sudo mkdir -p /home/newftpuser/ftp/upload
sudo chmod 550 /home/newftpuser/ftp
sudo chmod 750 /home/newftpuser/ftp/upload
sudo chown -R newftpuser: /home/newftpuser/ftp
Amint azt az előző szakaszban tárgyaltuk, a felhasználó képes lesz feltölteni fájljait az
ftp/upload
könyvtárba.
Ezen a ponton az FTP-kiszolgáló teljesen működőképes, és képesnek kell lennie arra, hogy bármilyen FTP-klienssel csatlakozzon a kiszolgálóhoz, amelyet konfigurálhat a TLS-titkosításhoz, például a FileZilla.
A Shell Access letiltása
Alapértelmezés szerint a felhasználó létrehozásakor, ha nincs kifejezetten megadva, a felhasználó SSH hozzáféréssel rendelkezik a szerverhez.
A héjhoz való hozzáférés letiltásához létrehozunk egy új héjat, amely egyszerűen kinyomtat egy üzenetet, amelyben kijelenti, hogy a felhasználó fiókja csak az FTP hozzáférésre korlátozódik.
Hozza létre a
/bin/ftponly
héjat, és tegye futtathatóvá:
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly
Helyezze az új héjat az
/etc/shells
fájl érvényes héjainak listájához:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Változtassa meg a felhasználói héjat
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Ugyanazzal a paranccsal módosíthatja azon felhasználók héját, akiknek csak FTP-hozzáférést szeretne megadni.
Következtetés
Ebben az oktatóanyagban megtanulta, hogyan kell biztonságos és gyors FTP-kiszolgálót telepíteni és konfigurálni az Ubuntu 18.04 rendszeren.
ftp ubuntuA Windows 8 mint otthoni szerver beállítása
A számítógép beállítása otthoni vagy kisvállalati kiszolgálóként, időt, pénzt és tárhelyet takaríthat meg, miközben megosztja több számítógépről és mobileszközökről
Az ftp szerver beállítása és használata az androidon
Szeretne fájlokat továbbítani az Android készülékről a számítógépre USB kábel nélkül? Próbálja ki az FTP-kiszolgáló módszerét a fájlok vezeték nélküli megosztására az Android és a PC között.
Az ftp szerver beállítása a vsftpd segítségével a centos 7-en
Ebben az oktatóanyagban a vsftpd-t telepítjük. Ez egy stabil, biztonságos és gyors FTP szerver. Megmutatjuk azt is, hogyan konfigurálhatja a vsftpd-t, hogy a felhasználókat az otthoni könyvtárra korlátozza, és a teljes átvitelt SSL / TLS segítségével titkosítsa.