Установка и настройка CentOS в VirtualBox
İçindekiler:
- Ön şartlar
- CentOS 7'ye vsftpd kurulumu
- Vsftpd'yi yapılandırma
- 1. FTP Erişimi
- 2. Yüklemeleri etkinleştirme
- 3. Chroot Hapishanesi
- 4. Pasif FTP Bağlantıları
- 5. Kullanıcı Girişini Sınırlama
- 6. SSL / TLS ile İletimlerin Güvenliğini Sağlama
- Vsftpd Hizmetini yeniden başlatın
- Güvenlik Duvarını Açma
- Bir FTP Kullanıcısı Oluşturma
- Kabuk Erişimini Devre Dışı Bırakma
- Sonuç
FTP (Dosya Aktarım Protokolü), kullanıcıların uzak bir ağa ve uzak ağdan dosya aktarmalarına izin veren standart bir istemci-sunucu ağ protokolüdür.
Linux için birkaç açık kaynaklı FTP sunucusu vardır. En popüler ve yaygın olarak kullanılan PureFTPd, ProFTPD ve vsftpd'dir.
Bu yazıda CentOS 7'ye vsftpd (Çok Güvenli Ftp Daemon) yükleyeceğiz. Bu, kararlı, güvenli ve hızlı bir FTP sunucusudur. Ayrıca, vsftpd'yi kullanıcıları ana dizinleriyle sınırlamak ve tüm aktarımı SSL / TLS ile şifrelemek için nasıl yapılandıracağınızı göstereceğiz.
Daha güvenli ve daha hızlı veri aktarımı için SCP veya SFTP kullanın.
Ön şartlar
Bu eğiticiye devam etmeden önce sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açtığınızdan emin olun.
CentOS 7'ye vsftpd kurulumu
Vsftpd paketi varsayılan CentOS depolarında bulunur. Yüklemek için aşağıdaki komutu verin:
sudo yum install vsftpd
Paket yüklendikten sonra, vsftpd arka plan programını başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Vsftpd hizmetinin çalıştığını durumunu yazdırarak doğrulayabilirsiniz:
sudo systemctl status vsftpd
Çıktı aşağıdaki gibi görünecek ve vsftpd hizmetinin etkin ve çalışır durumda olduğunu gösterecektir:
● 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
Vsftpd'yi yapılandırma
/etc/vsftpd/vsftpd.conf
yapılandırılması
/etc/vsftpd/vsftpd.conf
yapılandırma dosyasının düzenlenmesini içerir. Ayarların çoğu yapılandırma dosyasının içinde iyi belgelenmiştir. Mevcut tüm seçenekler için resmi vsftpd sayfasını ziyaret edin.
Aşağıdaki bölümlerde, güvenli bir vsftpd kurulumu yapılandırmak için gereken bazı önemli ayarları inceleyeceğiz.
Vsftpd yapılandırma dosyasını açarak başlayın:
sudo nano /etc/vsftpd/vsftpd.conf
1. FTP Erişimi
FTP sunucusuna yalnızca yerel kullanıcılara erişime izin vereceğiz,
local_enable
ve
local_enable
yönergelerini
local_enable
ve yapılandırmanızın aşağıdaki satırlarla eşleştiğini doğrulayacağız:
anonymous_enable=NO local_enable=YES
2. Yüklemeleri etkinleştirme
Dosya sisteminde dosya yükleme ve silme gibi değişikliklere izin vermek için
write_enable
ayarını
write_enable
.
3. Chroot Hapishanesi
chroot
yönergesini kaldırarak FTP kullanıcılarının ev dizinlerinin dışındaki dosyalara erişmesini engelleyin.
chroot_local_user=YES
Varsayılan olarak, chroot etkinleştirildiğinde vsftpd, kullanıcıların kilitlendiği dizin yazılabilirse dosyaları yüklemeyi reddeder. Bunun amacı bir güvenlik açığını önlemektir.
Chroot etkinleştirildiğinde yüklemelere izin vermek için aşağıdaki yöntemlerden birini kullanın.
-
Yöntem 1. - Yüklemeye izin vermek için önerilen yöntem, chroot'u etkin durumda tutmak ve FTP dizinlerini yapılandırmaktır. Bu öğreticide, kullanıcı evinde, chroot işlevi görecek bir
/etc/vsftpd/vsftpd.confftpdizini ve dosyaları yüklemek için yazılabilir biruploadsdizini oluşturacağız.user_sub_token=$USER local_root=/home/$USER/ftpYöntem 2. - Başka bir seçenek vsftpd yapılandırma dosyasına aşağıdaki yönergeyi eklemektir. Kullanıcının ana dizinine yazılabilir erişim izni vermeniz gerekiyorsa bu seçeneği kullanın.
/etc/vsftpd/vsftpd.confallow_writeable_chroot=YES
4. Pasif FTP Bağlantıları
vsftpd pasif FTP bağlantıları için herhangi bir portu kullanabilir. Minimum ve maksimum bağlantı noktası aralığını belirleyeceğiz ve daha sonra güvenlik duvarımızda aralığı açacağız.
Yapılandırma dosyasına aşağıdaki satırları ekleyin:
/etc/vsftpd/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. Kullanıcı Girişini Sınırlama
Yalnızca belirli kullanıcıların FTP sunucusunda oturum
userlist_enable=YES
izin vermek için
userlist_enable=YES
satırından sonra aşağıdaki satırları ekleyin:
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Bu seçenek etkinleştirildiğinde,
/etc/vsftpd/user_list
dosyasına (her satıra bir kullanıcı) kullanıcı adları ekleyerek hangi kullanıcıların oturum açabileceğini açıkça belirtmeniz gerekir.
6. SSL / TLS ile İletimlerin Güvenliğini Sağlama
FTP aktarımlarını SSL / TLS ile şifrelemek için bir SSL sertifikanız olması ve FTP sunucusunu kullanacak şekilde yapılandırmanız gerekir.
Güvenilen bir Sertifika Yetkilisi tarafından imzalanmış mevcut bir SSL sertifikasını kullanabilir veya kendinden imzalı bir sertifika oluşturabilirsiniz.
Bu öğreticide,
openssl
komutunu kullanarak kendinden imzalı bir SSL sertifikası oluşturacağız.
Aşağıdaki komut, 1048 geçerli 2048 bit özel anahtar ve kendinden imzalı bir sertifika oluşturur. Hem özel anahtar hem de sertifika aynı dosyaya kaydedilir:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
SSL sertifikası oluşturulduktan sonra vsftpd yapılandırma dosyasını açın:
sudo nano /etc/vsftpd/vsftpd.conf
rsa_cert_file
ve
rsa_private_key_file
yönergelerini bulun, değerlerini
pam
dosyası yoluna değiştirin ve
ssl_enable
yönergesini
YES
:
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
Aksi belirtilmedikçe, FTP sunucusu güvenli bağlantılar kurmak için yalnızca TLS kullanır.
Vsftpd Hizmetini yeniden başlatın
Düzenlemeyi bitirdiğinizde, vsftpd yapılandırma dosyası (yorumlar hariç) şöyle görünmelidir:
/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
Dosyayı kaydedin ve değişikliklerin etkili olması için vsftpd hizmetini yeniden başlatın:
Güvenlik Duvarını Açma
Bağlantı noktası
21
(FTP komut bağlantı noktası), bağlantı noktası
20
(FTP veri bağlantı noktası) ve
30000-31000
(Pasif bağlantı noktaları aralığı)
30000-31000
için aşağıdaki komutları verin:
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Yazarak güvenlik duvarı kurallarını yeniden yükleyin:
Bir FTP Kullanıcısı Oluşturma
FTP sunucumuzu test etmek için yeni bir kullanıcı oluşturacağız.
- FTP erişimi vermek istediğiniz bir kullanıcınız varsa 1. adımı
allow_writeable_chroot=YESayarladıysanız 3. adımı atlayın.
-
newftpuseradlı yeni bir kullanıcı oluşturun:sudo adduser newftpuserArdından, kullanıcı şifresini ayarlamanız gerekir:
sudo passwd newftpuserKullanıcıyı izin verilen FTP kullanıcıları listesine ekleyin:
echo "newftpuser" | sudo tee -a /etc/vsftpd/user_listFTP dizin ağacını oluşturun ve doğru izinleri ayarlayın:
sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser: /home/newftpuser/ftpÖnceki bölümde tartışıldığı gibi kullanıcı dosyalarını
ftp/uploaddizinineftp/upload.
Bu noktada FTP sunucunuz tamamen işlevseldir ve sunucunuza FileZilla gibi TLS şifrelemesi kullanacak şekilde yapılandırılabilen herhangi bir FTP istemcisi ile bağlanabilmeniz gerekir.
Kabuk Erişimini Devre Dışı Bırakma
Varsayılan olarak, bir kullanıcı oluştururken, açıkça belirtilmezse, kullanıcının sunucuya SSH erişimi olur.
Kabuk erişimini devre dışı bırakmak için, kullanıcıya hesaplarının yalnızca FTP erişimi ile sınırlı olduğunu bildiren bir ileti yazdıracak yeni bir kabuk oluşturacağız.
/bin/ftponly
kabuğunu oluşturmak ve yürütülebilir yapmak için aşağıdaki komutları çalıştırın:
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
Yeni kabuğu
/etc/shells
dosyasındaki geçerli kabuklar listesine ekleyin:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Kullanıcı kabuğunu
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Yalnızca FTP erişimi vermek istediğiniz diğer kullanıcılar için kabuğu değiştirmek üzere aynı komutu kullanın.
Sonuç
Bu öğreticide, CentOS 7 sisteminize güvenli ve hızlı bir FTP sunucusunun nasıl kurulacağını ve yapılandırılacağını öğrendiniz.
ftp centosCentos 8'de bir nfs sunucusu nasıl kurulur ve yapılandırılır
Bu öğreticide, CentOS 8'de bir NFSv4 Sunucusu kurmak için gerekli adımları uygulayacaksınız. Ayrıca, istemciye bir NFS dosya sisteminin nasıl takılacağını da göstereceğiz.
Debian 9'da ftft sunucusu vsftpd ile nasıl kurulur
Bu derste vsftpd'yi kuracağız. Kararlı, güvenli ve hızlı bir FTP sunucusudur. Ayrıca, vsftpd'yi kullanıcıları ana dizinleriyle sınırlamak ve tüm aktarımı SSL / TLS ile şifrelemek için nasıl yapılandıracağınızı göstereceğiz.
Ubuntu 18.04'te vsftpd ile ftp sunucusu nasıl kurulur
Bu derste vsftpd'yi kuracağız. Kararlı, güvenli ve hızlı bir FTP sunucusudur. Ayrıca, vsftpd'yi kullanıcıları ana dizinleriyle sınırlamak ve tüm aktarımı SSL / TLS ile şifrelemek için nasıl yapılandıracağınızı göstereceğiz.







