
Ubuntu Sunucunuz İçin İlk Yapılması Gerekenler: Güvenlik, Performans ve Kullanıcı Yönetimi

Yeni bir Ubuntu sunucusu kurduğunuzda, olası saldırılara karşı koruma sağlamak, sistemin düzgün ve hızlı çalışmasını garanti altına almak ve kullanıcı yönetimini doğru şekilde yapılandırmak oldukça önemlidir. Bu rehberde, Ubuntu sunucunuzu ilk yapılandırırken uygulamanız gereken kritik adımları öğreneceksiniz.
İçindekiler
- 1. Güncellemeler ve Paket Yönetimi
- 2. Varsayılan Şifrelerin Değiştirilmesi
- 3. Yeni Kullanıcı Eklemek ve Yetki Vermek
- 4. SSH Yapılandırması ve Anahtar Bazlı Kimlik Doğrulama
- 5. Güvenlik Duvarı (UFW), Fail2Ban ve Temel Güvenlik Önlemleri
- 6. Performans İpuçları
- Sonuç
1. Güncellemeler ve Paket Yönetimi
Bir sunucu kurduğunuzda ilk yapmanız gereken işlem, sistem paketlerini güncel tutmaktır. Bu, hem güvenlik açıklarını kapatmak hem de yeni özelliklerden yararlanmak için kritik önem taşır.
# Paket listelerini güncelleyin ve mevcut paketleri yükseltin
sudo apt update
sudo apt upgrade -y
# İsteğe bağlı: Dağıtım sürümünü ileri seviyede güncellemek (dist-upgrade)
sudo apt dist-upgrade -y
# Sistemi yeniden başlatın (gerekli güncellemeler için)
sudo reboot
2. Varsayılan Şifrelerin Değiştirilmesi
Güvenliğiniz için, özellikle barındırma firmasından veya bir hazır imajdan aldığınız sunucularda varsayılan veya geçici şifreler kullanılıyorsa bunları hemen değiştirin.
# Varsayılan 'root' şifresini değiştirmek
sudo passwd root
# Mevcut kullanıcı şifresini değiştirmek
passwd
Güçlü bir şifre; büyük/küçük harf, rakam ve özel karakter kombinasyonu içermelidir.
3. Yeni Kullanıcı Eklemek ve Yetki Vermek
Günlük işlemler için root hesabıyla giriş yapmak yerine, ayrı bir kullanıcı oluşturup sudo yetkisi vermek daha güvenlidir.
# Yeni bir kullanıcı ekleyin (örnek: 'ornekuser')
sudo adduser ornekuser
# Kullanıcıya sudo yetkisi tanımlama
sudo usermod -aG sudo ornekuser
Ardından ornekuser
ile giriş yaparak kritik işlemleri sudo
komutu ile gerçekleştirebilirsiniz.
4. SSH Yapılandırması ve Anahtar Bazlı Kimlik Doğrulama
Sunucuya SSH ile bağlanırken parola yerine SSH anahtarları (public/private key) kullanmak, saldırı riskini önemli ölçüde azaltır.
SSH Anahtarı Oluşturma (İstemci Tarafında)
ssh-keygen -t rsa -b 4096
# veya
ssh-keygen -t ed25519
Bu komut, istemci makinenizde ~/.ssh/id_rsa
(veya id_ed25519
) adıyla bir anahtar çifti oluşturur.
Sunucuya Anahtarın Eklenmesi
# Anahtarın kopyalanması
ssh-copy-id ornekuser@sunucu-ip-adresi
# Alternatif olarak elle ekleme
cat ~/.ssh/id_rsa.pub | ssh ornekuser@sunucu-ip-adresi "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
SSH Yapılandırma Dosyası (/etc/ssh/sshd_config)
Gerekirse SSH yapılandırma dosyasını düzenleyerek şifreli girişleri devre dışı bırakın:
sudo nano /etc/ssh/sshd_config
# Aşağıdaki satırları kontrol edin veya ekleyin:
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
# Değişikliklerden sonra SSH servisini yeniden başlatın
sudo systemctl restart ssh
Dikkat: Parola tabanlı girişleri kapatmadan önce anahtar bazlı girişin sorunsuz çalıştığını mutlaka test edin!
5. Güvenlik Duvarı (UFW), Fail2Ban ve Temel Güvenlik Önlemleri
UFW (Uncomplicated Firewall) Kullanımı
# UFW'yi kurun (Ubuntu'da genelde varsayılan olarak yüklü gelebilir)
sudo apt install ufw -y
# SSH bağlantısını korumak için ilk önce SSH portuna izin verin
sudo ufw allow OpenSSH
# İhtiyaç duyduğunuz diğer servis portlarını da açın (ör. HTTP, HTTPS)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Güvenlik duvarını etkinleştirin
sudo ufw enable
# Durumu kontrol etmek için
sudo ufw status
Fail2Ban ile Brute Force Saldırılarını Engelleme
# Fail2Ban kurulumu
sudo apt install fail2ban -y
# Varsayılan yapılandırmayı kopyalayın
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# jail.local dosyasında bantime, findtime gibi ayarları yaparak
# SSH ve diğer servisler için brute force saldırılarını engelleyebilirsiniz.
Ek Güvenlik Önerileri
- Root Girişi Engelleme:
PermitRootLogin no
ile root hesabına doğrudan SSH girişini kapatmak - Düzenli Yedekleme: Önemli verilerinizi düzenli olarak yedekleyin ve yedeklerinizi farklı bir sunucuda veya bulutta saklayın.
- Sistem Günlüğü İnceleme: /var/log altındaki log dosyalarını (özellikle auth.log) düzenli inceleyerek şüpheli etkinlikleri tespit edin.
6. Performans İpuçları
- Swap Yönetimi: Yoğun bellek kullanımının olduğu durumlarda, yeterli swap alanı oluşturmak sistemin çökmesini engeller.
- Hizmetleri Kontrol Edin:
systemctl list-unit-files --type=service
komutuyla gereksiz servisleri kapatıp açabilirsiniz. - Cache Temizleme: Uzun süre çalışan sunucularda
sudo apt autoclean
,sudo apt autoremove
gibi komutlarla gereksiz paketleri silebilirsiniz. - Yük İzleme:
top
,htop
,iotop
gibi araçlarla CPU, bellek ve disk IO kullanımını takip edin.
Sonuç
Ubuntu sunucunuzu ilk kurduğunuzda temel güvenlik ve performans önlemlerini almak, ileride karşılaşabileceğiniz sorunları büyük ölçüde azaltır. Kullanıcı yönetimi, SSH yapılandırması, güvenlik duvarı ve otomatik saldırı engelleme araçları (Fail2Ban gibi) sayesinde sisteminizi koruma altına alırken; kaynak yönetimi ve performans ipuçları ile sunucunuzun verimli çalışmasını sağlayabilirsiniz.
Eğer takıldığınız noktalar varsa veya paylaşmak istediğiniz ek ipuçları bulunuyorsa, lütfen yorumlarda belirtmekten çekinmeyin. Güvenli ve sorunsuz bir Ubuntu deneyimi dileriz!
Benzer diğer yazılarımız:
Bir yanıt yazın