
Linux'ta SSH Güvenliği: Anahtar Tabanlı Giriş ve Fail2Ban Kurulumu
Linux SSH bağlantısını nasıl güvenli hale getirirsiniz? SSH anahtar tabanlı kimlik doğrulama, Fail2Ban brute force koruması ve SSH hardening rehberi.
Linux'ta SSH Güvenliği: Anahtar Tabanlı Giriş ve Fail2Ban Kurulumu
Bir Linux sunucusu internet'e açıldığında, SSH portuna (22) yönelik bot saldırıları dakikalar içinde başlar. Bir güvenlik araştırmasına göre, açık bir SSH portu yeni kurulumda ortalama 15 dakika içinde taranmaya başlanır. Bu rehberde SSH güvenliğini en üst seviyeye çıkarmanın yollarını ele alıyoruz.
SSH Anahtar Tabanlı Kimlik Doğrulama
Şifre tabanlı SSH girişi, brute force saldırılarına karşı savunmasızdır. SSH anahtar çifti ile şifre yerine kriptografik anahtar kullanılır.
Anahtar Çifti Oluşturma (Yerel Bilgisayar)
# RSA 4096 bit (eski ama evrensel destek)
ssh-keygen -t rsa -b 4096
# Ed25519 (modern, daha güvenli)
ssh-keygen -t ed25519
# Anahtar konumu: ~/.ssh/id_ed25519 (gizli) ve ~/.ssh/id_ed25519.pub (genel)
Passphrase eklemeniz önerilir ama opsiyoneldir.
Public Anahtarı Sunucuya Kopyalama
# Otomatik kopyalama
ssh-copy-id kullanici@sunucu.com
# Manuel kopyalama
cat ~/.ssh/id_ed25519.pub | ssh kullanici@sunucu.com "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Artık şifre olmadan bağlanabilirsiniz:
ssh kullanici@sunucu.com
SSH Hardening (/etc/ssh/sshd_config)
nano /etc/ssh/sshd_config
Kritik ayarlar:
# Root girişini devre dışı bırak
PermitRootLogin no
# Şifre ile girişi kapat (ANAHTARI EKLEDIKTEN SONRA!)
PasswordAuthentication no
# Boş şifre ile girişi kapat
PermitEmptyPasswords no
# Maksimum giriş denemesi
MaxAuthTries 3
# Maksimum oturum sayısı
MaxSessions 5
# Giriş zaman aşımı (saniye)
LoginGraceTime 30
# Port değiştirme (varsayılan 22'yi değiştir)
Port 2222
# Yalnızca belirli kullanıcılara izin ver
AllowUsers ahmet mehmet
# X11 forwarding kapat (gerekli değilse)
X11Forwarding no
# Banner göster (isteğe bağlı uyarı)
Banner /etc/ssh/banner
Değişiklik sonrası:
systemctl restart sshd
# Bağlantıyı kesmeden test edin!
ssh -p 2222 kullanici@sunucu.com
UYARI: Şifre girişini kapatmadan önce anahtar girişini test edin!
Fail2Ban Kurulumu
Fail2Ban, başarısız giriş denemelerini izleyerek IP adresini otomatik bloklar.
Kurulum
# AlmaLinux
dnf install fail2ban
systemctl enable --now fail2ban
# Ubuntu
apt install fail2ban
systemctl enable --now fail2ban
Yapılandırma
/etc/fail2ban/jail.local (jail.conf'u doğrudan düzenlemeyin):
[DEFAULT]
# Kaç giriş denemesi sonrası ban?
maxretry = 5
# Kaç dakika arayla?
findtime = 600
# Kaç dakika banlanacak?
bantime = 3600
# E-posta bildirimi (opsiyonel)
destemail = admin@siteniz.com
action = %(action_mw)s
[sshd]
enabled = true
port = 2222 # Değiştirdiyseniz
filter = sshd
logpath = /var/log/auth.log # Ubuntu için
# logpath = /var/log/secure # CentOS için
maxretry = 5
[nginx-http-auth]
enabled = true
[wordpress]
enabled = true
filter = wordpress
logpath = /var/log/nginx/access.log
maxretry = 5
Fail2Ban Yönetimi
# Durum
fail2ban-client status
fail2ban-client status sshd
# Mevcut banlı IP'ler
fail2ban-client status sshd | grep "Banned IP"
# IP ban'ı kaldır
fail2ban-client set sshd unbanip 192.168.1.100
# Log izleme
tail -f /var/log/fail2ban.log
SSH Port Değiştirme (Opsiyonel)
Port 22'yi değiştirerek otomatik bot taramalarını azaltabilirsiniz:
Port 2222 # veya 10022, 22000 gibi
SELinux aktifse port değiştirme için:
semanage port -a -t ssh_port_t -p tcp 2222
Güvenlik duvarında yeni portu açın:
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
Büyükweb VDS SSH Güvenliği
Büyükweb VDS sunucular ile SSH erişimi kutudan çıktığı haliyle çalışır. SSH anahtar girişi ve Fail2Ban kurulumunu ilk yapılandırma adımları olarak uygulamanızı öneririz.
SSH Güvenlik Kontrol Listesi
- SSH anahtar çifti oluşturuldu ve sunucuya eklendi
- Anahtar ile giriş test edildi
- PasswordAuthentication no ayarlandı
- PermitRootLogin no ayarlandı
- Port değiştirildi (opsiyonel)
- Fail2Ban kuruldu ve aktif
- Güvenlik duvarında yeni SSH portu açıldı
Sonuç
SSH güvenliği, anahtar tabanlı kimlik doğrulama ve Fail2Ban ile dramatik biçimde artırılabilir. Bu iki önlem, sunucunuzu otomatik bot saldırılarına karşı büyük ölçüde koruyor. Root girişini kapatmak ve şifre girişini devre dışı bırakmak, güvenlik temel prensiplerinin gereğidir.
Pratik Linux Komutlari
Dosya Yonetimi
find ile kriterlere gore arama yapin. du -sh ile dizin boyutu, ncdu ile interaktif analiz. locate ile hizli dosya bulma. rsync ile dosya senkronizasyonu.
Surec Yonetimi
ps aux ile surecleri goruntuleyin. kill -9 ile sonlandirin. nohup ile arka planda calistirin. screen/tmux ile coklu terminal. systemctl ile servis yonetimi.
Metin Isleme
grep -r ile arama, sed ile toplu degisiklik, awk ile sutun cikarma. jq ile JSON isleme. tail -f ile canli log takibi. wc ile satir/kelime sayma.
Ag Komutlari
ss -tulpn ile portlar, curl ile HTTP istekleri, mtr ile traceroute, tcpdump ile trafik yakalama. dig ile DNS sorgulari. wget ile dosya indirme.
Zamanlama
crontab -e ile zamanlanmis gorevler. Yedekleme, temizlik otomasyonu. systemd timer ile gelismis zamanlama.
Disk Yonetimi
df -h ile kullanim, lsblk ile diskler. LVM ile esnek yonetim. RAID yapilandirmasi.
Sik Sorulan Sorular
Nereden baslamaliyim?
Temel komutlar (ls, cd, cp, mv, rm), editior (nano/vim), izinler (chmod) ve paket yonetimi (apt/dnf) ile baslayin.
Bash script nasil yazilir?
#!/bin/bash ile baslayin. Degiskenler, kosullar, donguler ogrenin. chmod +x ile calistirin.
Sonuc
Linux komut satiri sunucu yonetiminin vazgecilmez aracidir. Pratik yaparak becerilerinizi gelistirin.
En Sik Kullanilan Linux Komutlari
| Komut | Aciklama | Ornek |
|---|---|---|
| ls -la | Detayli dosya listesi | ls -la /var/www |
| grep -r | Icerik arama | grep -r "error" /var/log |
| find | Dosya bulma | find / -name "*.conf" |
| chmod | Izin degistirme | chmod 755 dosya.sh |
| chown | Sahiplik degistirme | chown www-data /var/www |
| systemctl | Servis yonetimi | systemctl restart nginx |
| journalctl | Log goruntuleme | journalctl -u nginx -f |
| df -h | Disk kullanimi | df -h / |
| free -m | Bellek kullanimi | free -m |
| ss -tulpn | Ag baglantilari | ss -tulpn |
Shell Scripting Temelleri
Bash script ile tekrarli gorevleri otomatiklestirin:
Yedekleme Scripti
Otomatik yedekleme ile veritabani ve dosyalarinizi duzenli yedekleyin. mysqldump ile veritabani, tar ile dosya arsivi olusturun.
Disk Izleme
Disk kullanimini izleyen ve esik degerini astiginda bildirim gonderen script yazin.
Log Analiz
Apache/Nginx loglarini analiz ederek en cok ziyaret edilen sayfalar ve supheli IP adresleri raporlayan script olusturun.
Profesyonel Hosting icin Onemli Kriterler
Veri Merkezi Kalitesi
Veri merkezinin tier seviyesi, sunucu barindirma kalitesini dogrudan etkiler. Tier 3 veri merkezleri yedekli guc, soğutma ve ag altyapisi ile %99.982 uptime garantisi sunar. Buyukweb'in Bursa Pendc Tier 3 veri merkezi bu standartlari karsilamaktadir.
Teknik Destek Kalitesi
7/24 ulasılabilir, Turkce ve teknik bilgi sahibi destek ekibi hosting hizmetinin vazgecilmez parcasidir. E-posta, canli destek ve telefon kanallarindan hizli yanit almak ozellikle is surekliligi acisından kritiktir.
Olceklenebilirlik
Isletmeniz buyudukce hosting ihtiyaclariniz da degisir. Paylasimli hostingten VDS'e, VDS'den dedicated sunucuya sorunsuz gecis yapabilmek uzun vadeli planlamaniz icin onemlidir. Buyukweb tum bu gecis sureclerini ucretsiz olarak yonetir.
Yedekleme ve Felaket Kurtarma
Gunluk otomatik yedekleme, tek tikla geri yukleme ve uzak yedekleme secenekleri veri guvenliginiz icin sart. JetBackup ile profesyonel yedekleme cozumu tum Buyukweb hosting paketlerinde standarttir.
Guvenlik Katmanlari
SSL sertifikasi, WAF korumasi, malware tarama, DDoS korumasi ve guvenlik duvari - tum bu katmanlar birlikte calisiarak web sitenizi korur. Buyukweb bu guvenliklerin hepsini standart olarak sunar.
Uygulama ve Proje Ornekleri
Hosting ve sunucu hizmetleri farkli sektorlerde farkli ihtiyaclara karsilik gelir:
Kurumsal Web Sitesi
Sirket tanitim sitesi, blog, kariyer sayfasi ve iletisim formu icin paylasimli hosting yeterlidir. SSL, e-posta ve yedekleme dahil. cPanel ile kolay yonetim.
E-Ticaret Magaza
WooCommerce veya PrestaShop ile online magaza kurmak icin VDS oneriyoruz. Urun gorselleri, siparis yonetimi ve odeme entegrasyonu icin daha fazla kaynak gerekir.
SaaS Uygulamasi
Kendi yaziliminizi barindirmak icin dedicated sunucu veya VDS idealdir. Tam root erisim, ozel yapilandirma ve yuksek performans gerektirir.
Oyun Sunucusu
Multiplayer oyunlar icin dusuk gecikme suresi ve yuksek CPU performansi sart. GPU VDS ile grafik islem gerektiren oyun sunuculari calistirabilirsiniz.
Gelistirme Ortami
Test, staging ve CI/CD icin uygun fiyatli VDS paketleri kullanin. Docker ile gelistirme ortamlarinizi standartlastirin.
Her senaryo icin en uygun cozumu belirlemek icin Buyukweb teknik ekibine danisin: 0850 302 60 70.
Etiketler:

