Site icon Sanal Güvenlik

Sistem Yönetimi İçin Güvenli SSH Yapılandırması

Secure Shell (SSH) protokolü, sunuculara ve ağ cihazlarına güvenli bir şekilde uzaktan erişim sağlamak için endüstri standardı haline gelmiştir. Ancak, varsayılan SSH yapılandırmaları genellikle yeterli güvenlik önlemlerini içermez ve potansiyel saldırılara karşı savunmasız kalabilir. Bu rehber, SSH sunucunuzun güvenliğini artırmak için adım adım bir yapılandırma süreci sunmaktadır. Güvenli bir uzaktan erişim ortamı oluşturmak, sistemlerinizi yetkisiz erişime, veri ihlallerine ve hizmet kesintilerine karşı korumanın temel taşıdır.

Temel Güvenlik Ayarları

SSH yapılandırması, sshd_config dosyası üzerinden yapılır. Bu dosyaya erişmek ve değişiklik yapmak için root veya sudo yetkisine sahip olmanız gerekmektedir. Değişiklik yapmadan önce her zaman dosyanın yedeğini almanız önerilir.

SSH Portunu Değiştirme

SSH varsayılan olarak 22 numaralı portu kullanır. Bu port, otomatik tarama araçları tarafından sıkça hedef alınır. Port numarasını değiştirmek, yaygın saldırıları önemli ölçüde azaltabilir. Ancak, yeni port numarasını unutmamak ve güvenlik duvarınızda bu portu açmak önemlidir.

/etc/ssh/sshd_config dosyasını düzenleyin:

Port 2222 

Değişiklikleri kaydettikten sonra SSH servisini yeniden başlatın: sudo systemctl restart sshd veya sudo service ssh restart

Root Girişini Devre Dışı Bırakma

Root kullanıcısının doğrudan SSH ile giriş yapmasına izin vermek, en kritik güvenlik açıklarından biridir. Bu ayarı devre dışı bırakarak, kullanıcıların önce normal bir hesapla giriş yapıp ardından yetkilerini yükseltmelerini sağlamalısınız.

/etc/ssh/sshd_config dosyasında şu satırı bulun ve değiştirin:

PermitRootLogin no 

Şifre Tabanlı Kimlik Doğrulamayı Devre Dışı Bırakma (SSH Anahtar Kullanımı)

Şifre tabanlı kimlik doğrulama, kaba kuvvet saldırılarına karşı hassastır. SSH anahtar tabanlı kimlik doğrulama, çok daha güvenli bir alternatif sunar. Bu yöntemle, sunucuya erişim sağlamak için eşleşen özel ve genel anahtar çiftine sahip olmanız gerekir.

Anahtar tabanlı kimlik doğrulama için önce istemcide bir SSH anahtar çifti oluşturmanız gerekir: ssh-keygen -t rsa -b 4096. Ardından, genel anahtarınızı sunucuya kopyalayın: ssh-copy-id user@sunucu_ip.

/etc/ssh/sshd_config dosyasında şu satırı bulun ve değiştirin:

PasswordAuthentication no 

Bu değişikliği yapmadan önce SSH anahtarınızın sunucuya başarıyla kopyalandığından ve çalıştığından emin olun. Aksi takdirde kendinizi sunucuya kilitleyebilirsiniz.

Gelişmiş Güvenlik Önlemleri

Temel ayarların yanı sıra, SSH güvenliğini daha da artırmak için ek yapılandırmalar yapılabilir.

Sınırlı Kullanıcılara İzin Verme

SSH erişimine yalnızca belirli kullanıcıların veya grupların sahip olmasını sağlamak, yetkisiz erişimi engellemenin etkili bir yoludur. AllowUsers veya AllowGroups direktiflerini kullanabilirsiniz.

Belirli kullanıcılar için:

AllowUsers kullanici1 kullanici2 

Belirli gruplar için (örneğin, ‘sshusers’ grubundakiler):

AllowGroups sshusers 

SSH Protokol Sürümünü Sınırlama

SSH protokolünün eski sürümleri (özellikle SSHv1) güvenlik zafiyetleri içerebilir. Yalnızca güncel ve güvenli olan SSHv2 protokolünü kullanmak önemlidir.

/etc/ssh/sshd_config dosyasında şu satırın bulunduğundan emin olun:

Protocol 2 

Bağlantı Zaman Aşımlarını Ayarlama

Belirli bir süre boyunca aktif olmayan SSH bağlantılarının otomatik olarak kapatılması, kaynakların verimli kullanılmasına yardımcı olur ve açık bağlantılar üzerinden yapılabilecek potansiyel saldırıları önler.

ClientAliveInterval ve ClientAliveCountMax direktiflerini kullanarak bunu yapılandırabilirsiniz:

ClientAliveInterval 300 
ClientAliveCountMax 0 

Bu ayarlar, 5 dakika (300 saniye) boyunca yanıt vermeyen bir istemci bağlantısını kapatacaktır. ClientAliveCountMax 0, sunucunun istemciye tek bir canlılık kontrolü göndermesini ve yanıt gelmemesi durumunda bağlantıyı hemen kapatmasını sağlar.

X11 Yönlendirmesini Devre Dışı Bırakma

Eğer grafiksel arayüz uygulamalarına uzaktan erişim ihtiyacınız yoksa, X11 yönlendirmesini devre dışı bırakmak ek bir güvenlik katmanı sağlar.

/etc/ssh/sshd_config dosyasında şu satırı bulun ve değiştirin:

X11Forwarding no 

Yapılandırma Sonrası Kontroller

Yukarıdaki adımları tamamladıktan sonra, SSH servisini yeniden başlatmanız ve yeni yapılandırmanın doğru çalıştığından emin olmanız kritik önem taşır.

Servisi yeniden başlatın:

sudo systemctl restart sshd 

Ardından, yeni yapılandırmayla sunucuya erişmeyi deneyin. Özellikle root girişi ve şifre kimlik doğrulaması ayarlarını test edin. Güvenlik duvarınızda belirttiğiniz yeni SSH portunun açık olduğundan emin olun.

SSH güvenliğini sürekli olarak gözden geçirmek ve en güncel güvenlik uygulamalarını takip etmek, sistemlerinizin bütünlüğünü korumanın ayrılmaz bir parçasıdır. Bu rehberde sunulan adımlar, genel bir güvenlik artışı sağlamak için tasarlanmıştır, ancak her ortamın kendine özgü gereksinimleri olabileceğini unutmamak gerekir.

SSH yapılandırmanızda hangi ek güvenlik önlemlerini uyguluyorsunuz?

Exit mobile version