SSH Bağlantı Sorunu: Sunucuya Bağlanamıyorum
SSH bağlantı sorunlarını çözme rehberi: Path.net firewall kuralları, Default Block, SSH portu için filtre kuralı oluşturma ve sorun giderme adımları.
Sunucunuz hacklendiğinde yapılması gereken acil müdahale adımları: hack tespiti, izolasyon, forensic analiz ve temizleme rehberi.
Sunucunuzun hacklendiğini fark etmek stresli bir durumdur, ancak doğru adımları izleyerek hasarı minimize edebilir ve sisteminizi kurtarabilirsiniz. Bu rehberde, hack tespitinden temizleme ve güvenlik sertleştirmesine kadar tüm süreçleri detaylı olarak anlatacağız.
Sunucunuzun hacklendiğini gösteren yaygın belirtiler:
İlk ve en önemli adım sakin kalmak ve her şeyi belgelendirmektir:
# Mevcut durumu kaydet
date > /tmp/incident_$(date +%Y%m%d_%H%M%S).log
who >> /tmp/incident_*.log
w >> /tmp/incident_*.log
last -20 >> /tmp/incident_*.log
ps auxf >> /tmp/incident_*.log
netstat -tlnp >> /tmp/incident_*.log
ss -tlnp >> /tmp/incident_*.log
Sunucuyu hemen kapatmayın veya yeniden başlatmayın! Forensic kanıtlar kaybolabilir. Önce mevcut durumu belgelendirin.
Saldırganın daha fazla hasar vermesini önlemek için sunucuyu izole edin:
# Tüm giden bağlantıları engelle (SSH hariç)
sudo iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A OUTPUT -j DROP
# Veya REXE Path Panel'den tüm kuralları kaldırın
# Bu, sunucuya sadece VNC/IPMI ile erişmenizi sağlar
# Aktif SSH oturumlarını kontrol et
who
w
# Şüpheli oturumları sonlandır
sudo pkill -u şüpheli_kullanıcı
# Tüm SSH oturumlarını sonlandır (kendi oturumunuz hariç)
sudo pkill -9 -u root sshd
# Tüm kullanıcıları listele
cat /etc/passwd | grep -v nologin | grep -v false
# UID 0 (root yetkili) kullanıcıları kontrol et
awk -F: '($3 == 0) {print}' /etc/passwd
# Son oluşturulan kullanıcıları kontrol et
ls -lt /home/
# Sudo yetkili kullanıcılar
grep -v '^#' /etc/sudoers
ls -la /etc/sudoers.d/
# SSH authorized_keys kontrolü
for user_home in /home/*; do
if [ -f "$user_home/.ssh/authorized_keys" ]; then
echo "=== $user_home ==="
cat "$user_home/.ssh/authorized_keys"
fi
done
cat /root/.ssh/authorized_keys
# Tüm çalışan süreçleri ağaç yapısında göster
ps auxf
# Şüpheli süreçleri ara
ps aux | grep -E '(mine|xmr|crypto|kinsing|kdevtmpfsi)'
# Yüksek CPU kullanan süreçler
top -b -n 1 | head -20
# Gizli süreçleri kontrol et
ls -la /proc/*/exe 2>/dev/null | grep deleted
# Süreç dosya yollarını kontrol et
ls -la /proc/[0-9]*/exe 2>/dev/null | grep -v '/usr\|/bin\|/sbin\|/lib'
# Root crontab
crontab -l
# Tüm kullanıcıların crontab'ları
for user in $(cut -f1 -d: /etc/passwd); do
crontab -l -u $user 2>/dev/null | grep -v '^#'
done
# Sistem cron dizinleri
ls -la /etc/cron.d/
ls -la /etc/cron.daily/
ls -la /etc/cron.hourly/
cat /etc/crontab
# Systemd timer'ları
systemctl list-timers --all
# Aktif bağlantıları kontrol et
ss -tanp
netstat -tanp
# Dışarıya bağlantı kuran süreçler
ss -tanp | grep ESTABLISHED | grep -v '127.0.0.1'
# Dinlenen portlar
ss -tlnp
# Şüpheli IP'lere bağlantılar
netstat -an | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20
# Son 24 saatte değiştirilen dosyalar
find / -mtime -1 -type f -not -path '/proc/*' -not -path '/sys/*' 2>/dev/null
# Son 7 günde oluşturulan dosyalar
find / -ctime -7 -type f -not -path '/proc/*' -not -path '/sys/*' 2>/dev/null
# SUID/SGID dosyaları kontrol et
find / -perm -4000 -type f 2>/dev/null
find / -perm -2000 -type f 2>/dev/null
# /tmp ve /var/tmp'de şüpheli dosyalar
ls -la /tmp/
ls -la /var/tmp/
ls -la /dev/shm/
# Gizli dosyalar
find / -name ".*" -type f -not -path '/proc/*' -not -path '/sys/*' 2>/dev/null | head -50
# SSH giriş denemeleri
grep 'Failed password' /var/log/auth.log | tail -50
grep 'Accepted' /var/log/auth.log | tail -50
# Başarılı SSH girişleri
last -20
lastlog
# Sistem logları
journalctl --since "24 hours ago" | grep -i -E '(error|warning|fail|denied)'
# Web sunucu logları
tail -100 /var/log/nginx/access.log
tail -100 /var/log/apache2/access.log
# Paket yöneticisi logları
cat /var/log/apt/history.log | tail -50
cat /var/log/yum.log | tail -50
# Şüpheli süreçleri öldür
sudo kill -9 <PID>
# Kripto madenci süreçlerini bul ve öldür
sudo pkill -9 -f 'xmr\|mine\|crypto\|kinsing'
# Şüpheli servisleri devre dışı bırak
sudo systemctl stop şüpheli_servis
sudo systemctl disable şüpheli_servis
# Şüpheli kullanıcıyı kilitle
sudo usermod -L şüpheli_kullanıcı
# Kullanıcıyı sil
sudo userdel -r şüpheli_kullanıcı
# Root şifresini değiştir
sudo passwd root
# Tüm kullanıcı şifrelerini sıfırla
sudo passwd -e kullanıcı_adı
# Tüm authorized_keys dosyalarını kontrol et ve temizle
find / -name authorized_keys -exec cat {} \;
# Sadece kendi anahtarınızı bırakın
echo "ssh-rsa SIZIN_ANAHTARINIZ" > /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
# Şüpheli cron görevlerini sil
crontab -r # Tüm crontab'ı sil
crontab -e # Yeniden oluştur
# Sistem cron dizinlerini temizle
sudo rm -f /etc/cron.d/şüpheli_dosya
# /etc/ssh/sshd_config
Port 2222 # Varsayılan portu değiştir
PermitRootLogin prohibit-password # Root şifre girişini kapat
PasswordAuthentication no # Şifre girişini kapat
MaxAuthTries 3 # Maksimum deneme sayısı
AllowUsers kullanıcı_adı # Sadece belirli kullanıcılar
# SSH servisini yeniden başlat
sudo systemctl restart sshd
sudo apt install fail2ban -y
# /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 3600
findtime = 600
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# Tüm paketleri güncelle
sudo apt update && sudo apt upgrade -y
# Kernel güncellemesi
sudo apt dist-upgrade -y
# Otomatik güvenlik güncellemeleri
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
Eğer temizleme yeterli değilse, temiz bir kurulum yapmanız gerekebilir:
# 1. Önemli verileri yedekle
tar -czf /tmp/backup_data.tar.gz /var/www/ /etc/ /home/
# 2. REXE panelden sunucuyu yeniden kurun
# my.rexe.tr > Hizmetler > İşletim Sistemi Yeniden Kurulum
# 3. Temiz kurulum sonrası güvenlik sertleştirmesi yapın
# 4. Yedekten sadece veri dosyalarını geri yükleyin (yapılandırma dosyalarını DEĞİL)
Yedekten geri yükleme yaparken yapılandırma dosyalarını geri yüklemeyin! Saldırgan bu dosyalara arka kapı eklemiş olabilir. Yapılandırmaları sıfırdan oluşturun.
Ciddi güvenlik ihlallerinde REXE destek ekibiyle iletişime geçin:
Sunucu hack olaylarında hızlı ve sistematik müdahale kritik öneme sahiptir. Belgelendirme, izolasyon, forensic analiz, temizleme ve güvenlik sertleştirmesi adımlarını sırasıyla uygulayın. Gelecekte benzer olayları önlemek için düzenli güvenlik denetimleri yapın, güncellemeleri takip edin ve güçlü erişim kontrolleri uygulayın.
Yaygın belirtiler: anormal CPU/RAM kullanımı, bilinmeyen süreçler, yeni kullanıcı hesapları, değiştirilmiş dosyalar, anormal ağ trafiği ve spam e-posta gönderimi. 'ps auxf', 'ss -tanp' ve 'last' komutlarıyla kontrol edin.
Hayır! Sunucuyu hemen kapatmak forensic kanıtların kaybolmasına neden olabilir. Önce mevcut durumu belgelendirin, ardından ağ izolasyonu yapın. Kapatma son çare olmalıdır.
Saldırının kapsamına bağlıdır. Basit bir kripto madenci ise temizleme yeterli olabilir. Ancak rootkit veya kernel seviyesinde bir saldırı varsa, temiz yeniden kurulum en güvenli seçenektir.
Evet, ancak dikkatli olun. Veri dosyalarını (veritabanı, web dosyaları) yedekleyebilirsiniz, ancak yapılandırma dosyalarını ve çalıştırılabilir dosyaları yedekten geri yüklemeyin. Bunlar saldırgan tarafından değiştirilmiş olabilir.
SSH anahtar tabanlı kimlik doğrulama kullanın, Fail2ban kurun, düzenli güncelleme yapın, güçlü şifreler kullanın, gereksiz servisleri kapatın, Path Panel firewall kurallarını doğru yapılandırın ve düzenli yedekleme alın.
SSH bağlantı sorunlarını çözme rehberi: Path.net firewall kuralları, Default Block, SSH portu için filtre kuralı oluşturma ve sorun giderme adımları.
RDP bağlantı sorunlarını çözme rehberi: Path.net firewall kuralları, Default Block, RDP portu için filtre kuralı oluşturma ve sorun giderme adımları.
WinMTR ve Linux MTR ile ağ testi yapma, ICMP filtre kuralı oluşturma ve sonuçları destek ekibine gönderme rehberi. Paket kaybı ve gecikme analizi.