Linux Neden Kurumsal Sunucuların Tercihi?
Dünyanın en büyük veri merkezlerinin ve bulut altyapılarının büyük bölümü Linux üzerinde çalışır. Açık kaynak lisans modeli, yüksek kararlılık, güçlü güvenlik mimarisi ve geniş ekosistem desteği Linux'u kurumsal ortamlar için vazgeçilmez kılar. Bu rehber; Ubuntu Server (LTS) ve AlmaLinux/Rocky Linux (RHEL uyumlu) dağıtımları üzerinden temel yönetim becerilerini sistematik biçimde ele almaktadır.
Dağıtım Seçimi: Ubuntu Server vs RHEL Tabanlı
| Kriter | Ubuntu Server LTS | AlmaLinux / Rocky Linux |
|---|---|---|
| Destek süresi | 5 yıl (10 yıl ESM) | 10 yıl |
| Paket yöneticisi | apt / dpkg | dnf / rpm |
| Ekosistem | Geniş, geliştirici dostu | Kurumsal, RHEL uyumlu |
| Ücretsiz mi? | Evet | Evet |
| Tipik kullanım | Web sunucuları, bulut, konteyner | Finans, sağlık, geleneksel kurumsal |
İlk Kurulum Sonrası Zorunlu Adımlar
Sistem Güncellemesi
# Ubuntu
sudo apt update && sudo apt upgrade -y
# AlmaLinux / Rocky
sudo dnf update -y
Hostname ve Zaman Dilimi Ayarı
sudo hostnamectl set-hostname sunucu01.sirket.local
sudo timedatectl set-timezone Europe/Istanbul
timedatectl status
Statik IP Yapılandırması (Ubuntu - Netplan)
# /etc/netplan/00-installer-config.yaml
network:
version: 2
ethernets:
ens3:
addresses: [192.168.1.10/24]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
sudo netplan apply
SSH Sertleştirme
SSH, uzak yönetimin birincil yoludur ve doğru yapılandırılmazsa saldırıların hedefi olur.
Anahtar Tabanlı Kimlik Doğrulama
# İstemci tarafında anahtar oluşturma
ssh-keygen -t ed25519 -C "yonetici@sirket.com"
# Public key'i sunucuya kopyalama
ssh-copy-id -i ~/.ssh/id_ed25519.pub kullanici@192.168.1.10
/etc/ssh/sshd_config Güvenlik Ayarları
Port 2222 # Varsayılan portu değiştirin
PermitRootLogin no # Root ile doğrudan giriş kapatın
PasswordAuthentication no # Parola girişini kapatın
PubkeyAuthentication yes
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers yonetici deploy
sudo systemctl restart sshd
Kullanıcı ve Yetki Yönetimi
# Yeni sistem yöneticisi oluşturma
sudo useradd -m -s /bin/bash -G sudo yonetici2
# Parola belirleme
sudo passwd yonetici2
# Sudo yetkilerini kısıtlama (örnek: yalnızca servis yönetimi)
sudo visudo -f /etc/sudoers.d/yonetici2
# İçerik: yonetici2 ALL=(ALL) NOPASSWD: /usr/bin/systemctl
Temel Sistem İzleme Komutları
| Komut | Açıklama |
|---|---|
top / htop | CPU ve RAM kullanımını gerçek zamanlı gösterir |
df -h | Disk kullanımı (insan okunabilir) |
du -sh /var/* | Dizin bazlı disk kullanımı |
free -m | Bellek durumu (MB) |
ss -tulpn | Dinlenen portlar ve süreçler |
journalctl -xe | Sistem log'larının son girişleri |
vmstat 1 5 | CPU, bellek, I/O anlık rapor |
Log Yönetimi
# Son 100 satır sistem log
journalctl -n 100
# Belirli bir servisin logları
journalctl -u nginx --since "1 hour ago"
# Logları diske yazma (persistent)
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
Firewall Yapılandırması (UFW / firewalld)
Ubuntu — UFW
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # SSH (değiştirilen port)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose
AlmaLinux — firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Otomatik Güvenlik Güncellemeleri
# Ubuntu — unattended-upgrades
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
# AlmaLinux — dnf-automatic
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer
Fail2Ban ile Kaba Kuvvet Koruması
sudo apt install fail2ban -y # Ubuntu
# /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 3600
findtime = 600
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Disk ve RAID Yönetimi
# Disk listesi
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
# Dosya sistemi oluşturma
sudo mkfs.ext4 /dev/sdb1
# /etc/fstab'a kalıcı bağlama
UUID=$(blkid -s UUID -o value /dev/sdb1)
echo "UUID=$UUID /data ext4 defaults 0 2" | sudo tee -a /etc/fstab
sudo mount -a
Sonuç
Linux sunucu yönetimi; SSH güvenliği, kullanıcı yetkilendirmesi, günlük bakım alışkanlıkları ve izleme araçlarının bir bütünü olarak ele alınmalıdır. Temel adımlar doğru uygulandığında sunucu kararlılığı ve güvenliği önemli ölçüde artar. NRC Sistem olarak Linux tabanlı sunucu kurulumu, sertleştirme ve uzaktan yönetim hizmetleri sunuyoruz; kurumunuzun altyapısını profesyonel biçimde yapılandırmanıza destek oluyoruz.