Sunucu yönetiminde Plesk gibi bir panele sahip olmak büyük bir lüks; kabul edelim. Web sitelerini açmak, veritabanlarını yönetmek, SSL sertifikalarını tek tıkla yenilemek işlerimizi inanılmaz hızlandırıyor. Ancak sahada öyle manzaralarla karşılaşıyoruz ki şaşırmamak elde değil. Genellikle şu yanılgıya düşülüyor: “Plesk zaten her şeyi yönetiyor, arkama yaslanabilirim.” Ne yazık ki durum böyle değil.

Plesk harika bir arayüz sunsa da, sunucunuzun kalbi hala Linux çekirdeğinde ve o meşhur 22 numaralı portta atıyor. Eğer SSH tarafında gereken önlemleri almazsanız, panel üzerinden kurduğunuz o gösterişli güvenlik duvarı sadece bir vitrinden ibaret kalır. Gelin, yüzlerce sunucu krizinden çıkardığımız derslerle, Plesk sunucularda SSH güvenliğini nasıl gerçek anlamda sıkılaştırabileceğimize birlikte bakalım.

Standart Portu Terk Edin: Gürültüyü Azaltmanın İlk Adımı

Bir sunucuyu yayına aldığınız ilk dakikadan itibaren /var/log/auth.log veya /var/log/secure dosyasını açıp izleyin. Saniyede onlarca, bazen yüzlerce “root” denemesi göreceksiniz. Dünyanın dört bir yanındaki botlar, 22 numaralı portu sürekli tarar. Bu saldırıların çoğu amatörcedir ama sunucu kaynaklarınızı ve log dosyalarınızı gereksiz yere şişirir.

SSH portunu örneğin 2244 gibi standart dışı beş basamaklı olmayan ya da yüksek değerli bir porta taşımak, bu kör saldırıların %95’ini anında keser. Bu tek başına mutlak bir güvenlik sağlamaz ama ortamdaki gürültüyü susturur. Portu değiştirdikten sonra Plesk Güvenlik Duvarı (Firewall) üzerinden yeni porta izin vermeyi ve eski portu kapatmayı unutmamak en kritik detaydır; aksi takdirde kendi sunucunuzun dışında kalabilirsiniz.

Root Girişine Kesin Bir Kilit Vurun

En sık yapılan hata nedir biliyor musunuz? Güçlü bir root şifresi koyup kendini güvende hissetmek. Saldırgan kullanıcı adını zaten biliyor: root. Geriye sadece şifreyi tahmin etmek kalıyor. Neden onlara bu avantajı veresiniz ki?

Yapılacak en doğru hamle, sudo yetkilerine sahip alternatif bir sistem kullanıcısı oluşturmak ve doğrudan root erişimini tamamen yasaklamaktır. /etc/ssh/sshd_config dosyasında PermitRootLogin no satırını aktif ettiğiniz an, sunucunuza sızmak isteyen birinin artık hem tahmin etmesi gereken özel bir kullanıcı adına hem de onun şifresine ihtiyacı olur. Bu, saldırı yüzeyini bir anda yarı yarıya düşürür.

Şifreleri Unutun, SSH Anahtarlarına Geçin

Parolalar zayıftır; unutulur, sızdırılır, kaba kuvvet (brute-force) saldırılarıyla kırılabilir. Oysa 4096-bit RSA veya modern Ed25519 anahtarlarını kırmak günümüz teknolojisiyle pratikte imkansızdır. SSH yapılandırmasında parola ile kimlik doğrulamasını (PasswordAuthentication no) devre dışı bırakıp sadece SSH Key kullanımını zorunlu hale getirdiğinizde, sunucunuz bir anda tank zırhına bürünür.

Plesk, abonelik kullanıcıları için SSH anahtarlarını panel üzerinden yüklemeye izin verir. Ancak ana sunucu yöneticisi için bu işlemi doğrudan terminal üzerinden ~/.ssh/authorized_keys dosyasına işlemek ve anahtarın özel (private) kısmını sadece güvenli cihazlarınızda saklamak en profesyonel yaklaşımdır.

