İçindekiler
Linux sunucular, performans ve esneklik açısından güçlü olsa da varsayılan kurulumları genellikle tam güvenli değildir. Sunucu ilk kurulduğunda yapılacak doğru güvenlik yapılandırmaları; yetkisiz erişimleri engeller, veri kaybını önler ve sistemin uzun vadede stabil çalışmasını sağlar. Bu rehberde, Linux sunucu kurulumundan hemen sonra yapılması gereken temel güvenlik adımlarını detaylı ve anlaşılır şekilde bulabilirsiniz.
1. Root Kullanıcısını Doğrudan Erişime Kapatın
Linux sistemlerde en yüksek yetkiye sahip kullanıcı root hesabıdır. Varsayılan olarak root ile SSH bağlantısına izin verilmesi ciddi bir güvenlik riskidir çünkü saldırganlar ilk olarak root erişimini hedef alır.
Root erişimini kapatmak için SSH yapılandırma dosyasını düzenleyin:
nano /etc/ssh/sshd_config
Aşağıdaki satırı bulun ve değiştirin:
PermitRootLogin no
Ardından SSH servisini yeniden başlatın:
systemctl restart sshd
Bu işlemden sonra root ile direkt giriş engellenir. Yönetim işlemleri için sudo yetkili normal kullanıcı kullanmanız önerilir. Bu, brute force saldırılarına karşı önemli bir koruma sağlar.
2. Yeni Bir Sudo Yetkili Kullanıcı Oluşturun
Root erişimini kapattıktan sonra sistemi yönetmek için yeni bir kullanıcı oluşturmanız gerekir.
adduser yenikullanici
usermod -aG sudo yenikullanici
Bu kullanıcı artık sudo yetkisine sahip olacaktır. Günlük yönetim işlemlerini root yerine bu hesap üzerinden yapmak güvenlik açısından çok daha doğrudur.
3. SSH Portunu Değiştirin
Varsayılan SSH portu 22'dir ve tüm otomatik saldırı botları bu portu tarar. SSH portunu değiştirmek saldırıları tamamen engellemez ancak büyük ölçüde azaltır.
SSH config dosyasını açın:
nano /etc/ssh/sshd_config
Port satırını değiştirin:
Port 2222
Servisi yeniden başlatın:
systemctl restart sshd
Artık SSH bağlantısı:
ssh kullanici@ip -p 2222
şeklinde yapılacaktır.
4. Güçlü Şifre Politikası Uygulayın
Zayıf şifreler, sunucu güvenliğinin en büyük açıklarından biridir. Şifrelerin:
- En az 12 karakter
- Büyük/küçük harf
- Rakam
- Özel karakter
içermesi gerekir. Şifre politikası için:
nano /etc/pam.d/common-password
veya
nano /etc/login.defs
üzerinden minimum uzunluk ve karmaşıklık ayarlanabilir.
5. Firewall (Güvenlik Duvarı) Kurulumu
Linux sunucuda açık portları kontrol etmek ve sadece gerekli servisleri izinli tutmak için firewall kullanılmalıdır.
UFW (Ubuntu / Debian)
apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp
ufw enable
Firewalld (CentOS / AlmaLinux)
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
Firewall, sunucunun dış dünyaya karşı ilk savunma hattıdır.
6. Fail2Ban Kurulumu (Brute Force Koruması)
Fail2Ban, hatalı giriş denemelerini tespit edip saldırgan IP'leri otomatik olarak engeller.
Kurulum:
apt install fail2ban -y
Aktif hale getirin:
systemctl enable fail2ban
systemctl start fail2ban
SSH koruması varsayılan olarak aktiftir. Yapılandırma dosyası:
/etc/fail2ban/jail.local
Fail2Ban, brute force saldırılarını ciddi ölçüde azaltır.
7. Sistem Güncellemelerini Yapın
Güncel olmayan sistemler, bilinen güvenlik açıklarına karşı savunmasızdır. İlk kurulumdan sonra mutlaka güncelleme yapılmalıdır.
apt update && apt upgrade -y
veya
yum update -y
Otomatik güvenlik güncellemeleri için:
apt install unattended-upgrades
8. Gereksiz Servisleri Kapatın
Sunucuda çalışmayan ancak açık olan servisler güvenlik açığı oluşturabilir. Aktif servisleri kontrol edin:
systemctl list-unit-files --type=service
Kullanılmayan servisleri kapatın:
systemctl disable servisadi
systemctl stop servisadi
Minimal servis = daha güvenli sistem.
9. SSH Key (Anahtar) ile Giriş Zorunlu Yapın
Şifre yerine SSH Key Authentication kullanmak en güvenli yöntemlerden biridir.
Local bilgisayarda:
ssh-keygen
Sunucuya gönder:
ssh-copy-id kullanici@ip -p 2222
Sonra SSH config:
PasswordAuthentication no
Bu sayede şifre ile giriş tamamen kapatılır.
10. Log ve Güvenlik Kayıtlarını İzleyin
Sunucu güvenliği için log dosyaları düzenli kontrol edilmelidir.
Önemli loglar:
/var/log/auth.log/var/log/secure/var/log/syslog
Şüpheli girişler, başarısız login denemeleri ve servis hataları buradan takip edilir.
11. Rootkit ve Malware Taraması Yapın
Sunucuda zararlı yazılım olup olmadığını kontrol etmek için:
apt install rkhunter chkrootkit -y
rkhunter --update
rkhunter --check
Düzenli tarama, gizli tehditleri erkenden yakalamanızı sağlar.
12. Otomatik Yedekleme Sistemi Kurun
Güvenlik sadece saldırıları önlemek değildir; veri kaybına karşı hazırlıklı olmaktır.
- Günlük otomatik yedek
- Harici sunucuya backup
- Snapshot / image yedek
Örnek rsync:
rsync -a /home remote:/backup
Özet
Linux sunucu güvenliği, kurulumdan hemen sonra başlatılması gereken kritik bir süreçtir. Root erişiminin kapatılması, SSH güvenliği, firewall, Fail2Ban ve güncellemeler gibi temel adımlar uygulanmadan sunucu internete açık bırakılmamalıdır.
Bu rehberdeki adımları uygulayarak:
- Yetkisiz erişimleri önleyebilir
- Brute force saldırılarını engelleyebilir
- Veri kaybı riskini azaltabilir
- Sunucu stabilitesini artırabilirsiniz
Sık Sorulan Sorular
Bu adımların hepsini aynı anda mı uygulamalıyım?
Hayır, tek tek uygulayıp her adımdan sonra bağlantınızı test etmeniz önerilir — özellikle SSH portu ve root erişimini değiştirirken, mevcut oturumunuzu kapatmadan yeni ayarla bağlanabildiğinizi doğrulayın. Aksi halde sunucudan tamamen dışarıda kalabilirsiniz.
SSH portunu değiştirmek tek başına yeterli mi?
Hayır. Port değiştirmek yalnızca otomatik tarama botlarının büyük kısmını caydırır; asıl güvenlik SSH key kullanımı, Fail2Ban ve firewall ile birlikte sağlanır.
Firewall kurduktan sonra kendi erişimimi kaybedebilir miyim?
Evet, yanlış yapılandırılmış bir firewall (özellikle mevcut SSH portunu izin listesine almadan "deny incoming" ayarlamak) kendinizi sunucudan kilitleyebilir. Kuralları uygulamadan önce SSH portunuzun izinli olduğundan emin olun.
Ne sıklıkla güvenlik kontrolü yapmalıyım?
Sistem güncellemelerini haftalık, log ve rootkit taramalarını en az aylık kontrol etmeniz önerilir. Kritik güvenlik yamaları çıktığında ise beklemeden hemen uygulayın.
İlgili yazılar
Ktunnel Proxy Nedir? Ne İşe Yarar, Nasıl Kullanılır ve Güvenli midir?
İnternette gezinirken bazı web sitelerine erişemediğiniz, bulunduğunuz ağ tarafından belirli adreslerin engellendiği veya bir içeriğin bulunduğunuz bölgeden görüntülenemediği…
Nulled Script Kullanmanın Riskleri
İnternette “ücretsiz premium script” gibi cazip başlıklarla sunulan nulled scriptler, aslında lisanslı yazılımların kırılmış (cracked) ve yetkisiz olarak…
SSH Güvenliği Nasıl Sağlanır?
SSH varsayılan ayarlarla bırakıldığında ciddi risk taşır. Port değiştirme, SSH key kullanımı ve Fail2Ban kurulumuyla sunucunuzu nasıl koruyacağınızı öğrenin.