+90(537) 827 46 78 - 0(312) 923 46 78 - info@hostprise.com- abuse@hostprise.com

Bize Ulaşın

Balgat Mahallesi Ceyhun Atuf Kansu Cad. No:36/6 ÇANKAYA – ANKARA

+90 (537) 827 46 78

info@hostprise.com

MÜŞTERİ PANELİ
Recommended Services
Supported Scripts
şkşlkş

TL;DR:

  • Kök (root/Administrator) erişimini kapatın, anahtar tabanlı kimlik doğrulama ve mümkünse 2FA kullanın.

  • Sadece ihtiyaç duyulan portları açın; UFW/Windows Firewall + sağlayıcı katmanı güvenlik duvarı kullanın.

  • Otomatik güvenlik yamalarını, Fail2ban/IDS’i ve günlük izlemeyi etkinleştirin.

  • Yedeklemeleri 3-2-1 kuralına göre yapın ve düzenli test edin.

  • Web uygulamalarında TLS, güvenlik başlıkları, WAF ve oran sınırlaması (rate limit) uygulayın.

  • Docker/Konteyner kullanıyorsanız rootless ve zorunlu erişim kontrolü (AppArmor/SELinux) açın.

1) Temel Sertleştirme (Hardening) – İlk 15 Dakika

1.1. Sistem güncelleme ve yeni yönetici kullanıcı

Ubuntu/Debian

sudo apt update && sudo apt -y upgrade
sudo adduser admin
sudo usermod -aG sudo admin

RHEL/Alma/Rocky

sudo dnf -y update
sudo adduser admin
sudo usermod -aG wheel admin

1.2. Zaman eşitleme (TLS ve log doğruluğu için)

sudo apt -y install chrony # Debian/Ubuntu
# veya
sudo dnf -y install chrony # RHEL türevleri
sudo systemctl enable --now chrony

2) Uzaktan Erişim Güvenliği (SSH/RDP)

2.1. SSH için güçlü başlangıç (Linux)

  1. Anahtar tabanlı kimlik doğrulama kullanın.
    Yerel cihazınızda:

    ssh-keygen -t ed25519 -a 100
    ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@sunucu_ip
  2. Parolayla giriş ve root oturumunu kapatın.
    /etc/ssh/sshd_config örnek:

    Port 22
    PermitRootLogin no
    PasswordAuthentication no
    PubkeyAuthentication yes
    MaxAuthTries 3
    AllowUsers admin
    ClientAliveInterval 300
    ClientAliveCountMax 2

    Not: Port değiştirmek (ör. 2222) gizlilik yoluyla güvenlik sayılır; gürültüyü azaltır ama tek başına koruma sağlamaz.

  3. (Opsiyonel ama önerilir) SSH için 2FA

    sudo apt -y install libpam-google-authenticator
    google-authenticator

    /etc/pam.d/sshd dosyasına en alta ekleyin:

    auth required pam_google_authenticator.so nullok

    /etc/ssh/sshd_config içine:

    ChallengeResponseAuthentication yes
    AuthenticationMethods publickey,keyboard-interactive

    Uyarı: Kendi oturumunuzu kilitlememek için bir yedek konsol/seri erişim veya kurtarma yöntemi hazır bulundurun.

2.2. RDP için güçlü başlangıç (Windows)

  • NLA (Network Level Authentication) ve güçlü parola politikası zorunlu olsun.

  • Yerleşik Administrator hesabını yeniden adlandırın veya devre dışı bırakın.

  • RDP’yi internetten doğrudan açmayın; IP kısıtlaması, RD Gateway veya VPN kullanın.

  • Windows Defender + Güvenlik Duvarı açık; SMBv1 kapalı; BitLocker etkin.


3) Ağ Güvenliği: Firewall, IDS/IPS ve Oran Sınırlama

3.1. UFW (Ubuntu/Debian) hızlı kalkan

sudo apt -y install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # veya seçtiğiniz SSH portu
sudo ufw allow 80,443/tcp
sudo ufw limit 22/tcp # brute-force'a karşı basit hız limiti
sudo ufw enable
sudo ufw status verbose

nftables/iptables: Gelişmiş kurallar için UFW’nin nftables arka ucunu kullanın veya doğrudan nftables yazın.

3.2. Fail2ban ile kaba kuvvet (brute force) engelleme

sudo apt -y install fail2ban
sudo systemctl enable --now fail2ban
sudo tee /etc/fail2ban/jail.local >/dev/null <<'EOF'
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
ignoreip = 127.0.0.1/8 ::1

[sshd]
enabled = true
EOF
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

3.3. IDS/IPS

  • Wazuh/OSSEC veya Snort/Suricata ile anomali tespiti.

  • Küçük ortamlarda bile Fail2ban + günlük analizi büyük fark yaratır.


4) Yama Yönetimi ve Paket Güvenliği

4.1. Otomatik güvenlik yamaları

Ubuntu/Debian

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

RHEL/Alma/Rocky

sudo dnf -y install dnf-automatic
sudo systemctl enable --now dnf-automatic.timer

4.2. Paket kaynağı hijyenine dikkat

  • Resmî depoları tercih edin, üçüncü parti repo’ları belgeleyin ve imzaları doğrulayın.

  • apt-mark hold ile kritik paketleri kilitlerken güvenlik etkisini değerlendirin.


5) Uygulama Katmanı: Web Sunucusu, Veritabanı ve E-posta

