SSH hizmetinin dünyaya girmesine izin vermek istiyor musunuz? Ya da sadece belirli yerlerdeki ekip üyelerine? Cevabım biraz zorluğunuza bağlıdır.
Her iki durumda da, yapmanız gereken tek şey, SSH sunucusunun kök kullanıcı için parola girişlerine izin vermediğinden emin olmaktır.
- / Etc / ssh / sshd_config dosyasında, SSH anahtarı dışında asla kök girişine izin vermediğinizden emin olun.
Sistemlerimde bu ayar var
PermitRootLogin without-password
ama yeni Ubuntu'da olduklarını farkettim
PermitRootLogin prohibit-password
Eğer "man sshd_config" i okursanız, bunun daha yeni "yasak-şifre" anlamına geldiğini düşünüyorum ve anlam olarak kesinlikle daha açık olduğunu düşünüyorum. Bazı Linux sistemlerinde bu varsayılan DEĞİLDİR, ancak muhtemelen olması gerekir.
Şimdi, senin problemin hakkında. Sistem sunucunuz yalnızca belirli yerlerdeki bazı kullanıcıları mı kullanıyor? Bunu yap!
/etc/hosts.deny ve insert düzenle
TÜMÜ: TÜMÜ
Ardından /etc/hosts.allow dosyasını düzenleyin ve SSH'yi kullanmak için izin vermek istediğiniz IP numaralarını veya aralığı yazın. Buradaki açıklama biraz kafa karıştırıcı çünkü 111.222.65.101 ila 111.222.65.255 gibi IP numaraları olan tüm sistemlere izin vermek istiyorsanız, hosts.allow içine böyle bir giriş yaptınız.
ALL: 127.0.0.1
sshd: 111.222.65.
sshdfwd-X11: 111.222.65.
Bu bir kaba güç, güçlü bir çözümdür. Kullanıcılarınız IP aralığına göre sıralanabilirse, yapın!
IP tabloları oluşturulmadan önce bu çözüm mevcuttu, (bence) yönetimi çok daha kolay, ancak IP tabloları çözümü kadar iyi değil çünkü IP tabloları yordamları düşmanları hosts.allow ve ana bilgisayarların yönettiği programlardan daha erken görecek. .reddetmek. Ancak bu kesin bir yangın, sadece SSH'den değil, birçok sorunu kapatmanın basit bir yolu.
Kendiniz için yarattığınız sorunu not alın. Bir FTP sunucusu, web sunucusu veya başka bir şey açmak istiyorsanız, ana makinelere girişleri izin vermeniz gerekir.
İptables ve firewall ile uğraşarak aynı temel amacı elde edebilirsiniz. Bir anlamda, bu tercih edilen bir çözüm, çünkü dış sınırdaki düşmanları engelliyorsunuz. Ubuntu'da "ufw" (karmaşık güvenlik duvarı) ve "man ufw" pek çok örnek var. Bunu çözmek için iyi bir GUI istiyorum, bunu her zaman yapmak zorunda değilim. Belki başkaları bize bir tane olup olmadığını söyleyebilir.
- Buradaki diğer yayınlar, yalnızca kullanıcılarınız için SSH ortak anahtarını kullanmanızı önerdi. Bu kesinlikle, kullanıcılarınız için karmaşıklık ve hayal kırıklığı fiyatına yardımcı olacaktır. Laboratuvarımızda 15 bilgisayar var. Kullanıcılar bilgisayarlar arasında gider. SSH anahtar kimlik doğrulaması istemek, insanlar bir bilgisayardan diğerine geçtiği için büyük bir güçlüğe neden olur.
Bazı kullanıcılar çeşitli sunucular için farklı ssh anahtarları biriktirdiklerinde başka bir hayal kırıklığı kaynağı ortaya çıkacaktır. Yaklaşık 12 farklı proje için SSH anahtarlarım olduğu için, şimdi ssh başarısız oluyor çünkü çok fazla ortak anahtarım var ("ssh -o PubkeyAuthentication = false" ya da .ssh / config dosyasında bir giriş oluşturulması gerekiyor. Bu bir PITA)
- Sunucuyu büyük geniş dünyadan SSH'ye açık bırakmanız gerekiyorsa, sık sık giriş yapmayı deneyen yerleri engellemek için kesinlikle bir reddetme rutini kullanmanız gerekir. Bunun için 2 güzel program var, kullandıklarımız denyhosts ve fail2ban. . Bu programlar, suçluları yasaklamanızı sağlayan bir süreye, istediğiniz bir süre için izin veren ayarlara sahiptir.
Centos Linux sistemlerimizde, denyhosts paketini düşürdüklerini ve sadece fail2ban teklif ettiklerini fark ettim. Sorunlu kullanıcıların / ip aralıklarının bir listesini oluşturduğundan ve daha sonra hosts.deny'de bu listeye dikkat çekildi, çünkü inkarcıları sevdim. Bunun yerine fail2ban'ı yükledik ve sorun değil. Anladığım kadarıyla, bu kötü kullanıcıları sunucunun dış tarafında engellemeyi tercih ediyorsunuz, bu nedenle fail2ban gibi ip tabloları tabanlı engelleyiciler aslında daha iyi. Denyhosts ikincil seviyede çalışır, düşmanlar iptables'ı geçtikten sonra sshd daemonu tarafından reddedilir.
Bu programların her ikisinde de, kullanıcıların şifrelerini unutmaları ve giriş yapmak için birkaç kez denemeleri durumunda hapisten çıkmaları biraz zahmetlidir. İnsanları giriş hatası yaptıklarında geri almak biraz zordur. İnsanları içeri sokup bırakabilecekleri bir tıkla ve tıkla GUI olacağını tahmin edersiniz, ama bu böyle değildir. Bunu sadece birkaç ayda bir yapmak zorundayım ve zamanlar arasında nasıl olduğumu unutuyorum, bu yüzden kendime talimatlarmı web sayfamda yazdım http://pj.freefaculty.org/blog/?p=301