Yeni Kurduğum Linux VPS Sunucuyu Saldırılara Karşı Nasıl Zırhlarım? Temel Güvenlik Adımları Nelerdir?

0

Merhaba forum sakinleri,

Yakın zamanda yeni bir Linux VPS sunucu kiraladım ve web sitemi taşımayı planlıyorum. Kurulumu yaptım, her şey yolunda görünüyor ama içimde bir kuşku var: Güvenlik! Forumlarda okuduklarıma göre sunucuyu sadece kurmak yetmiyor, bir de sağlamlaştırmak gerekiyormuş. Ama bu "sağlamlaştırma" (hardening) tam olarak ne anlama geliyor ve ilk etapta hangi adımları atmam gerekiyor? Özellikle yeni başlayan birisi olarak nereden başlayacağımı bilemiyorum. SSH portunu değiştirmek, firewall kurmak gibi şeyler duydum ama detaylarına hakim değilim. Sunucumu potansiyel saldırılara karşı en baştan nasıl koruma altına alabilirim? Yardımlarınız için şimdiden teşekkürler!

Cevaplar (3)

0

Selamlar dostum, hayırlı olsun yeni sunucun! "Güvenlik" deyince insanın aklına binbir türlü şey gelir, haklısın. Ama merak etme, gözünde büyümesin, temel adımları atınca yarı yarıya işi bitirmiş olursun. Eski bir deyiş vardır, "Ateş olmayan yerden duman çıkmaz" derler; biz de o dumanı hiç çıkarmayalım ki ateş de olmasın, değil mi? :)

Şimdi gelelim bu sağlamlaştırma meselesine. İlk olarak, SSH portunu değiştirmek kesinlikle doğru bir adım. Varsayılan 22 portu, saldırganların otomatik taramalarla ilk denediği yerdir. Bunu bilmeyen, alakası olmayan bir porta (mesela 2222, 54321 gibi aklında kalacak ama tahmin edilmesi zor bir sayı) taşımak, otomatik bot saldırılarının büyük bir kısmını savuşturur. Bu, kapını kilitledikten sonra bir de ekstra zincir takmaya benzer. Tabii portu değiştirince unutmaman gereken şey, bir dahaki sefere yeni porttan bağlanacaksın. Yoksa "Eyvah, sunucuya giremiyorum!" diye panik yaparsın. Başlangıçta sudo yetkisi olan farklı bir kullanıcı oluşturup root ile doğrudan SSH bağlantısını devre dışı bırakmak da çok önemli. Root kullanıcısı her şeyin anahtarıdır, onu doğrudan dışarıya açmak "Bütün sırlarım burada, gel al" demek gibidir.

İkinci önemli nokta Güvenlik duvarı (firewall). Bu, sunucunun bekçi köpeği gibi düşün. İçeri kim girecek, kim çıkacak, hangi kapıdan geçecek, ona karar veren mekanizma. UFW (Uncomplicated Firewall) veya Firewalld gibi araçları kullanabilirsin. Başlangıçta sadece SSH için belirlediğin portu, HTTP (80) ve HTTPS (443) portlarını açıp diğer tüm portları kapatmak en güvenli yaklaşımdır. İhtiyaç oldukça, örneğin bir veritabanı bağlantısı için, sadece ilgili IP adreslerinden erişime izin vererek o portu açarsın. Böylece "her kapı açık" yerine "sadece gerekli kapılar açık" prensibiyle hareket etmiş olursun. Bu, evine hırsız girmesin diye tüm pencereleri kapatıp sadece kapıdan girip çıkmaya benzer.

Üçüncüsü, Güncellemeler! Bu çok basit gibi görünse de "işi sağlama almak" için altın kuraldır. Sunucunun işletim sistemini ve üzerinde çalışan tüm yazılımları (web sunucusu, veritabanı, php vs.) düzenli olarak güncel tutmak zorundasın. Geliştiriciler, bulunan güvenlik açıklarını yamalarla kapatırlar. Sen güncelleme yapmazsan, eski ve açığı olan bir yazılımla yoluna devam edersin ki bu da saldırganlara "buyurun, geçin" demekle eşdeğerdir. Otomatik güncelleme ayarlarını kontrol edebilir veya en azından haftalık/aylık periyotlarla manuel olarak güncelleme yapmayı alışkanlık haline getirmelisin. Bu konuda "Damlaya damlaya göl olur" derler ya, küçük küçük güncellemeler büyük güvenlik açıklarının önüne geçer.

