CentOS 7 - Setup SFTP with Chroot jail
İçindekiler:
- SFTP Grubu Oluşturma
- SFTP Grubuna Kullanıcı Ekleme
- SSH'yi Yapılandırma
- Yapılandırmayı Test Etme
- Sonuç
Bu derste, kullanıcıları ev dizinleriyle sınırlandıracak bir SFTP Chroot Jail ortamının nasıl kurulacağını açıklayacağız. Kullanıcıların yalnızca SFTP erişimi olacak, SSH erişimi devre dışı bırakılacak. Bu talimatlar Ubuntu, CentOS, Debian ve Fedora dahil olmak üzere herhangi bir modern Linux dağıtımı için çalışmalıdır.
SFTP Grubu Oluşturma
OpenSSH sunucusunu her kullanıcı için ayrı ayrı yapılandırmak yerine yeni bir grup oluşturacağız ve tüm köklü kullanıcılarımızı bu gruba ekleyeceğiz.
sftponly
kullanıcı grubunu oluşturmak için aşağıdaki
groupadd
komutunu çalıştırın:
sudo groupadd sftponly
Grubu istediğiniz gibi adlandırabilirsiniz.
SFTP Grubuna Kullanıcı Ekleme
Bir sonraki adım, kısıtlamak istediğiniz kullanıcıları
sftponly
grubuna
sftponly
.
Bu yeni bir kurulumsa ve kullanıcı mevcut değilse şunu yazarak yeni bir kullanıcı hesabı oluşturabilirsiniz:
sudo useradd -g sftponly -s /bin/false -m -d /home/username username
-
-g sftponlyseçeneği kullanıcıyı sftponly grubuna ekler.-s /bin/falseseçeneği kullanıcının oturum açma kabuğunu ayarlar. Oturum açma kabuğunu/bin/falseayarlayarak, kullanıcı sunucuya SSH üzerinden oturum açamaz.-m -d /home/usernameseçenekleri bize kullanıcı ana dizinini oluşturmasını söyler.
Yeni oluşturulan kullanıcı için güçlü bir şifre belirleyin:
sudo passwd username
Aksi takdirde, kısıtlamak istediğiniz kullanıcı zaten varsa, kullanıcıyı
sftponly
grubuna ekleyin ve kullanıcının kabuğunu değiştirin:
sudo usermod -G sftponly -s /bin/false username2
Kullanıcı giriş dizini root'a ait olmalı ve
755
izinleri olmalıdır:
sudo chown root: /home/username
sudo chmod 755 /home/username
Kullanıcılar ana dizinleri kök kullanıcıya ait olduğundan, bu kullanıcılar ana dizinlerinde dosya ve dizin oluşturamazlar. Kullanıcının evinde hiç dizin yoksa, kullanıcının tam erişime sahip olacağı yeni dizinler oluşturmanız gerekir. Örneğin, aşağıdaki dizinleri oluşturabilirsiniz:
sudo mkdir /home/username/{public_html, uploads}
sudo chmod 755 /home/username/{public_html, uploads}
sudo chown username:sftponly /home/username/{public_html, uploads}
Bir web uygulaması kullanıcının
public_html
dizinini belge kökü olarak kullanıyorsa, bu değişiklikler izin sorunlarına yol açabilir. Örneğin, WordPress çalıştırıyorsanız, dosyalara sahip olan kullanıcı olarak çalışacak bir PHP havuzu oluşturmanız ve web
sftponly
grubuna eklemeniz gerekir.
SSH'yi Yapılandırma
SFTP, SSH'nin bir alt sistemidir ve tüm SSH kimlik doğrulama mekanizmalarını destekler.
Metin düzenleyicinizle
/etc/ssh/sshd_config
SSH yapılandırma dosyasını açın:
sudo nano /etc/ssh/sshd_config
Subsystem sftp
ile başlayan satırı, genellikle dosyanın sonunda arayın. Satır bir karma
#
ile başlıyorsa, karma
#
kaldırın ve aşağıdaki gibi görünecek şekilde değiştirin:
Subsystem sftp internal-sftp
Dosyanın sonuna doğru aşağıdaki ayar bloğu:
Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
ChrootDirectory
yönergesi, chroot dizininin yolunu belirtir.
%h
, kullanıcı giriş dizini anlamına gelir. Bu dizinin sahibi kök kullanıcı olmalıdır ve başka bir kullanıcı veya grup tarafından yazılamaz.
SSH yapılandırma dosyasını değiştirirken çok dikkatli olun. Yanlış yapılandırma SSH hizmetinin başlamamasına neden olabilir.
İşiniz bittiğinde dosyayı kaydedin ve değişiklikleri uygulamak için SSH hizmetini yeniden başlatın:
sudo systemctl restart ssh
CentOS ve Fedora'da ssh hizmeti
sshd
olarak adlandırılır:
Yapılandırmayı Test Etme
SFTP krootunu yapılandırdığınıza göre, artık köklü kullanıcının kimlik bilgilerini kullanarak SFTP üzerinden uzak makinede oturum açmayı deneyebilirsiniz. Çoğu durumda, FileZilla gibi bir masaüstü SFTP istemcisi kullanırsınız, ancak bu örnekte sftp komutunu kullanacağız.
Sftp komutunu ve ardından uzak sunucu kullanıcı adını ve sunucu IP adresini veya etki alanı adını kullanarak bir SFTP bağlantısı açın:
sftp [email protected]
Kullanıcı şifresini girmeniz istenir. Bağlandıktan sonra, uzak sunucu bir onay mesajı ve
sftp>
istemi görüntüler:
[email protected]'s password: sftp>
Aşağıda gösterildiği gibi
pwd
komutunu çalıştırın ve her şey beklendiği gibi çalışıyorsa komut
/
döndürmelidir.
sftp> pwd Remote working directory: /
Ayrıca,
ls
komutunu kullanarak uzak dosyaları ve dizinleri de listeleyebilirsiniz ve daha önce oluşturduğumuz dizinleri görmelisiniz:
Sonuç
Bu öğreticide, Linux sunucunuzda bir SFTP Chroot Jail ortamının nasıl kurulacağını ve kullanıcıların ana dizinlerine erişiminin nasıl kısıtlanacağını öğrendiniz.
Varsayılan olarak, SSH 22 numaralı bağlantı noktasını dinler. Varsayılan SSH bağlantı noktasını değiştirmek, otomatik saldırı riskini azaltarak sunucunuza fazladan bir güvenlik katmanı ekler. Ayrıca bir SSH anahtar tabanlı kimlik doğrulaması ayarlamak ve parola girmeden sunucuya bağlanmak isteyebilirsiniz.
ssh sftp güvenliğiP-to-P Ağ Yöneticisi, Hapis Cezası
P-to-P ağının yöneticisi 18 ay hapis cezasına çarptırıldı
Kolayca oneplus 3 root nasıl kurulur ve özel kurtarma nasıl yüklenir
Köklendirme, Android cihazında yepyeni bir kişiselleştirme olanakları dünyası açar ve OnePlus 3 istisna değildir. İşte kolayca kökünü.
Yeelight ile alexa arasındaki bağlantı nasıl kurulur ve yaygın problemler nasıl çözülür?
Xiaomi Yeelight'ı Amazon Alexa destekli Eko cihazla nasıl kontrol edeceğinizi ve bağlayacağınızı mı merak ediyorsunuz? Muhtemel sorunlar için ipuçlarımızı ve çözümlerimizi inceleyin.







