Linux Sunucu Güvenliği: Adım Adım Kontrol Listesi
Linux sunucu güvenliği kontrol listesi: otomatik güncellemeler, SSH anahtarı, güvenlik duvarı, Fail2ban, gereksiz servisler, izolasyon, yedek ve denetim.

İçindekiler
Linux sunucu güvenliği, tek bir ayardan değil, birbirini tamamlayan basit önlemlerden oluşur. İnternete açık her sunucu, kurulduktan dakikalar sonra otomatik taramalarla ve şifre deneme saldırılarıyla karşılaşır. İyi haber şu: Bu saldırıların neredeyse tamamı, bu kontrol listesindeki birkaç temel adımla etkisiz hâle gelir.
Bu rehberde yeni bir Linux sunucuyu adım adım güvenli hâle getirmeyi, her adımın neden önemli olduğunu ve ayrıntılı anlatımlar için ilgili rehberlerimizi bir arada bulabilirsiniz.
Kontrol listesi
| Adım | Neden? |
|---|---|
| Sistemi güncelleyin | Bilinen açıkları kapatır |
| Otomatik güvenlik güncellemelerini açın | Siz meşgulken de açıklar kapanır |
| Normal bir kullanıcı oluşturun | Sürekli root ile çalışmayı önler |
| SSH anahtarıyla girişe geçin | Şifre deneme saldırılarını etkisiz kılar |
| Güvenlik duvarını açın | Yalnızca gerekli portları dışarıya açar |
| Fail2ban kurun | Israrcı saldırganları otomatik engeller |
| Gereksiz servisleri kapatın | Saldırı yüzeyini küçültür |
| Uygulamaları ayrı kullanıcılarla çalıştırın | Bir açığın bütün sunucuyu etkilemesini önler |
| Gizli bilgileri koruyun | Şifre ve anahtarların sızmasını önler |
| Yedek alın ve geri yüklemeyi test edin | Her şey ters gittiğinde geri dönmenizi sağlar |
| Günlükleri ve kaynakları izleyin | Sorunları erken fark etmenizi sağlar |
1. Sistemi güncel tutun
Sunucuya ilk bağlandığınızda bütün paketleri güncelleyin:
sudo apt update && sudo apt upgrade
Ardından güvenlik güncellemelerinin kendiliğinden kurulmasını sağlayın:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
unattended-upgrades varsayılan olarak yalnızca güvenlik güncellemelerini kurar. Çekirdek güncellemeleri sunucu yeniden başlatılana kadar etkinleşmez; /var/run/reboot-required dosyası varsa uygun bir zamanda yeniden başlatın. AlmaLinux ve Rocky Linux'ta aynı işi dnf-automatic paketi yapar.
2. Normal bir kullanıcı ve SSH anahtarı
Sürekli root ile çalışmak yerine sudo yetkili bir kullanıcı oluşturun, SSH anahtarıyla girişi ayarlayın ve ardından şifreli girişi ve root girişini kapatın:
PasswordAuthentication no
PermitRootLogin no
Bu ayarları /etc/ssh/sshd_config dosyasında yapmadan önce yeni kullanıcıyla anahtarla bağlanabildiğinizi ayrı bir terminalde mutlaka test edin. Bütün adımları SSH nedir? yazımızda ayrıntılı anlattık.
3. Güvenlik duvarı
Varsayılan olarak gelen her şeyi kapatıp yalnızca gerçekten kullandığınız portları açın:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 443/tcp
sudo ufw enable
OpenSSH kuralını enable komutundan önce eklemeyi unutmayın; aksi hâlde kendinizi dışarıda bırakırsınız. Veritabanı ve yönetim panelleri gibi servisleri internete hiç açmayın; uzaktan erişim için SSH tüneli ya da WireGuard kullanın. Docker kullanıyorsanız yayınlanan portların ufw kurallarını atladığını unutmayın; ayrıntılar Port nedir? ve Docker kurulumu yazılarımızda.
4. Fail2ban
Fail2ban, art arda başarısız giriş deneyen IP adreslerini otomatik olarak bir süre engeller. SSH anahtarıyla giriş zaten asıl korumayı sağlar, ama Fail2ban günlüklerdeki gürültüyü azaltır ve Nginx gibi diğer servisleri de korur. Kurulumu Fail2ban kurulumu rehberimizde anlattık.
5. Gereksiz servisleri kapatın
Sunucuda dışarıyı dinleyen her servis bir kapıdır. Neyin dinlediğini görün:
sudo ss -tulpn
Tanımadığınız ya da kullanmadığınız bir servis görüyorsanız durdurup açılışta başlamasını engelleyin:
sudo systemctl disable --now servis-adi
Kullanmadığınız paketleri kaldırmak da saldırı yüzeyini küçültür.
6. Uygulamaları ayrı kullanıcılarla çalıştırın
Web uygulamalarını, botları ve oyun sunucularını root yerine her biri için ayrı bir kullanıcıyla çalıştırın. Bir uygulamada çıkan bir güvenlik açığı böylece yalnızca o kullanıcının dosyalarına ulaşabilir. Dosya izinlerinde de ölçülü olun: chmod 777 gibi herkese yazma izni veren ayarlar sorunları çözüyormuş gibi görünür, ama ciddi bir güvenlik açığıdır. İzinleri Temel Linux komutları rehberimizde anlattık.
7. Gizli bilgileri koruyun
- Şifreleri, API anahtarlarını ve veritabanı bilgilerini koda değil
.envgibi dosyalara yazın ve bu dosyaları Git deposuna eklemeyin. - Gizli dosyaların yalnızca ilgili kullanıcı tarafından okunabildiğinden emin olun (
chmod 600). - Her servis ve kişi için ayrı şifre ve anahtar kullanın; bir şey sızdığında yalnızca onu değiştirmeniz yeterli olur.
Gizli bilgileri yayın sürecinde nasıl yöneteceğinizi Git ile deploy rehberimizde anlattık.
8. Yedekler
Güvenlik önlemleri bir gün yetmeyebilir; o gün sizi kurtaracak olan yedektir. 3-2-1 kuralına göre yedek alın, en az bir kopyayı sunucudan bağımsız bir yerde ve şifreli tutun ve geri yüklemeyi düzenli olarak test edin. Ayrıntılar Sunucu yedekleme rehberimizde.
9. İzleme ve denetim
- Giriş kayıtları:
lastson girişleri,sudo journalctl -u sshSSH günlüklerini gösterir. Tanımadığınız bir IP adresinden başarılı bir giriş görüyorsanız hemen harekete geçin. - Kaynak kullanımı: Tanımadığınız ve sürekli işlemci kullanan bir süreç, ele geçirilmiş bir sunucunun işareti olabilir. Bunu nasıl kontrol edeceğinizi Sunucu neden yavaş? yazımızda anlattık.
- Güvenlik denetimi: Açık kaynaklı Lynis aracı, sunucunuzu yüzlerce kontrol noktasına göre tarar ve öneriler sunar:
sudo apt install lynis sudo lynis audit system - Erişilebilirlik: Bir izleme servisiyle sunucunuzun ayakta olduğunu takip edin; Uptime nedir? yazımıza göz atın.
10. Hesabınızı da koruyun
Sunucunuz kadar onu yönettiğiniz hesap da önemlidir. Sağlayıcınızın müşteri panelinde iki faktörlü kimlik doğrulamayı açın ve her hizmet için benzersiz bir şifre kullanın. Panele erişimi olan biri sunucunuzu yeniden kurabilir, yedeklerinize ulaşabilir ya da şifreleri sıfırlayabilir.
Nodesty'de güvenlik
Nodesty AMD Ryzen 9 9950X VDS ve AMD EPYC 7763 VDS paketlerinde tam root erişimiyle bu kontrol listesindeki her adımı uygulayabilirsiniz. L3–L7 nShield DDoS koruması ağ düzeyindeki saldırıları sunucunuza ulaşmadan süzer, 7 gün saklanan ücretsiz günlük yedekler son güvenlik ağınızı oluşturur ve SSH erişiminiz kesildiğinde web konsolu üzerinden sunucunuza her zaman ulaşabilirsiniz. Müşteri panelinizde iki faktörlü kimlik doğrulamayı açarak hesabınızı da koruma altına alabilirsiniz.
Sıkça Sorulan Sorular
Yeni bir sunucuda ilk yapılması gereken nedir?
Sistemi güncellemek, sudo yetkili normal bir kullanıcı oluşturmak, SSH anahtarıyla girişi açıp şifreli girişi kapatmak ve güvenlik duvarını yalnızca gerekli portlara izin verecek şekilde etkinleştirmek. Bu dört adım, internete açık bir sunucuya yönelik otomatik saldırıların büyük çoğunluğunu daha ilk günden etkisiz kılar.
Sunucuma antivirüs kurmalı mıyım?
Linux sunucularda klasik antivirüs programlarından çok daha önemlisi güncel yazılım, güçlü kimlik doğrulama ve kapalı portlardır. Kullanıcıların dosya yüklediği sunucularda ClamAV gibi bir tarayıcı ek bir katman olarak kullanılabilir. Paylaşımlı web hostingde ise bu tür korumaları sağlayıcı üstlenir.
Sunucumun ele geçirildiğini nasıl anlarım?
Tanımadığınız ve sürekli yüksek işlemci kullanan süreçler, bilmediğiniz kullanıcılar ya da SSH anahtarları, beklenmedik giden trafik ve sağlayıcınızdan gelen kötüye kullanım bildirimleri en sık işaretlerdir. Böyle bir durumda sunucuyu temizlemeye çalışmak yerine temiz bir yedekten yeniden kurmak en güvenli yoldur.
Otomatik güncellemeler sunucuyu bozar mı?
unattended-upgrades varsayılan olarak yalnızca güvenlik güncellemelerini kurar ve bu güncellemeler mevcut sürümlerle uyumlu olacak şekilde hazırlanır. Sorun çıkarma olasılığı düşüktür ve bilinen bir açığın kapanmadan kalması çok daha büyük bir risktir. Büyük sürüm yükseltmelerini ise her zaman elle ve yedek aldıktan sonra yapın.
Root ile giriş yapmak neden tehlikeli?
root, sunucuda her şeyi yapabilen hesaptır ve kullanıcı adı herkesçe bilindiği için otomatik saldırıların ilk hedefidir. Normal bir kullanıcıyla giriş yapıp yalnızca gerektiğinde sudo kullanmak, hem saldırı yüzeyini küçültür hem de yanlışlıkla yapılan hataların etkisini azaltır.
Nodesty hesabımı nasıl korurum?
Sunucunuz kadar onu yönettiğiniz hesap da önemlidir. Nodesty müşteri panelinde iki faktörlü kimlik doğrulamayı açın, güçlü ve benzersiz bir şifre kullanın ve hesabınızdaki oturumları ve erişim değişikliklerini düzenli olarak kontrol edin.
Yazar hakkında
Nodesty Ekibi · Altyapı ve Destek
Nodesty ekibi sunucularımızı, ağımızı ve DDoS korumamızı her gün işletir ve müşteri destek taleplerini 7/24 yanıtlar. Bu rehberler o deneyimden yazılır.
İlgili yazılar

Web Siteniz Hacklendi mi? Adım Adım Ne Yapmalısınız?
Web siteniz hacklendiyse ne yapmalısınız? Belirtiler, ilk müdahale, şifreler, zararlı dosyaları bulma, temiz yedekten dönme, WordPress ve önlemler.

WireGuard Kurulumu: Kendi VPN Sunucunuzu Kurun
WireGuard nedir, nasıl kurulur? Ubuntu sunucuda kendi VPN sunucunuz: anahtar oluşturma, wg0.conf, yönlendirme ve NAT, istemci ayarları ve QR kod.

Fail2ban Kurulumu: Sunucuyu Saldırılara Karşı Koruma
Fail2ban nedir, nasıl kurulur? SSH kaba kuvvet saldırılarını engelleme, jail.local ayarları, Nginx korumaları, yasaklı IP yönetimi ve ufw ile kullanım.