SSH Bastion (Jump Host) Kurulumu ve Güvenliği Rehberi

SSH Bastion (Jump Host) Kurulumu ve Güvenliği Rehberi - Corelux
Paylaş:

SSH Bastion (Jump Host) Kurulumu ve Güvenliği Rehberi

Son Güncelleme: Mart 2026

SSH bastion (atlama sunucusu) mimarisi, uzak sunuculara güvenli erişim sağlamak için kullanılan merkezi bir erişim noktasıtır. Bu rehberde, bir bastion host nasıl kurulur, güvenlik (gfcvenlik duvar, MFA) en iyi uygulamaları nelerdir ve VPS/VDS (sanal sunucu) ortamlarında pratik kullanım senaryoları nasıl uygulanır anlatılacaktır.

İçindekiler

Neden Bastion (Atlama Sunucusu)?

Bastion host (atlama sunucusu), iç ağdaki kritik sunuculara doğrudan SSH (Gvenli Kabuk) yapacak herkesi tek bir noktada toplar. Bu yaklaşımın başlıca avantajları şunlardır:

  • Merkezi Erişim Yönetimi: Tüm bağlanma denemeleri tek bir sunucuda toplanır, kimlik doğrulama ve erişim politikaları kolayca uygulanır.
  • Gelişmiş İzleme: Tek bir çıktı noktası üzerinden loglama (denetim) yapılması, olağandışı etkinliklerin tespitini kolaylaştırır.
  • Saldırı Yüzeyinin Azaltılması: İç sunucuların doğrudan internete açılmaması saldırı riskini azaltır.

Bastion Mimarisi ve Bileşenleri

Tipik bir bastion kurulumu aşağıdaki bileşenlerden oluşur:

  • Bastion Host (Atlama Sunucusu): İnternet tarafında, dış erişimleri kabul eden güvenli sunucu.
  • İç Sunucular: Veritabanı, uygulama sunucuları gibi doğrudan internete açık olmayan sistemler.
  • Gvenlik Duvarı (Firewall): Bastion'a izin veren IP/port kuralları.
  • Kimlik Yönetimi: SSH anahtarları, LDAP/AD veya merkezi IAM (kimlik ve erişim yönetimi) sistemleri.
  • İzleme ve Loglama: Syslog, ELK/EFK veya merkezi SIEM çözümleri.

Kurulum Adımları

Bu bölümde bir Linux (örn. Ubuntu) tabanlı bastion kurulumu adım adım gösterilecektir. Teknik terimler parantez içinde Türkçe karşılıklarıyla verilecektir.

1. Sunucu Seçimi

  • Kaynak: Düşük/orta CPU, 1-2 vCPU ve 2-4 GB RAM genellikle yeterlidir. Yük altında artırım planlayın.
  • Tip: İhtiyaca göre Türkiye VPS Sunucu veya Kiralık Sunucu tercih edin.

2. Temel İşletim Sistemi ve Güvenlik

  • Güncelleme: Sistemi güncelleyin.
    sudo apt update && sudo apt upgrade -y
  • Kullanıcı: Root yerine ayrı bir yönetici kullanıcı oluşturun.
    sudo adduser bastionadmin
    sudo usermod -aG sudo bastionadmin
  • SSH Anahtarları (Public/Private): Şifre yerine ssh anahtar doğrulamasını zorunlu kılın.

3. SSH Konfigürasyonu (Temel Güçlendirme)

Aşağıdaki ayarlar /etc/ssh/sshd_config dosyasına uygulanmalıdır:

# Örnek kritik ayarlar
Port 2222
PermitRootLogin no
PasswordAuthentication no
AllowUsers bastionadmin
ChallengeResponseAuthentication no
UsePAM yes

Yapılandırma sonrası SSH servisini yeniden başlatın:

sudo systemctl restart sshd

4. Çok Faktörlü Kimlik Doğrulama (MFA)

  • Yöntem: PAM tabanlı Google Authenticator veya FIDO2 tabanlı donanım anahtarları (ör. YubiKey).
  • Kurulum örneği:
    sudo apt install libpam-google-authenticator
    google-authenticator