5.1. Nginx/Apache – TLS ve güvenlik başlıkları

Nginx örneği

server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
server_name example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;

# Güvenlik başlıkları
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "DENY" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src 'self'; frame-ancestors 'none'" always;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;

# Basit rate limit
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=10r/s;
location / {
limit_req zone=req_limit_per_ip burst=20 nodelay;
proxy_pass http://127.0.0.1:8080;
}
}

Sert şifre paketleri/cipher listeleri sürüm uyumsuzluğu yaratabilir. Güncel dağıtım varsayılanları çoğu zaman dengelidir. Let’s Encrypt/Certbot ile sertifika yenilemeyi otomatikleştirin.

5.2. WAF ve ters proxy

  • ModSecurity (OWASP CRS) veya bulut WAF (ör. Cloudflare) ile L7 saldırıları filtreleyin.

  • Yük dengeleme + WAF + oran sınırlaması üçlüsü DDoS yüzeyini daraltır.

5.3. Veritabanı

  • Yerel soket veya özel ağ üzerinden erişin; 0.0.0.0 dinlemeden kaçının.

  • Ayrı kullanıcılar ve asgarî ayrıcalık (least privilege).

  • Otomatik yedek + şifreli yedek (restic/borg) ve düzenli geri dönüş (restore) testi.

5.4. E-posta gönderen sunucular

  • SPF, DKIM, DMARC kayıtlarını doğru yayınlayın; reverse DNS (PTR) kontrol edin.


6) Günlükleme, Denetim ve Olay Müdahalesi

6.1. Log yönetimi

  • rsyslog/journald merkezî toplama (ör. ayrı bir log sunucusu).

  • logrotate ile disk dolmasını önleyin.

Basit logrotate örneği (Nginx)

/var/log/nginx/*.log {
daily
rotate 14
compress
missingok
notifempty
create 0640 www-data adm
sharedscripts
postrotate
systemctl reload nginx > /dev/null 2>/dev/null || true
endscript
}

6.2. Denetim (auditd)

sudo apt -y install auditd
sudo systemctl enable --now auditd
sudo tee /etc/audit/rules.d/critical.rules >/dev/null <<'EOF'
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/sudoers -p wa -k priv_esc
-w /etc/ssh/sshd_config -p wa -k ssh_cfg
EOF
sudo augenrules --load

6.3. İzleme ve alarmlar

  • Node Exporter + Prometheus + Grafana veya daha hafif çözümler (Uptime Kuma).

  • Uyarı eşiği örnekleri:

    • CPU > %90 5 dakika, Disk doluluk > %80, 5xx hata oranı > %1, SSH başarısız giriş artışı.


7) Dosya Sistemi ve Veri Güvenliği

  • Şifreleme: Linux’ta LUKS, Windows’ta BitLocker.

  • /tmp ve /dev/shm için noexec,nosuid,nodev bağlama seçenekleri:

sudo tee /etc/systemd/system/tmp.mount >/dev/null <<'EOF'
[Unit]
Description=Temporary Directory
ConditionPathIsDirectory=/tmp
[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs
Options=mode=1777,strictatime,noexec,nosuid,nodev
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now tmp.mount
  • Yedekleme (3-2-1): 3 kopya, 2 farklı ortam, 1 kopya dış lokasyon.

  • Borg/Restic örneği (SSH hedefe):

# ilk depo
restic -r sftp:backup@bkphost:/data/repo init
# günlük yedek
restic -r sftp:backup@bkphost:/data/repo backup /etc /var/www /var/lib
# saklama politikası
restic -r sftp:backup@bkphost:/data/repo forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

8) Konteyner ve Orkestrasyon Güvenliği

  • Rootless Docker ve kullanıcı ad uzayı (userns-remap).

  • Ubuntu’da AppArmor, RHEL’de SELinux (enforcing) açık olsun.

  • En az ayrıcalıklı Kubernetes servis hesapları; pod güvenlik standartları; gizler (Secrets) için KMS/HSM entegrasyonu.

Docker daemon.json örneği

{
"icc": false,
"no-new-privileges": true,
"userns-remap": "default",
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" }
}

9) IPv6, Çekirdek Parametreleri ve Gereksiz Servisler

/etc/sysctl.d/99-hardening.conf

net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.log_martians = 1
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
sudo sysctl --system

IPv6’ı kullanmıyorsanız kapatabilirsiniz; ancak kapatmadan önce ağ topolojisini doğrulayın.

Gereksiz servisleri bulun ve kapatın:

systemctl --type=service --state=running
sudo systemctl disable --now servis_adi

10) Yayına Almadan Önce Son Kontrol Listesi

  • Root/Administrator uzaktan giriş kapalı

  • Anahtar tabanlı SSH + (varsa) 2FA

  • Firewall: Giriş deny, yalnızca gerekli portlar allow

  • Fail2ban çalışıyor, bantime ve findtime ayarlı

  • Otomatik güvenlik yamaları etkin

  • TLS sertifikası geçerli, otomatik yenileme kurulu

  • Güvenlik başlıkları (HSTS, CSP, XFO, XCTO) aktif

  • Yedekleme 3-2-1, son restore testi tarihi notlu

  • İzleme/Alarm pratikte uyarı üretiyor (test edildi)

  • Logrotate disk kullanımını kontrol altında tutuyor

  • Gereksiz servisler kapalı, port taraması temiz

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir