CM Host - FTP fiókok létrehozása
Tartalomjegyzék:
- Előfeltételek
- A vsftpd telepítése a CentOS 7-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 kliens-szerver hálózati protokoll, amely lehetővé teszi a felhasználók számára, hogy fájlokat továbbítsanak egy távoli hálózatba és onnan.
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 a CentOS 7-re. Ez egy stabil, biztonságos és gyors FTP-kiszolgáló. 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.
A biztonságosabb és gyorsabb adatátvitel érdekében használja az SCP-t vagy az SFTP-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 a CentOS 7-re
A vsftpd csomag az alapértelmezett CentOS adattárakban érhető el. A telepítéshez adja ki a következő parancsot:
sudo yum install vsftpd
A csomag telepítése után indítsa el a vsftpd démont, és engedélyezze, hogy automatikusan elinduljon a rendszerindításkor:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Ellenőrizheti, hogy a vsftpd szolgáltatás fut-e, á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 daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2018-11-22 09:42:37 UTC; 6s ago Main PID: 29612 (vsftpd) CGroup: /system.slice/vsftpd.service └─29612 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
A vsftpd konfigurálása
A vsftpd szolgáltatás konfigurálása az
/etc/vsftpd/vsftpd.conf
konfigurációs fájl szerkesztését foglalja magában. 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/vsftpd.conf
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
Akadályozza meg az FTP-felhasználókat, hogy hozzáférjenek minden fájlhoz az otthoni könyvtáraikon kívül a
chroot
irányelv megjegyzésének megszüntetésével.
chroot_local_user=YES
Alapértelmezés szerint, 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ó. Ennek célja egy biztonsági rés elkerülése.
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/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/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/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. A felhasználói bejelentkezés korlátozása
Csak bizonyos felhasználók számára az FTP-kiszolgálóra való belépés engedélyezéséhez adja hozzá a következő sorokat a
userlist_enable=YES
sor után:
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ájlba (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/vsftpd/vsftpd.pem -out /etc/vsftpd/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/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/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/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/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES userlist_file=/etc/vsftpd/user_list userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
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)
30000-31000
ki a következő parancsokat:
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Töltse fel újra a tűzfalszabályokat a következő gépeléssel:
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
Ezután be kell állítania a felhasználói jelszót:
sudo passwd 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 csatlakozzon a kiszolgálóhoz bármely olyan FTP-klienssel, 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.
Futtassa a következő parancsokat a
/bin/ftponly
héj létrehozásához és végrehajthatóvá tételéhez:
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 a héjat azoknak a felhasználóknak, 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 CentOS 7 rendszeren.
ftp centosA 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 vsftpd-vel az ubuntu 18.04-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.