5. Güvenlik Duvarı (Firewall) Konfigürasyonu

  • UFW (Uncomplicated Firewall):
    sudo ufw allow 2222/tcp
    sudo ufw allow from 203.0.113.45 to any port 2222
    sudo ufw enable
  • Ek kural: Bastion sadece belirli IP aralıklarından erişime izin verecek şekilde kısıtlanmalıdır.

6. İleri Seviye: Jump Host İçin Zorunlu ProxyJump veya ProxyCommand Kullanımı

Kullanıcıların doğrudan iç sunuculara bağlanmasını engellemek için SSH istemci tarafında ProxyJump veya ProxyCommand kullanılır. Örnek ~/.ssh/config:

Host bastion
  HostName bastion.example.com
  User bastionadmin
  Port 2222

Host internal-*
  ProxyJump bastion
  User ubuntu

Güvenlik Önlemleri ve Sertifikasyon

Bir bastion ortamında uygulanması gereken güvenlik tedbirleri:

  • SSH Anahtar Yönetimi: Anahtarlar düzenli olarak rotasyon (değiştirme) uygulanmalı ve authorized_keys dosyası merkezi olarak yönetilmelidir.
  • Least Privilege: Kullanıcıların yalnızca ihtiyaç duyduğu sunuculara erişimi olmalı.
  • Hesap Denetimi: Ortak hesap kullanımından kaçınılmalı, hesaplar bireysel olmalıdır.
  • Loglama ve Merkezi İzleme: Tüm SSH oturumları merkezde tutulmalı; ters bağlantılar ve komut geçmişleri incelenmelidir.

SSH Oturum Kaydı (Session Recording)

Bazı organizasyonlar için oturum kaydı (komut bazlı audit) gereklidir. script veya daha gelişmiş session recording araçları kullanılabilir. Basit örnek:

sudo apt install acct
# process accounting'i aktif et
sudo systemctl enable --now acct

Sertifika Tabanlı SSH (SSH Certificates)

Uzun vadede SSH anahtarlarını sertifikalandırmak (certificate-based authentication) yönetimi kolaylaştırır. OpenSSH'nin ssh-keygen -s komutuyla imzalama yapılabilir.

SSH Konfigürasyon Örnekleri

Aşağıda sık kullanılan senaryolar için örnekler verilmiştir.

1. SSH ProxyJump (Client tarafı)

# ~/.ssh/config
Host bastion
  HostName bastion.corelux.example
  User bastionadmin
  Port 2222

Host db01
  HostName 10.0.10.11
  ProxyJump bastion
  User dbadmin

2. SSH Reverse Tunnel (Geçici Erişim Gereksinimi)

# Sunucu tarafından bastion'a ters tunnel açmak
ssh -R 2223:localhost:22 bastionadmin@bastion.example.com -p 2222

3. ForceCommand ile Oturum Kısıtlama

Belirli kullanıcıların bastion üzerinde yalnızca belirli komutları çalıştırmasını sağlamak için sshd_config içinde Match User ve ForceCommand kullanılabilir.

Match User auditor
  ForceCommand /usr/local/bin/audit-shell-wrapper

İzleme (Audit) ve Loglama

Logların toplanması, analiz edilmesi ve uzun süre saklanması güvenlik açısından kritik öneme sahiptir.

  • Syslog/rsyslog: SSH loglarını merkezi syslog sunucusuna gönderin.
  • EFK/ELK: Log arşivleme ve arama için Elasticsearch + Fluentd/Logstash + Kibana çözümleri kullanılabilir.
  • SIEM: Güvenlik olaylarını korelasyon (ilişkilendirme) için SIEM sistemleri önerilir.

Pratik Kullanım Senaryoları

