Android

Hogyan állítsunk be ftp szervert vsftpd-vel a debian 9-en

CM Host - FTP fiókok létrehozása

CM Host - FTP fiókok létrehozása

Tartalomjegyzék:

Anonim

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.

Ez az oktatóanyag elmagyarázza, hogyan kell telepíteni és konfigurálni a vsftpd-t (nagyon biztonságos Ftp-démont) a Debian 9-en. A vsftpd egy stabil, biztonságos és gyors FTP-kiszolgálóra vonatkozik. 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.

Előfeltételek

A bejelentkezett felhasználónak sudo jogosultságokkal kell rendelkeznie a csomagok telepítéséhez.

A vsftpd telepítése a Debian 9-re

A vsftpd csomag a Debian tárolóin elérhető. A telepítés nagyon egyszerű:

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-12-10 11:42:51 UTC; 53s ago Main PID: 1394 (vsftpd) CGroup: /system.slice/vsftpd.service └─1394 /usr/sbin/vsftpd /etc/vsftpd.conf

A vsftpd konfigurálása

A vsftpd szerver úgy konfigurálható, hogy módosítja a /etc könyvtárban található vsftpd.conf fájlt.

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:

sudo nano /etc/vsftpd.conf

1. FTP hozzáférés

Keresse meg az local_enable és a local_enable irányelveket, és ellenőrizze, hogy a konfiguráció megfelel-e az alábbi soroknak:

/etc/vsftpd.conf

anonymous_enable=NO local_enable=YES

Ez biztosítja, hogy csak a helyi felhasználók férjenek hozzá az FTP-kiszolgálóhoz.

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.

/etc/vsftpd.conf

write_enable=YES

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.

/etc/vsftpd.conf

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 ftp 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.

    /etc/vsftpd.conf

    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.conf

    allow_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:

/etc/vsftpd.conf

userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO

Ha ez az opció engedélyezve van, akkor egyértelműen 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.

Ebben az oktatóanyagban létrehozunk egy önaláírt SSL tanúsítványt az openssl paranccsal.

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:

/etc/vsftpd.conf

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/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key 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:

sudo systemctl restart vsftpd

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 a 22 portot is megnyitjuk:

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.
  1. 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 a Debian 9 rendszeren.

ftp debian