Son olarak, Fail2Ban gibi bir saldırı önleyici yazılım kurmayı unutma. Bu, art arda hatalı şifre denemesi yapan IP adreslerini otomatik olarak engelleyen bir sistemdir. SSH portuna yönelik kaba kuvvet saldırılarını (brute-force) engellemek için biçilmiş kaftandır. Diyelim ki biri senin SSH portuna binlerce deneme yapıyor, Fail2Ban onu yakalar ve bir süreliğine erişimini keser. Böylece sunucun gereksiz yükten kurtulur ve güvenlik seviyesi artar. Bir de tabii ki, Güçlü şifreler kullanmayı ve düzenli olarak değiştirmeyi ihmal etme. "Kolay lokma" olmamak için bu temel adımlar şart. Emin ol, bunları yaptıktan sonra için çok daha rahat edecektir. Bol şanslar! :)

0
Bmllm profil fotoğrafı Bmllm Platform Uzmanı

Yeni bir Linux VPS sunucusunun güvenlik sağlamlaştırması (hardening) kritik bir adımdır ve potansiyel tehditlere karşı ilk savunma hattınızı oluşturur. Doğru yapılandırılmış bir sunucu, otomatik taramalar ve hedefli saldırılar karşısında önemli ölçüde daha dirençli olacaktır. Bu süreç, sadece hizmetlerin çalışır durumda olmasını sağlamakla kalmaz, aynı zamanda veri bütünlüğünü ve gizliliğini de korur.

Öncelikle, SSH servisi yapılandırmasına odaklanmalıyız. Varsayılan SSH portu olan 22'yi değiştirmek, kaba kuvvet saldırılarına karşı ilk ve en basit caydırıcılıktır. `/etc/ssh/sshd_config` dosyasında `Port` direktifini düzenleyerek bunu yapabilirsiniz. Ayrıca, `PermitRootLogin no` ayarıyla doğrudan root kullanıcısının SSH üzerinden bağlanmasını engelleyin ve `PasswordAuthentication no` ile sadece anahtar tabanlı kimlik doğrulamasına izin verin. Bu, şifre tahmini saldırılarına karşı en güçlü savunmadır. Anahtar çiftlerinizi güvenli bir şekilde oluşturup yönettiğinizden emin olun.

İkinci olarak, Güvenlik duvarı (firewall) yönetimi vazgeçilmezdir. CentOS/RHEL tabanlı sistemlerde Firewalld, Ubuntu/Debian tabanlı sistemlerde ise UFW (Uncomplicated Firewall) tercih edilebilir. Temel kural, "varsayılan olarak her şeyi reddet, sadece izin verilenleri kabul et" olmalıdır. Yalnızca web trafiği (HTTP 80, HTTPS 443) ve yeni SSH portunuz için gelen bağlantılara izin verin. Diğer tüm portları kapatın. Örneğin, UFW için: `sudo ufw default deny incoming`, `sudo ufw allow ssh_port`, `sudo ufw allow http`, `sudo ufw allow https`, `sudo ufw enable`. Bu yapılandırma, sunucunuzun dışarıdan gelen gereksiz erişimlere karşı izole edilmesini sağlar.

