Sertifikalar Kariyer Projeler Blog Araçlar İletişim $ iletisime_gec
← Tüm yazılar

Ubuntu Server Güvenliği: Kurulum Sonrası Yapılması Gereken 10 Adım

Yeni bir Ubuntu Server kurduğunuzda varsayılan ayarlar güvenlik için yeterli değil. SSH root girişi açık, firewall kapalı, otomatik güncellemeler devre dışı. Bu 10 adımı uygulayarak sunucunuzu üretime hazır hale getirin. KRK Holding'de 50+ sunucuya uyguladığım checklist.

Ubuntu Server Güvenliği: Kurulum Sonrası Yapılması Gereken 10 Adım

Yeni bir Ubuntu Server kurduğunuzda ilk 30 dakika kritik. Varsayılan kurulum güvenlik için optimize edilmemiş — SSH root girişi açık, firewall yok, güncellemeler manuel. Bu sürede doğru adımları atmazsanız sunucunuz saatler içinde taranmaya başlar.

KRK Holding'de her yeni sunucu kurulumunda uyguladığım 10 adımı paylaşıyorum. Tamamı Ubuntu 22.04 LTS üzerinde test edildi.

Adım 1: Sistemi Güncelleyin

İlk yapılacak iş her zaman sistem güncellemesi. Kurulum medyasındaki paketler güncel olmayabilir, bilinen güvenlik açıkları içerebilir.

apt update && apt upgrade -y
apt dist-upgrade -y
apt autoremove -y

Güncelleme sonrası kernel değişmişse mutlaka yeniden başlatın:

reboot

Adım 2: Sudo Yetkili Yeni Kullanıcı Oluşturun

Root hesabıyla çalışmak tehlikeli. Yanlışlıkla yapılan bir komut tüm sistemi bozabilir. Sudo yetkili ayrı bir kullanıcı oluşturun.

adduser idriskoc
usermod -aG sudo idriskoc

Yeni kullanıcıyla giriş yapın ve sudo çalıştığını doğrulayın:

su - idriskoc
sudo apt update

Adım 3: SSH Anahtar Tabanlı Kimlik Doğrulama

Şifre tabanlı SSH girişi brute-force saldırılarına açık. Önce yerel makinenizde anahtar çifti oluşturun:

ssh-keygen -t ed25519 -C idriskoc@linux.ist
ssh-copy-id idriskoc@SUNUCU_IP

SSH anahtarı çalıştığını doğruladıktan sonra /etc/ssh/sshd_config dosyasında şu değişiklikleri yapın:

PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
Port 2222

SSH portunu 22'den değiştirmek otomatik tarayıcıların büyük bölümünü eliyor. Ben her sunucuda farklı bir port kullanıyorum.

systemctl restart sshd

Adım 4: Firewall Ayarlayın (UFW)

Ubuntu'da UFW kurulu gelir ama varsayılan olarak kapalıdır. Sadece ihtiyacınız olan portları açın — gereksiz her açık port saldırı yüzeyi demek.

ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose

Adım 5: Fail2Ban Kurun

Fail2Ban başarısız giriş denemelerini izleyip ilgili IP'yi otomatik engelliyor. Brute-force saldırılarına karşı ilk savunma hattı.

apt install fail2ban -y
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

/etc/fail2ban/jail.local dosyasını düzenleyin:

[DEFAULT]
bantime  = 3600
findtime = 600
maxretry = 3
ignoreip = 127.0.0.1/8 ::1

[sshd] enabled = true port = 2222 maxretry = 3 bantime = 86400

systemctl enable --now fail2ban

Adım 6: Otomatik Güvenlik Güncellemeleri

Güncellemeleri unutmak en yaygın güvenlik açığı nedenlerinden biri. Güvenlik yamalarının otomatik uygulanmasını sağlayın.

apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades

/etc/apt/apt.conf.d/50unattended-upgrades dosyasında şunların aktif olduğunu doğrulayın:

Unattended-Upgrade::Allowed-Origins {
    :-security;
};
Unattended-Upgrade::Remove-Unused-Dependencies true;

Adım 7: Kernel Parametrelerini Sertleştirin

/etc/sysctl.conf dosyasına şu parametreleri ekleyin. Bu ayarlar IP spoofing, SYN flood ve ICMP redirect saldırılarına karşı ek koruma sağlar:

net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.log_martians = 1
kernel.randomize_va_space = 2
sysctl -p

Adım 8: Gereksiz Servisleri Kapatın

Çalışan her servis potansiyel bir güvenlik açığı. Önce nelerin çalıştığını görün:

systemctl list-units --type=service --state=running

Sunucularda genellikle gerekmeyen avahi-daemon gibi servisleri kapatın:

systemctl stop avahi-daemon
systemctl disable avahi-daemon

Açık portları kontrol edin, beklenmeyen bir şey varsa araştırın:

ss -tulnp

Adım 9: Log İzleme

Güvenlik olaylarını fark etmek için log izleme şart. Logwatch ile günlük özet e-posta alabilirsiniz:

apt install logwatch -y

/etc/logwatch/conf/logwatch.conf dosyasında:

Output  = mail
Format  = html
MailTo  = info@linux.ist
Range   = yesterday
Detail  = Med

Auth loglarını anlık izlemek için:

tail -f /var/log/auth.log | grep -i failed|invalid|error

Adım 10: Yedekleme

Kritik verilerin düzenli yedeğini alın. Basit bir bash script ile başlayabilirsiniz:

tar -czf /opt/backups/backup-20260726.tar.gz /etc /var/www /opt/apps
find /opt/backups -name *.tar.gz -mtime +30 -delete

Cron ile her gece 03:00'de otomatik çalıştırın:

0 3 * * * root bash /opt/backup.sh

Bonus: CrowdSec

Bu 10 adıma ek olarak CrowdSec kurmanızı öneririm. Fail2Ban'dan farklı olarak global tehdit istihbaratı kullanıyor — bilinen kötü aktörleri siz henüz görmeden engelliyor.

curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | bash
apt install crowdsec crowdsec-firewall-bouncer-iptables -y

Sonuç

Bu 10 adım, Ubuntu Server'ınızı minimum seviyede güvence altına alıyor. Güvenlik tek seferlik bir iş değil — düzenli güncelleme, log izleme ve denetim gerekiyor. KRK Holding'de 50'den fazla sunucuya bu adımları uyguladım. Sorularınız varsa iletişim formundan ulaşabilirsiniz.

İK
İdris Koç
Linux Engineer · IT Manager @ KRK Holding · linux.ist Kurucusu
linux.ist AI
● Gemini 1.5 Flash · Aktif
Merhaba! Linux, sunucu yönetimi veya ağ güvenliği hakkında sorularınızı yanıtlayabilirim. 👋