Konuyu Açan
#1
Bir web sitesi veya forum yönetiyorsanız, sunucunuzun güvenliği en az uygulamanızın güvenliği kadar önemlidir. Özellikle VPS veya dedicated sunucu kullanan kişiler için SSH erişiminin doğru yapılandırılması kritik bir konudur.
SSH, uzak bir sunucuya güvenli bağlantı kurmak ve komut satırı üzerinden yönetim sağlamak için kullanılır. Ancak yanlış yapılandırılmış bir SSH servisi, saldırganların sisteme erişmeye çalışmasına neden olabilir.
Bu yazıda Linux sunucularda SSH güvenliğini artırmak için uygulanabilecek temel yöntemleri ele alacağız.
Özel anahtar kendi bilgisayarınızda saklanır, açık anahtar ise sunucuya eklenir. Böylece uygun yapılandırmayla parola tabanlı girişe ihtiyaç duymadan kimlik doğrulaması yapılabilir.
Windows, Linux ve macOS üzerinde SSH anahtarı oluşturmak için şu komut kullanılabilir:
Linux veya macOS üzerinden açık anahtarı sunucuya kopyalamak için:
Windows kullanıcıları da OpenSSH istemcisi veya uygun bir SSH aracıyla aynı işlemi gerçekleştirebilir.
Önemli: Anahtar ile girişin çalıştığını yeni bir bağlantıda doğrulamadan mevcut SSH oturumunuzu kapatmayın.
SSH yapılandırma dosyası genellikle şu konumdadır:
Yapılandırmada şu ayar kullanılabilir:
Bu değişikliği uygulamadan önce ayrı bir yönetici hesabınızın ve gerekli sudo yetkilerinizin bulunduğundan emin olun.
Ancak bu ayar yanlış uygulanırsa sunucuya erişiminizi kaybedebilirsiniz. Sağlayıcınızın konsol erişimini ve kurtarma seçeneklerini önceden kontrol edin.
Ubuntu üzerinde UFW kullanılıyorsa örnek yapılandırma şu şekildedir:
SSH farklı bir portta çalışıyorsa ilgili port için ayrıca izin verilmelidir. Güvenlik duvarını etkinleştirmeden önce SSH erişiminizin izinli olduğundan emin olun.
Ubuntu üzerinde kurulum:
Servisin durumunu kontrol etmek için:
Fail2ban tek başına tam bir güvenlik çözümü değildir. SSH anahtarları, güvenlik duvarı ve düzenli güncellemelerle birlikte kullanılmalıdır.
Ubuntu ve Debian tabanlı sistemlerde paket listesi güncellenip mevcut paketler yükseltilebilir:
Özellikle üretim ortamlarında güncellemeler öncesinde yedek alınması ve uygulama uyumluluğunun kontrol edilmesi tavsiye edilir.
Asıl önemli olan güçlü kimlik doğrulama, uygun erişim izinleri, güncel yazılım ve izleme mekanizmalarıdır.
Kendi sunucunuzda SSH anahtarı mı kullanıyorsunuz, yoksa parola ile giriş yapmaya devam mı ediyorsunuz?
Sizce bir Linux sunucusunu korumak için en önemli üç güvenlik önlemi hangileridir? Deneyimlerinizi yorumlarda paylaşabilirsiniz.
SSH, uzak bir sunucuya güvenli bağlantı kurmak ve komut satırı üzerinden yönetim sağlamak için kullanılır. Ancak yanlış yapılandırılmış bir SSH servisi, saldırganların sisteme erişmeye çalışmasına neden olabilir.
Bu yazıda Linux sunucularda SSH güvenliğini artırmak için uygulanabilecek temel yöntemleri ele alacağız.
1. Şifre Yerine SSH Anahtarı Kullanın
SSH bağlantılarında yalnızca parola kullanmak yerine açık ve özel anahtar çiftlerinden yararlanabilirsiniz.Özel anahtar kendi bilgisayarınızda saklanır, açık anahtar ise sunucuya eklenir. Böylece uygun yapılandırmayla parola tabanlı girişe ihtiyaç duymadan kimlik doğrulaması yapılabilir.
Windows, Linux ve macOS üzerinde SSH anahtarı oluşturmak için şu komut kullanılabilir:
KOD
1ssh-keygen -t ed25519Linux veya macOS üzerinden açık anahtarı sunucuya kopyalamak için:
KOD
1ssh-copy-id username@server_ipWindows kullanıcıları da OpenSSH istemcisi veya uygun bir SSH aracıyla aynı işlemi gerçekleştirebilir.
Önemli: Anahtar ile girişin çalıştığını yeni bir bağlantıda doğrulamadan mevcut SSH oturumunuzu kapatmayın.
2. Root ile Doğrudan Girişi Sınırlandırın
Root hesabı Linux sisteminde en yüksek yetkilere sahiptir. Bu hesabın doğrudan SSH üzerinden kullanılmasını kapatmak, saldırı yüzeyini azaltmaya yardımcı olabilir.SSH yapılandırma dosyası genellikle şu konumdadır:
KOD
1sudo nano /etc/ssh/sshd_configYapılandırmada şu ayar kullanılabilir:
KOD
1PermitRootLogin noBu değişikliği uygulamadan önce ayrı bir yönetici hesabınızın ve gerekli sudo yetkilerinizin bulunduğundan emin olun.
3. SSH Parola Girişini Kapatın
SSH anahtarıyla girişin sorunsuz çalıştığını doğruladıktan sonra parola ile giriş kapatılabilir:KOD
1PasswordAuthentication noAncak bu ayar yanlış uygulanırsa sunucuya erişiminizi kaybedebilirsiniz. Sağlayıcınızın konsol erişimini ve kurtarma seçeneklerini önceden kontrol edin.
4. Güvenlik Duvarını Yapılandırın
Güvenlik duvarı, sunucuda yalnızca gerekli ağ bağlantılarına izin verilmesini sağlar.Ubuntu üzerinde UFW kullanılıyorsa örnek yapılandırma şu şekildedir:
KOD
123sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw statusSSH farklı bir portta çalışıyorsa ilgili port için ayrıca izin verilmelidir. Güvenlik duvarını etkinleştirmeden önce SSH erişiminizin izinli olduğundan emin olun.
5. Fail2ban ile Başarısız Giriş Denemelerini Sınırlayın
Fail2ban, günlük dosyalarındaki belirli başarısız bağlantı denemelerini tespit ederek ilgili IP adreslerini belirli sürelerle engelleyebilir.Ubuntu üzerinde kurulum:
KOD
12sudo apt update
sudo apt install fail2banServisin durumunu kontrol etmek için:
KOD
1sudo systemctl status fail2banFail2ban tek başına tam bir güvenlik çözümü değildir. SSH anahtarları, güvenlik duvarı ve düzenli güncellemelerle birlikte kullanılmalıdır.
6. Sunucuyu Güncel Tutun
Güvenlik güncellemelerinin geciktirilmesi, bilinen açıkların sistemde kalmasına neden olabilir.Ubuntu ve Debian tabanlı sistemlerde paket listesi güncellenip mevcut paketler yükseltilebilir:
KOD
12sudo apt update
sudo apt upgradeÖzellikle üretim ortamlarında güncellemeler öncesinde yedek alınması ve uygulama uyumluluğunun kontrol edilmesi tavsiye edilir.
7. SSH Portunu Değiştirmek Yeterli mi?
SSH portunu varsayılan 22 numarasından farklı bir porta taşımak, standart portu tarayan bazı otomatik girişimlerin sayısını azaltabilir. Ancak bu işlem tek başına gerçek bir güvenlik önlemi olarak görülmemelidir.Asıl önemli olan güçlü kimlik doğrulama, uygun erişim izinleri, güncel yazılım ve izleme mekanizmalarıdır.
Sonuç
Linux sunucularda SSH güvenliği tek bir ayardan ibaret değildir. Birden fazla önlemin birlikte uygulanması, yetkisiz erişim riskini azaltmaya yardımcı olur.Kendi sunucunuzda SSH anahtarı mı kullanıyorsunuz, yoksa parola ile giriş yapmaya devam mı ediyorsunuz?
Sizce bir Linux sunucusunu korumak için en önemli üç güvenlik önlemi hangileridir? Deneyimlerinizi yorumlarda paylaşabilirsiniz.
● WEBMASTER ●
Hayatın anlamı bir noktalı virgülde gizlidir.
« every fix is a win »
#DevMood
Hayatın anlamı bir noktalı virgülde gizlidir.
« every fix is a win »
#DevMood