Aşağıda gerçek hayattan adapte edilebilecek senaryolar bulunmaktadır.

  • Küçük SaaS Şirketi: 5 geliştirici, üretim veritabanına erişim sadece bastion üzerinden, MFA zorunlu.
  • Kurumsal Çözüm: LDAP/AD ile entegre kimlik doğrulama, oturum kaydı ve SIEM entegrasyonu.
  • Geçici Destek: Üçüncü parti destek ekibine süreli erişim için ters tunnel ve zaman sınırlı anahtarlar kullanma.

Karşılaştırma: Bastion vs VPN vs Direct SSH

Özellik Bastion (Atlama Sunucusu) VPN (Sanal Özel Ağ) Direct SSH
Güvenlik Yüksek (merkezi kontrol, MFA) Yüksek (ağ katmanında gizleme) Düşük (her sunucu internete açık ise risk artar)
Kurulum ve Yönetim Orta (tek nokta yönetimi) Yüksek (VPN sunucu ve istemci yapılandırması) Kolay (ancak ölçeklenebilirliği zayıf)
İzleme Kolay (tüm erişimler tek yerde) Orta (VPN bağlantıları ayrı izlenir) Zor (dağıtık loglar)
Uygunluk Küçük ve orta ölçek için ideal Büyük kurumsal ağlar için tercih edilebilir Hızlı erişim gereken küçük yapılar

Sıkça Sorulan Sorular

Bastion host mutlaka ayrı bir sunucu mu olmalıdır?

Bastion genellikle ayrı bir sunucu olmalıdır; böylece gvenlik (sınırlandırma ve izleme) politikaları izole edilebilir. Küçük yapılarda sanal bir VPS üzerinde de çalıştırılabilir ancak en iyi uygulama ayrı fiziksel/kiralık sunucu veya izole VPS kullanmaktır.

SSH anahtarı yerine parola kullanabilir miyiz?

Güvenlik açısından ssh anahtar doğrulaması (public/private key) kullanılması şiddetle önerilir. Eğer parola kullanılacaksa MFA (çok faktörlü kimlik doğrulama) ile desteklenmelidir.

Bastion üzerinde oturum kaydı (session recording) yasal mı?

Genel olarak oturum kaydı mümkündür ancak kayıt ve saklama politikaları için yerel mevzuat (ör. KVKK) ve şirket içi düzenlemelere uymanız gerekir. Kayıt öncesi kullanıcıların bilgilendirilmesi tavsiye edilir.

Corelux hizmetleriyle bastion kurulumunu yapıyor musunuz?

Evet. İhtiyacınıza göre Türkiye VPS Sunucu veya Kiralık Sunucu seçenekleri ile başlangıç yapabilir; ayrıca SSL/sertifika yönetimi ve yedekleme entegrasyonları için Corelux hizmetlerinden faydalanabilirsiniz.

Bastion ile uyumlu hangi izleme araçlarını önerirsiniz?

ELK/EFK (Elasticsearch, Logstash/Fluentd, Kibana) veya merkezi SIEM çözümleri ile birlikte auditd, rsyslog ve agent tabanlı izleme (Prometheus node_exporter gibi) kombinasyonları tavsiye edilir.

Bastion için önerilen yedekleme stratejisi nedir?

Bastion konfigürasyonları düzenli olarak versiyon kontrolü (ör. Git) ile saklanmalı ve sistem imajı (snapshot) bazlı yedekleme kullanılmalıdır. Corelux'un yedekleme hizmetleri bu noktada yardımcı olabilir.

Sonuç

Bu rehberde bir SSH bastion (atlama sunucusu) kurulumunun temelleri, gvenlik önlemleri, konfigürasyon örnekleri ve pratik kullanım senaryoları ele alındı. Bastion mimarisi, erişim yönetimini merkezileştirerek hem güvenliği artırır hem de izlemeyi kolaylaştırır. Kurulum ve yönetim ihtiyaçlarınıza göre Corelux Sanal Sunucu ve Kiralık Sunucu çözümlerimizi inceleyebilir, profesyonel destek almak için Corelux ile iletişime geçebilirsiniz.

Yazar

Boran BAR

Chat on WhatsApp