Plesk Abonelerinin Kabuk Yetkilerini Sınırlandırın

Sunucunuzda birden fazla web sitesi veya müşteri barındırıyorsanız, her müşterinin sistemdeki hareket alanını bilmeniz gerekir. Çoğu zaman bir WordPress sitesine eklenti yüklemek isteyen bir geliştiriciye tam yetkili /bin/bash erişimi verilir. Bu, sunucunun tüm dosya hiyerarşisini diğer kullanıcıların gözü önüne sermek demektir.

Plesk bu konuda harika bir araç sunar: Chrooted Shell (Hapsedilmiş Kabuk). Bir kullanıcıya SSH erişimi tanımlarken kabuk türünü “chrooted” olarak ayarlarsanız, o kullanıcı sadece kendi web dizinini görür. Sistem ikili dosyalarına, diğer sitelerin yapılandırmalarına veya ana sistem ayarlarına kesinlikle ulaşamaz. Geliştirici işini görür, sizin de geceleri uykunuz kaçmaz.

Fail2ban’i Plesk Üzerinde Agresifleştirin

Plesk içinde Fail2ban varsayılan olarak gelir ama genellikle ayarları oldukça “hoşgörülüdür”. 5 hatalı denemede 10 dakika banlamak, organize bir botnet için hiçbir şey ifade etmez. Sahada gördüğümüz en iyi pratik, bu kuralları biraz daha sertleştirmektir.

  • Maxretry: Başarısız deneme limitini 3’e düşürün.
  • Findtime: Bu denemelerin aranacağı zaman aralığını en az 1 saate çıkarın.
  • Bantime: Yakalanan IP adresini 10 dakika yerine en az 24 saat, hatta tekrarlayan ihlallerde 1 hafta engelleyin.
  • SSH Jail: Plesk arayüzünden ‘ssh’ veya ‘sshd’ jail’inin kesinlikle aktif (enabled) olduğundan emin olun.

IP Beyaz Listesi: Kapıyı Sadece Tanıdıklara Açmak

Eğer sabit bir IP adresine sahip bir ofisten ya da evden çalışıyorsanız veya şirketinizin bir VPN sunucusu varsa, SSH portunu tüm dünyaya açık tutmanın hiçbir mantığı yoktur. Plesk Güvenlik Duvarı modülünü açın, SSH servis kuralını düzenleyin ve yalnızca kendi IP bloklarınıza izin verip geri kalan tüm trafiği “Drop” edin.

Bunu yaptığınız andan itibaren, sunucunuz port taramalarında tamamen “kapalı” görünecektir. Hedef bile olamazsınız. Sabit IP imkanınız yoksa bile, portu tamamen açmak yerine en azından güvenilir bir atlama sunucusu (Bastion Host) üzerinden trafiği yönlendirmeyi düşünmelisiniz.

İki Aşamalı Doğrulama (2FA) ile Son Darbeyi Vurun

Plesk paneline 2FA kurmayı birçoğumuz akıl ediyoruz ama SSH için bu adımı genelde atlıyoruz. Google Authenticator modülünü (libpam-google-authenticator) SSH servisine entegre etmek düşündüğünüzden çok daha kolaydır. Bu sayede, SSH anahtarınız çalınsa veya ele geçirilse bile, telefonunuza gelen 6 haneli kod olmadan terminal oturumu açılamaz.

Sistem güvenliği tek bir aşılmaz duvardan değil, birbiri ardına dizilmiş mantıklı engellerden oluşur. Bu 7 adımı sırasıyla uyguladığınızda, sunucunuz otomatik bot saldırılarının hedefi olmaktan çıkıp profesyonel seviyede korunmuş bir kaleye dönüşecektir. Unutmayın, güvenlik bir kerelik bir ayar değil, sürekli takip edilmesi gereken bir alışkanlıktır; siz en son ne zaman sunucu loglarınıza göz attınız?

Visited 7 times, 1 visit(s) today

Leave A Comment