Bash ile SSH Güvenlik Raporu

0 Ответы 7 Просмотры
·
Участники
Автор темы #1
Bash ile SSH Güvenlik Raporu

İşletim sistemlerinin güvenliğini sağlamak, özellikle uzak bağlantıların en çok kullanıldığı ortamda, SSH (Secure Shell) hizmetlerinin düzenli olarak kontrol edilmesiyle mümkündür. Bash betikleri, bu süreçleri otomatikleştirmek ve düzenli raporlar almak açısından güçlü araçlardır. Bu başlık altında, Bash kullanarak SSH ile ilgili temel güvenlik unsurlarını inceleyen ve raporlayan bir yöntem sunacağım.

İlk olarak, SSH yapılandırma dosyasını (/etc/ssh/sshd_config) analiz ederek başlamak gerekir. Burada, güvenlik açısından kritik ayarları kontrol edebiliriz: örneğin, root girişinin engellenip engellenmediği, parola ile girişin kapalı olup olmadığı veya belirli algoritmaların kullanımı. Bu kontrolleri, grep komutlarıyla hızlıca yapabiliriz.

İkinci aşamada, aktif SSH bağlantılarını ve girişleri izlemek önemlidir. sshd servisinden alınan loglar veya who, w, last komutları ile, son giriş yapan kullanıcılar ve bağlantı zamanlarını görebiliriz. Ayrıca, şüpheli IP adreslerini tespit etmek için log dosyalarını analiz edebiliriz.

Üçüncü adım ise, potansiyel güvenlik açıklarını tespit etmek. Örneğin, zayıf anahtarların kullanımı, açık portlar veya eski SSH sürümleri gibi. Bu noktada, port tarama araçları veya nmap gibi araçlar ile port ve hizmet durumu kontrol edilebilir.

Tüm bu bilgileri derleyip, düzenli olarak rapor haline getiren bir Bash betiği hazırlayabiliriz. İşte örnek bir temel yapı:

КОД
12345678910111213141516171819202122
#!/bin/bash

[b]SSH yapılandırma kontrolü[/b]
echo "SSH Yapılandırma Kontrolü" > ssh_raporu.txt
grep -iE 'PermitRootLogin|PasswordAuthentication|Protocol' /etc/ssh/sshd_config >> ssh_raporu.txt

[b]Aktif bağlantılar[/b]
echo -e "\nAktif SSH Bağlantıları:" >> ssh_raporu.txt
w -h | grep ssh >> ssh_raporu.txt

[b]Son girişler[/b]
echo -e "\nSon Girişler:" >> ssh_raporu.txt
last -a | head -10 >> ssh_raporu.txt

[b]Güvensiz portlar ve sürümler[/b]
echo -e "\nAçık Portlar ve SSH Sürümü:" >> ssh_raporu.txt
nmap -sV localhost | grep ssh >> ssh_raporu.txt

[b]Raporu kaydet[/b]
timestamp=$(date +"%Y%m%d_%H%M%S")
mv ssh_raporu.txt "ssh_guvenlik_raporu_${timestamp}.txt"


Bu betik, temel güvenlik unsurlarını düzenli olarak kontrol edip, tek bir dosyada toplar. Ek olarak, zamanlanmış görevlerle (cron) bu raporlar otomatik alınabilir.

Sonuç olarak, Bash betikleriyle SSH güvenlik durumu sürekli izlenebilir ve raporlanabilir. Bu, olası saldırılara karşı erken uyarı sağlar ve sistem yöneticilerinin hızlı aksiyon almasını kolaylaştırır. Bu yöntemler, kurumsal ve kişisel sunucuların güvenliğini artırmak adına önemli araçlardır.

Чтобы ответить, необходимо войти в систему.

0 цитат выбрано