Configure the Vsftpd Linux FTP Server on Centos7
Talaan ng mga Nilalaman:
- Mga kinakailangan
- Pag-install ng vsftpd sa CentOS 7
- Pag-configure sa vsftpd
- 1. Pag-access sa FTP
- 2. Paganahin ang pag-upload
- 3. Chroot Jail
- 4. Passive FTP na Koneksyon
- 5. Limitahan ang Pag-login sa Gumagamit
- 6. Pag-secure ng Mga Transmissions kasama ang SSL / TLS
- I-restart ang Serbisyo ng vsftpd
- Pagbukas ng Firewall
- Paglikha ng isang FTP Gumagamit
- Hindi pagpapagana ng Pag-access sa Shell
- Konklusyon
Ang FTP (File Transfer Protocol) ay isang standard na protocol ng client-server network na nagpapahintulot sa mga gumagamit na maglipat ng mga file papunta at mula sa isang malayong network.
Mayroong maraming mga bukas na mapagkukunan ng FTP server na magagamit para sa Linux. Ang pinakatanyag at malawak na ginagamit ay PureFTPd, ProFTPD, at vsftpd.
Sa tutorial na ito, mai-install namin ang vsftpd (Very Secure Ftp Daemon) sa CentOS 7. Ito ay isang matatag, secure at mabilis na FTP server. Ipapakita rin namin sa iyo kung paano i-configure ang vsftpd upang higpitan ang mga gumagamit sa kanilang direktoryo sa bahay at i-encrypt ang buong paghahatid sa SSL / TLS.
Para sa mas ligtas at mas mabilis na paglilipat ng data, gumamit ng SCP o SFTP.
Mga kinakailangan
Bago magpatuloy sa tutorial na ito, siguraduhing naka-log in ka bilang isang gumagamit na may mga pribilehiyo ng sudo.
Pag-install ng vsftpd sa CentOS 7
Ang pakete ng vsftpd ay magagamit sa mga default na repositories ng CentOS. Upang mai-install ito, mag-isyu ng sumusunod na utos:
sudo yum install vsftpd
Kapag na-install ang package, simulan ang daftpd daemon at paganahin ito upang awtomatikong magsimula sa oras ng boot:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Maaari mong i-verify ang serbisyo ng vsftpd ay tumatakbo sa pamamagitan ng pag-print ng katayuan nito:
sudo systemctl status vsftpd
Ang output ay magmumukhang isang bagay tulad ng sa ibaba, na nagpapakita na ang serbisyo ng vsftpd ay aktibo at tumatakbo:
● 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
Pag-configure sa vsftpd
Ang
/etc/vsftpd/vsftpd.conf
serbisyo sa vsftpd ay nagsasangkot sa pag-edit ng
/etc/vsftpd/vsftpd.conf
file ng pagsasaayos. Karamihan sa mga setting ay maayos na na-dokumentado sa loob ng file ng pagsasaayos. Para sa lahat ng magagamit na mga pagpipilian bisitahin ang opisyal na pahina ng vsftpd.
Sa mga sumusunod na seksyon, pupunta kami sa ilang mahahalagang setting na kinakailangan upang i-configure ang isang secure na pag-install ng vsftpd.
Magsimula sa pamamagitan ng pagbubukas ng vsftpd na file ng pagsasaayos:
sudo nano /etc/vsftpd/vsftpd.conf
1. Pag-access sa FTP
Pinahihintulutan namin ang pag-access sa FTP server lamang sa mga lokal na gumagamit, hanapin ang
anonymous_enable
at
local_enable
at i-verify ang iyong pagtutugma ng pagsasaayos sa mga linya sa ibaba:
anonymous_enable=NO local_enable=YES
2. Paganahin ang pag-upload
Hindi
write_enable
setting na
write_enable
maaaring payagan ang mga pagbabago sa filesystem tulad ng pag-upload at pagtanggal ng mga file.
3. Chroot Jail
Pigilan ang mga gumagamit ng FTP na ma-access ang anumang mga file sa labas ng kanilang mga direktoryo sa bahay sa pamamagitan ng hindi pag-uusap ng
chroot
direktiba.
chroot_local_user=YES
Bilang default, kapag pinapagana ang chroot na vsftpd ay tumangging mag-upload ng mga file kung ang direktoryo na nakakonekta ang mga gumagamit ay nakasulat. Ito ay upang maiwasan ang kahinaan sa seguridad.
Gumamit ng isa sa mga pamamaraan sa ibaba upang payagan ang pag-upload kapag pinagana ang chroot.
-
Paraan 1. - Ang inirekumendang pamamaraan upang pahintulutan ang pag-upload ay upang mapanatili ang paganahin ng chroot at i-configure ang mga direktoryo ng FTP. Sa tutorial na ito, gagawa kami ng isang direktoryo ng
/etc/vsftpd/vsftpd.confftploob ng tahanan ng gumagamit na magsisilbing chroot at isang mai-uploadsdirektoryo ng upload para sa pag-upload ng mga file.user_sub_token=$USER local_root=/home/$USER/ftpParaan 2. - Ang isa pang pagpipilian ay upang idagdag ang sumusunod na direktiba sa file ng pagsasaayos ng vsftpd. Gamitin ang pagpipiliang ito kung kailangan mong magbigay ng nakasulat na pag-access sa iyong gumagamit sa direktoryo ng bahay nito.
/etc/vsftpd/vsftpd.confallow_writeable_chroot=YES
4. Passive FTP na Koneksyon
Maaaring gamitin ng vsftpd ang anumang port para sa mga pasibo na mga koneksyon sa FTP. Tukuyin namin ang minimum at maximum na saklaw ng mga port at kalaunan buksan ang saklaw sa aming firewall.
Idagdag ang mga sumusunod na linya sa file ng pagsasaayos:
/etc/vsftpd/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. Limitahan ang Pag-login sa Gumagamit
Upang payagan lamang ang ilang mga gumagamit na mag-login sa FTP server idagdag ang mga sumusunod na linya matapos ang
userlist_enable=YES
line:
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Kapag pinagana ang pagpipiliang ito kailangan mong malinaw na tukuyin kung aling mga gumagamit ang maaaring mag-login sa pamamagitan ng pagdaragdag ng mga pangalan ng gumagamit sa
/etc/vsftpd/user_list
file (isang gumagamit bawat linya).
6. Pag-secure ng Mga Transmissions kasama ang SSL / TLS
Upang ma-encrypt ang mga pagpapadala ng FTP sa SSL / TLS, kakailanganin mong magkaroon ng isang SSL certificate at i-configure ang FTP server upang magamit ito.
Maaari kang gumamit ng isang umiiral na sertipiko ng SSL na nilagdaan ng isang pinagkakatiwalaang Awtoridad ng Sertipiko o lumikha ng isang sertipiko na naka-sign sa sarili
Sa tutorial na ito, bubuo kami ng isang sertipiko ng SSL na naka-sign sa sarili gamit ang
openssl
command.
Ang sumusunod na utos ay lilikha ng isang 2048-bit pribadong key at sertipiko na nilagdaan ng sarili na may bisa sa loob ng 10 taon. Parehong ang pribadong key at sertipiko ay mai-save sa parehong file:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Kapag ang SSL sertipiko ay nilikha buksan ang vsftpd pagsasaayos ng file:
sudo nano /etc/vsftpd/vsftpd.conf
Hanapin ang
rsa_cert_file
at
rsa_private_key_file
tagubilin, baguhin ang kanilang mga halaga sa landas ng file ng
pam
file at itakda ang
ssl_enable
sa
YES
:
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
Kung hindi tinukoy kung hindi, ang FTP server ay gagamit lamang ng TLS upang makagawa ng mga ligtas na koneksyon.
I-restart ang Serbisyo ng vsftpd
Kapag tapos ka na ng pag-edit, ang file ng pagsasaayos ng vsftpd (hindi kasama ang mga komento) ay dapat magmukhang katulad nito:
/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
I-save ang file at i-restart ang serbisyo ng vsftpd para sa mga pagbabago na magkakabisa:
Pagbukas ng Firewall
Upang buksan ang port
21
(FTP command port), port
20
(FTP data port) at
30000-31000
(Passive port port), mag-isyu ng mga sumusunod na utos:
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Reload ang mga panuntunan ng firewall sa pamamagitan ng pag-type:
Paglikha ng isang FTP Gumagamit
Upang subukan ang aming FTP server ay gagawa kami ng isang bagong gumagamit.
- Kung mayroon ka nang isang gumagamit na nais mong bigyan ang FTP access laktawan ang 1st step.Kung nagtakda ka ng
allow_writeable_chroot=YESsa iyong file ng pagsasaayos na laktawan ang ika-3 na hakbang.
-
Lumikha ng isang bagong gumagamit na nagngangalang
newftpuser:sudo adduser newftpuserSusunod, kailangan mong itakda ang password ng gumagamit:
sudo passwd newftpuserIdagdag ang gumagamit sa pinapayagan na listahan ng mga gumagamit ng FTP:
echo "newftpuser" | sudo tee -a /etc/vsftpd/user_listLumikha ng puno ng direktoryo ng FTP at itakda ang tamang mga pahintulot:
sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser: /home/newftpuser/ftpTulad ng tinalakay sa nakaraang seksyon ang gumagamit ay maaaring mai-upload ang mga file nito sa direktoryo ng
ftp/upload.
Sa puntong ito ang iyong FTP server ay ganap na gumagana at dapat mong kumonekta sa iyong server sa anumang FTP client na maaaring mai-configure upang magamit ang TLS encryption tulad ng FileZilla.
Hindi pagpapagana ng Pag-access sa Shell
Bilang default, kapag lumilikha ng isang gumagamit, kung hindi malinaw na tinukoy ang gumagamit ay magkakaroon ng SSH access sa server.
Upang hindi paganahin ang pag-access sa shell, gagawa kami ng isang bagong shell na i-print lamang ang isang mensahe na nagsasabi sa gumagamit na ang kanilang account ay limitado lamang sa FTP access.
Patakbuhin ang sumusunod na mga utos upang lumikha ng
/bin/ftponly
shell at gawin itong maipapatupad:
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
Maglagay ng bagong shell sa listahan ng mga wastong shells sa
/etc/shells
file:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Baguhin ang shell ng gumagamit sa
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Gumamit ng parehong utos upang baguhin ang shell para sa iba pang mga gumagamit na nais mong bigyan lamang ng access sa FTP.
Konklusyon
Sa tutorial na ito, nalaman mo kung paano i-install at i-configure ang isang secure at mabilis na FTP server sa iyong CentOS 7 system.
ftp sentimoPaano mag-install ng minecraft server sa sentimo 7
Sa tutorial na ito, pupunta kami sa mga hakbang na kinakailangan upang mai-install at i-configure ang Minecraft Server sa CentOS 7. Gagamitin namin ang systemd upang patakbuhin ang server ng Minecraft at ang mcrcon utility para sa pagkonekta sa tumatakbo.
Paano mag-set up ng isang openvpn server sa sentimo 7
Pinapayagan ka ng isang VPN na kumonekta sa mga malalayong server ng VPN, na ginagawang naka-encrypt at secure ang iyong koneksyon at mag-surf sa web nang hindi nagpapakilala sa pamamagitan ng pagpapanatiling pribado ang iyong data ng trapiko. Sakop ng Tutorial na ito ang proseso ng pag-set up ng iyong sariling VPN server sa pamamagitan ng pag-install at pag-configure sa OpenVPN.
Paano mag-set up ng mga bloke nginx server sa sentimo 7
Pinapayagan ka ng Nginx Server Blocks na magpatakbo ng higit sa isang website sa isang solong makina. Sa tutorial na ito, ipapaliwanag namin kung paano i-set up ang mga bloke ng Nginx server sa CentOS 7.







