
- uzaktan terminal ve grafik arayüz erişimi sağlanabilir,
- basit seviyede bir VPN özelliği kullanılarak tüm trafik şifreli olarak ssh sunucu üzerinden yönlendirilebilir,
- socks proxy olarak kullanılabilir,
- güvenli dosya transferi yapılabilir
Listeyi bu şekilde uzatmak mümkün. SSH sunucu sadece güvenli dosya transferi için kullanılmak istendiğinde diğer özellikleri kapatmak ihtiyacı ortaya çıkmaktadır. Bu kısıtlamaları yapmak için genel olarak şu adımları uygulamak gerekmektedir :
- SCP için ayrı bir kullanıcının oluşturulması
- SCP için kısıtlı shell olan scponly paketinin kurulması
- sshd_config dosyası içinde gerekli ayarların yapılması
- Dosya transferi için dizin oluşturulması
1. SCP için ayrı bir kullanıcının oluşturulması
Linux sistemlerde kullanıcı oluşturmak için:#useradd scpuser
ardından oluşturulan kullanıcının şifresini verelim:#passwd scpuser
Linux altında kullanıcı işlemleri ile ayrıntılı işlemleri "Linux kullanıcı işlemleri" isimli yazımıza başvurulabilir.2. SCP için kısıtlı shell olan scponly paketinin kurulması
Oluşturmuş olduğumuz kullanıcının sadece scp işlemini yapabilmesi için kullanıcının shell erişimini bash yerine daha kısıtlı olan ve sadece scp işlemlerini yapmaya izin veren paketin kurulması gerekmektedir. scponly paketini kurmak için:
#apt-get install scponly
komutunu vermemiz yeterli olacaktır. Paket kurulduktan sonra 1. adımda oluşturmuş olduğumuz kullanıcının shell'ini scponly olarak değiştirmek gerekmektedir. Bu işlemi /etc/passwd dosyasını doğrudan edit ederek veya aşağıdaki komut yardımıyla yapabiliriz:
#usermod -s /usr/bin/scponly scpuser
3. sshd_config dosyası ayarları
Oluşturulan kullanıcının sadece scftp/scp ile kısıtlanabilmesi için son olarak sshd_config dosyası içinde değişiklik yapılması gerkemektedir. Öncelikli olarak metin editörü ile sshd_config dosyası açılarak
Subsystem sftp /usr/lib/openssh/sftp-server
satırı bulunur ve aşağıdaki satır ile değiştirilir.#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Görüleceği gibi burada mevcut sftp subsistemini iptal ederek yerine internal-sftp isminde bir subsistem oluşturduk. Ardından sshd_config dosyasının en sonuna gelinerek aşağıdaki satırlar eklenir:
Match User scpuser
ChrootDirectory /home/scpuser
ForceCommand internal-sftp
Ardından sshd_config dosyası kaydedilerek dosyadan çıkılır.Bu işlemden sonra ssh servisinin yeniden başlatılması gerekmektedir:
#service ssh restart
Bu işlem sonunda scpuser kullanıcısının shell hakkı kaldırılmış ve sadece scp/sftp yapmasına izin verilmiştir. Ek olarak scpuser kullanıcısı kendi ev dizinine chroot mekanizması ile hapsedilerek sadece kendi ev dizinini görmesi sağlanmıştır.
4. Dosya transferi için dizin oluşturulması
Chroot işlemi sonucunda scpuser kullanıcısı sadece ev dizinine ulaşacağı ve shell erişimi olmadığı için yeni bir klasör oluşturamayacaktır. Bunun için kullanıcının dosya upload edebileceği bir dizine ihtiyaç vardır. Bu dizini scpuser kullanıcısının ev dizini altına elle oluştırmamız gerekmektedir.
0 comments:
Post a Comment