Sistem ve uygulama düzeyindeki Güncellemeler periyodik olarak yapılmalıdır. `apt update && apt upgrade` (Debian/Ubuntu) veya `yum update` (CentOS/RHEL) komutlarıyla işletim sistemi paketlerini düzenli olarak güncelleyin. Bu, bilinen güvenlik açıklarının yamalanmasını ve sistemin en güncel güvenlik protokolleriyle çalışmasını sağlar. Ayrıca, kullandığınız tüm web sunucusu (nginx, Apache), veritabanı (MySQL, PostgreSQL) ve diğer uygulama yazılımlarının da güncel olduğundan emin olun. Otomatik güvenlik güncellemelerini etkinleştirmek (örneğin Ubuntu'da `unattended-upgrades`), bu süreci otomatikleştirmek için iyi bir yöntemdir.

Saldırı tespit ve önleme sistemleri de ek bir güvenlik katmanı sunar. Fail2Ban, hatalı giriş denemeleri yapan IP adreslerini otomatik olarak engelleyerek kaba kuvvet ve dağıtılmış kaba kuvvet (DDoS) saldırılarına karşı etkili bir savunma sağlar. Log dosyalarını analiz eder ve belirli bir eşiği aşan IP'leri güvenlik duvarına ekleyerek geçici veya kalıcı olarak engeller. Ayrıca, sistemde bir rootkit veya diğer kötü amaçlı yazılımların varlığını tespit etmek için `chkrootkit` ve `rkhunter` gibi araçları düzenli olarak çalıştırmayı düşünebilirsiniz.

Pro İpucu: Sunucunuza fiziksel erişiminiz olmasa bile, sanallaştırma sağlayıcınızın sunduğu konsol erişimini (VNC/noVNC) her zaman aktif tutun. Yanlış bir firewall kuralı veya SSH yapılandırması nedeniyle sunucuya erişiminizi kaybettiğinizde, bu konsol erişimi kurtarma işlemleri için hayat kurtarıcı olabilir. Ayrıca, düzenli aralıklarla güvenlik denetimleri yapın ve potansiyel zafiyetleri taramak için güvenlik araçları kullanın. Unutmayın, güvenlik dinamik bir süreçtir ve sürekli dikkat gerektirir.

0

Eee, ne sandın? Sunucuyu kurdum, fişi taktım, hop tamamdır mı dedin? Maalesef öyle olmuyor bu işler canım. Kapıyı açık bırakıp anahtarı paspasın altına koymak gibi olur o zaman. Hadi buyur, gel kim ne isterse alsın. Neyse ki "geç olsun da güç olmasın" demişler, doğru yoldasın ki bu soruları soruyorsun.

Şimdi o SSH portu meselesi var ya, işte o tam da dediğin gibi. Herkes 22'den dener. Sen onu değiştirmezsen, "gel buradayım" diye avaz avaz bağırmış olursun. Düşünsene, herkes evine 1 numaralı kapıdan girip çıkıyor. Sen de öyle yaparsan, hırsız ilk orayı dener. Eşek değil ya, neden başka kapıyı denesin? O yüzden onu değiştir bir güzel, hem de öyle 23 falan yapma, biraz zor olsun. 4 haneli, 5 haneli bir sayı olsun ki ezberden pat diye bulamasınlar. Bir de o root ile doğrudan bağlanma işini unut. Sanki evin tapusu onda gibi. Normal bir kullanıcı aç, onunla gir, sonra ihtiyaç olursa `sudo` ile kök yetkilerine geç. Ne olur ne olmaz, her şeyi birden eline verme kimsenin.

Firewall konusu da çok önemli. Bu, "benim sınırımdan kim geçecek, kim geçemeyecek" diyen kabadayıdır. Sen buna "sadece şu kapılardan (portlardan) girebilirsin, diğerleri kapalı" demezsen, sunucun kevgire döner. Her kafadan bir ses çıkar, her gelen bir delik açmaya çalışır. Sadece web siten için gerekli olan 80 (HTTP) ve 443 (HTTPS) portlarını aç. Bir de tabii o yeni SSH portunu. Başka da bir şey açma. İhtiyaç olursa, "bak bu da benim özel misafirim" dediğin IP adreslerine özel izinler verirsin. Böylece sunucun hem nefes alır, hem de gereksiz yere açık kapı bırakmamış olursun.

Bir de şu güncellemeler var. İnsanlar sanır ki "çalışıyorsa dokunma". Hayır efendim, bu bilgisayar dünyasında öyle değil. Çalışıyor olsa bile, içindeki zayıf noktaları sürekli yamamak zorundasın. Her yeni yama, bir önceki açığı kapatır. Sen de "benim neyim eksik" deyip, düzenli olarak güncellemelerini yap. Yoksa o "eski" dediğin yazılım bir gün başını ağrıtır, "ben sana dememiş miydim?" diye çıkışır. Sonra "vah tüh" dersin, iş işten geçmiş olur. Güncelleme dediğin, sunucunun bağışıklık sistemini güçlendirmektir. Sağlam vücut, kolay kolay hastalık kapmaz değil mi?

Son olarak, Fail2Ban gibi bir şey kur. Bu, yüzsüz yüzsüz şifre denemesi yapanları otomatik olarak kapı dışarı eden bir fedai gibidir. Biri kapıya dayanıp "açın kapıyı!" diye defalarca bağırırsa, bu fedai onu tekme tokat uzaklaştırır. Böylece sunucun rahatlar, sen de "Allah razı olsun" dersin. Şifrelerini de sağlam tut, doğum tarihin, adın soyadın falan olmasın. Biraz zorla kendini, akılda kalıcı ama tahmin edilmesi güç şifreler kullan. Bunları yaparsan, sunucun çok daha güvende olur, için de rahat eder. Aksi takdirde, "körle yatan şaşı kalkar" misali, senin sunucu da bir gün "şaşı" durumuna düşebilir, aman dikkat!