En büyük endişe, SSH üzerinden bilgisayar yöneticisi olarak giriş yapan kişiler olacaktır. Bu, tahmin edilmesi kolay bir parolanız varsa kaba kuvvetle yapılabilir.
Alabileceğiniz birkaç güvenlik önlemi vardır, aşağıda bir SSH sunucusu kurarken her zaman aldığımlardan bazıları ve bazı ekstralar vardır.
En az (büyük) 10 büyük ve küçük harf, rakam ve diğer karakterlerden oluşan güçlü bir şifre kullanın.
Kullanıcıları ana dizinlerine hapsedin. Hapishanedeki kullanıcılar ana dizininin dışındaki dosyalara erişemez / bu dosyaları düzenleyemez. Böylece, kullanıcınız önemli sistem dosyalarına erişemez / düzenleyemez. Bir kullanıcıyı nasıl hapse atacağınız konusunda birçok öğretici çevrimiçi olarak bulunabilir. Çoğu JailKit kullanıyor . Böyle bir öğreticiye bir örnek burada bulunabilir . Alternatif olarak, OpenSSH sunucusunun yerel ChrootDirectoryyönergesini de kullanabilirsiniz . Bununla ilgili bir eğiticiye bir örnek burada bulunabilir .
Fail2Ban'ı yükleyin . Fail2Ban, kimlik doğrulama günlüklerini yanlış girişler için kontrol eden bir programdır. Belirli bir sınıra ulaşıldığında, belirli bir IP için önceden belirlenmiş bir süre için bir güvenlik duvarı bloğu ekler. Çeşitli çevrimiçi öğreticiler çevrimiçi SSH ile Fail2Ban nasıl kurulacağı hakkında da vardır bulundu vardır, bir örnek olacaktır bu bir . Fail2Ban ana sayfası da güzel ve eksiksiz NASIL belgeleri içerir.
SSH üzerinden kök girişini devre dışı bırakın. Bu, sisteminizdeki hemen hemen her dosyaya erişimi olan kullanıcıdır, bu nedenle kabuk girişini devre dışı bırakmanız önerilir. Ubuntu'nun en son sürümlerinde, kök kullanıcı otomatik olarak devre dışı bırakılır, ancak yine de SSH erişimini devre dışı bırakmak zarar vermez. Bu, dosyayı düzenleyerek yapılır /etc/ssh/sshd_config. Line Aşağıdaki satırı arayın ve önünde # olmadığından emin olun.
#PermitRootLogin no
Standart olmayan bir bağlantı noktası kullanın (Örn. 22 değil) Bu, yönlendiricinizdeki bağlantı noktası iletme (22 -> 22 yerine 16121 -> 22) veya SSH arka plan programının farklı bir bağlantı noktasını dinlemesiyle yapılır. Bu, SSH hizmetinizi kötü niyetli kullanıcılar için daha az kolayca algılanabilir hale getirir. Bu, dosyayı düzenleyerek yapılır /etc/ssh/sshd_config. Line Aşağıdaki satırı arayın ve 22'yi istediğiniz bağlantı noktasına değiştirin. Daha sonra yönlendiricinizdeki doğru bağlantı noktasını iletmeyi unutmayın.
Port 22
Oturum açmak için parola kullanmayın. SSH, parolaların yanı sıra özel anahtarlar kullanarak oturum açmaya da izin verir. Bu, bilgisayarınızda SSH makinesinin SSH'sine eriştiğiniz bir anahtarın depolandığı anlamına gelir. Bir bağlantı denendiğinde, SSH istemcisi anahtarı şifre doğrulaması yerine sunucuya oturum açmak için kullanır. Kimlik doğrulama anahtarları şifreli olarak şifrelerden çok daha güçlüdür ve bu nedenle kırılması o kadar kolay değildir. Çeşitli çevrimiçi öğreticiler çevrimiçi SSH ile Anahtar tabanlı kimlik doğrulamayı nasıl kurulacağı hakkında da vardır bulundu vardır, bir örnek olacaktır bu bir . (PuTTY içeren pencerelerden SSH kullanıyorsanız, bu bağlantıyı bir PuTTY howto için kontrol edin .) Anahtar tabanlı kimlik doğrulamayı ayarladıktan sonra, dosyayı düzenleyerek parola kimlik doğrulamasını devre dışı bırakabilirsiniz /etc/ssh/sshd_config. ✝ Aşağıdaki satırı arayın ve önünde # olmadığından emin olun.
#PasswordAuthentication no
İsteğe bağlı olarak, @ Linker3000 yorumunda belirtildiği gibi, SSH üzerinden erişmek istediğiniz PC için bir VPN tüneli ayarlayabilir ve ardından SSH sunucusundaki yerel olmayan ağ erişimine izin vermeyebilirsiniz . Bu şekilde, VPN bağlantısı olmayan hiçbir harici cihaz SSH sunucunuza erişemez. Bu, TÜM ana bilgisayarları reddedip ardından yalnızca yerel ağ IP'lerinin oturum açmasına izin verilerek yapılabilir. Bu, /etc/hosts.denyaşağıdakileri düzenleyerek ve ekleyerek yapılır :
sshd: ALL
ve /etc/hosts.allowaşağıdakileri eklemek için:
sshd: 192.168.1.*
IP, yerel ağınızla eşleştiğinde. *bir joker karakter olduğundan, ile başlayan tüm IP adresleri 192.168.1.kabul edilir. Bu işe yaramazsa dağıtımınız sshbunun yerine kullanabilir sshd. Bu durumda, denemelisiniz ssh: 192.168.1.*ve ssh: ALLonun yerine.
Yalnızca belirli ana bilgisayarlara izin verebilir , 6'da /etc/hosts.allowve ile aynı işlemleri yapabilirsiniz /etc/hosts.deny, ancak /etc/hosts.allowaşağıdaki satırı ve her ana makinenin boşluklarla ayrılmasına izin verecek şekilde ekleyin:
sshd: {IP OF HOST TO ALLOW 1} {IP OF HOST TO ALLOW 2} {IP OF HOST TO ALLOW 3} {ETC.}
Yalnızca belirli kullanıcıların SSH sunucunuza erişmesine izin verin. Bu, dosyayı düzenleyerek yapılır /etc/ssh/sshd_config. Line Aşağıdaki satırı arayın ve önünde # olmadığından emin olun. Yoksa, oluşturun. Örneğin, yalnızca john, tom ve mary'ye izin vermek istiyorsanız, bu satırı ekleyin / düzenleyin:
AllowUsers john tom mary
Örneğin, john, tom ve mary'ye erişimi reddetmek istiyorsanız, bu satırı ekleyin / düzenleyin: Belirli kullanıcıları da reddedebilirsiniz:
DenyUsers john tom mary
SSH2 protokolüne yalnızca gelen bağlantılar için izin verin. SSH protokolünün iki sürümü vardır. SSH1 güvenlik sorunlarına tabidir, bu nedenle SSH 2 kullanılması önerilir. Bu, dosyayı düzenleyerek zorlanabilir /etc/ssh/sshd_config. Line Aşağıdaki satırı arayın ve önünde # olmadığından emin olun. Yoksa, oluşturun.
Protocol 2,1
çıkarın, böylece çizgi olacak
Protocol 2
Kullanıcıların şifre ayarlanmamış giriş yapmasına izin verme. Bu, dosyayı düzenleyerek zorlanabilir /etc/ssh/sshd_config. Line Aşağıdaki satırı arayın ve önünde # olmadığından emin olun. Yoksa, oluşturun.
PermitEmptyPasswords no
Ve basit ve belki de söylemeye gerek yok, ancak birçok durumda çok önemli olduğu kanıtlanmış olsa da, yazılımınızı güncel tutun. Yüklü paketlerinizi / yazılımınızı düzenli olarak güncelleyin.
hangi Linux dağıtımını kullandığınıza bağlı olarak.