OpenSSH versiyon 4.8p1 den itibaren bazı yeni ayar özellikleri eklendi: ChrootDirectory.
Bu yeni özellik sshd bağlantılı olarak yeni SFTP altsistemi bağlantısını sağlamış oldu.
Bu sayede şifreleme ayarlarında zorluk çıkarmadan ve/veya uğraştırmadan pasif FTP ile ve bir NAT yönlendiricisinden geçen aktif düğümlerde basit FTP servislerini değiştirmek kolay oldu. Bu aynı zamanda rssh, scponly veya other patches paketlerinden daha basittir, çünkü; kurma ve bir chroot ortamında bakım yapma (güvenlik güncellemleri) gibi gereksinimi yoktur.
Etkinleştirmek için, yeni sersiyon 4.8p1 ve sonrası paketlere ihtiyacınız vardır. Şuanki süründe Debian GNU/Linux 5.0 (codename lenny) OpenSSH 5.1p1-5 ‘dir ve fazladan birşey yapmanıza gerek yoktur. Ben kendim Debian GNU/Linux 5.0 kullanıyorum ve bende düzgün olarak çalışmaktadır.
/etc/ssh/sshd_config :
OpenSSH ‘ın kendi iç SFTP altsistemini kullanmak için ayarlarını yapmamız gerekir.
Subsystem sftp internal-sftp
Sonrasında, uygun kuraldaki chroot()ayarlanır.
Match group sftponly ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
chroot() dizini sahibi root kullanıcısı olmak zorundadır. chroot() çağırdıktan sonra, sshd ev dizinini yeni root dizinine göre göreceli olarak yeni ev dizinini değiştirir. / ‘ı ev dizini olarak kulanmamızın sebebi budur.
# chown root.root /home/user # usermod -d / user # adduser user sftponly
Beklendiği gibi çalışmaktadır:
$ sftp user@host Connecting to host... user@host's password: sftp> ls build cowbuildinall incoming johnbuilderclean sftp> pwd Remote working directory: / sftp> cd .. sftp> ls build cowbuildinall incoming johnbuilderclean
Burada unutulan bir tek şey kaldı oda dosya transferinde loglama, yazının devamında loglama ile ilgili böümü bulabilirsiniz. ChrootDirectory ile OpenSSH loglama
Referanslar :