format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightGiriş: Sunucu Güvenliğinde Temel Adım
- arrow_rightNeden Gereksiz Servisler Tehlikelidir?
- arrow_rightEn Çok Karşılaşılan Gereksiz Servisler
- arrow_rightAğ Servisleri
- arrow_rightYönetim Servisleri
- arrow_rightEski ve Kullanılmayan Servisler
- arrow_rightGereksiz Servisleri Nasıl Tespit Edersiniz?
- arrow_rightLinux Sunucularda Tarama
- arrow_rightWindows Sunucularda Tarama
- arrow_rightGüvenlik Taraması Araçları
- arrow_rightServisleri Kapatma Yöntemleri
- arrow_rightLinux Sistemlerde
- arrow_rightWindows Sistemlerde
- arrow_rightGüvenlik Duvarı ile Kontrol
- arrow_rightKarşılaştırma Tablosu: Servis Yönetim Araçları
- arrow_rightEn İyi Uygulamalar ve Öneriler
- arrow_rightSonuç
Giriş: Sunucu Güvenliğinde Temel Adım
Sunucu güvenliği, web siteleri ve uygulamalar için en kritik konulardan biridir. Siber saldırıların%80'inden fazlası, sunucuda çalışan gereksiz servislerden kaynaklanmaktadır. Bu makalede, sunucunuzda çalışan gereksiz servisleri nasıl tespit edeceğinizi ve güvenlik açıklarını nasıl kapatacağınızı detaylı olarak inceleyeceğiz.
Neden Gereksiz Servisler Tehlikelidir?
Her çalışan servis, potansiyel bir güvenlik açığıdır. Saldırganlar, açık portları ve çalışan servisleri hedef alarak sisteme sızmayı denerler. Araştırmalar, düzenli servis denetimi yapmayan sunucuların hack saldırılarına maruz kalma riskinin%67 daha yüksek olduğunu göstermektedir.
Gereksiz servisleri kapatmak, saldırı yüzeyini%60 oranında azaltabilir. Bu, güvenlik duruşunuzu önemli ölçüde güçlendirir ve kaynak kullanımını optimize eder.
En Çok Karşılaşılan Gereksiz Servisler
Sunucularda genellikle kapatılması gereken servisler şunlardır:
Ağ Servisleri
- Telnet: Şifresiz veri aktarımı yapar, SSH ile değiştirilmelidir
- FTP: Güvensiz dosya transferi protokolü, SFTP tercih edilmeli
- HTTP: Şifresiz web trafiği, HTTPS kullanılmalı
- SNMP v1/v2: Güvenlik açıkları içerir, v3 kullanılmalı
Yönetim Servisleri
- Rexec/Rsh: Uzaktan komut çalıştırma, güvensiz
- Finger: Kullanıcı bilgilerini ifşa eder
- Echo/Chargen: DoS saldırılarında kullanılabilir
Eski ve Kullanılmayan Servisler
- NetBIOS: Windows ağ paylaşımı, gerekmiyorsa kapatılmalı
- LDAP: Active Directory dışında kullanılmıyorsa
- MySQL/PostgreSQL dışı veritabanı servisleri: Kullanılmıyorsa
Gereksiz Servisleri Nasıl Tespit Edersiniz?
Linux Sunucularda Tarama
Linux sistemlerde çalışan servisleri görüntülemek için htop ve netstat gibi araçlar kullanılabilir:
netstat -tulpn
ss -tulpn
systemctl list-units --type=service
Bu komutlar, tüm açık portları ve çalışan servisleri listeler. Tanımadığınız veya kullanmadığınız servisleri not edin.
Windows Sunucularda Tarama
Windows sistemlerde PowerShell veya netsh komutlarıyla port taraması yapılabilir:
netstat -ano
Get-NetTCPConnection
Get-Service | Where-Object {$_.Status -eq 'Running'}
Güvenlik Taraması Araçları
Otomatik tarama için Nmap gibi araçlar kullanılabilir:
nmap -sV -sC -p- sunucu-ip-adresi
Bu tarama, dışarıdan görünen tüm servisleri ve potansiyel güvenlik açıklarını ortaya çıkarır.
Servisleri Kapatma Yöntemleri
Linux Sistemlerde
systemd kullanılan sistemlerde servisleri devre dışı bırakmak için:
# Servisi durdurma
sudo systemctl stop servis-adı
# Servisi devre dışı bırakma (açılışta çalışmasını engelleme)
sudo systemctl disable servis-adı
# Servisin durumunu kontrol etme
sudo systemctl status servis-adı
SysV init sistemlerinde:
update-rc.d servis-adı disable
/etc/init.d/servis-adı stop
Windows Sistemlerde
Windows Server'da servisleri devre dışı bırakmak için:
# Servisi durdurma
Stop-Service -Name "ServisAdı" -Force
# Servisi devre dışı bırakma
Set-Service -Name "ServisAdı" -StartupType Disabled
# Hizmetler arayüzünden yönetim
services.msc
Güvenlik Duvarı ile Kontrol
Açık portları sadece gerekli servislerle sınırlamak için güvenlik duvarı kuralları oluşturun. İptables örneği:
# Sadece SSH, HTTP, HTTPS izin ver
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -j DROP
Karşılaştırma Tablosu: Servis Yönetim Araçları
| Özellik | systemctl | service | chkconfig |
|---|---|---|---|
| Linux Dağıtımı | systemd (Ubuntu, CentOS 7+) | SysVinit (Tümü) | RHEL/CentOS 6 |
| Durdurma | systemctl stop | service stop | service stop |
| Devre Dışı | systemctl disable | chkconfig off | chkconfig off |
| Durum Kontrolü | systemctl status | service status | chkconfig --list |
En İyi Uygulamalar ve Öneriler
Sunucu güvenliğini sağlamak için aşağıdaki adımları izleyin:
- Düzenli Denetim: Ayda en az bir kez çalışan servisleri kontrol edin
- En Az Yetki: Sadece gerekli servisleri çalıştırın
- Güncellemeler: Servisleri güncel tutun, güvenlik yamalarını uygulayın
- Log İzleme: Servis loglarını düzenli olarak inceleyin
- Yedekleme: Önemli değişikliklerden önce yedek alın
- Belgeleme: Hangi servislerin neden çalıştığını dokümante edin
Sonuç
Gereksiz servisleri kapatmak, sunucu güvenliğinin temel taşlarından biridir. Bu makalede öğrendiğiniz yöntemlerle sunucunuzdaki saldırı yüzeyini önemli ölçüde azaltabilirsiniz. Düzenli denetim ve doğru yapılandırma ile sunucu altyapınızı daha güvenli hale getirin.
Güvenlik tek seferlik bir işlem değildir; sürekli bakım ve dikkat gerektirir. Sunucu yönetiminde profesyonel destek için iletişim sayfamızdan bizimle bağlantı kurabilirsiniz.