Sunucu Güvenliği
1. Güvenli Bir Bağlantı Kurun ve Kullanın
Uzak bir sunucuya bağlanırken, iletişim için güvenli bir kanal oluşturmak çok önemlidir.
SSH ( Güvenli Kabuk ) Protokolünü kullanmak, korumalı bir bağlantı kurmanın en iyi yoludur. Daha önce kullanılan Telnet'in aksine, SSH erişimi, değişimde aktarılan tüm verileri şifreler.
SSH Daemon'u kurmanız ve SSH protokolünü kullanarak uzaktan erişim elde etmek için komutları verdiğiniz ve sunucuları yönettiğiniz bir SSH İstemcisine sahip olmanız gerekir.
Varsayılan olarak SSH, 22 numaralı bağlantı noktasını kullanır . Bilgisayar korsanları dahil herkes bunu bilir. Çoğu insan bu görünüşte önemsiz ayrıntıyı yapılandırmaz. Bununla birlikte, bağlantı noktası numarasını değiştirmek, bilgisayar korsanlarının sunucunuza saldırma olasılığını azaltmanın kolay bir yoludur. Bu nedenle, SSH için en iyi uygulama, 1024 ile 32.767 arasındaki bağlantı noktası numaralarını kullanmaktır .
2. SSH Anahtar Kimlik Doğrulamasını Kullanın
Parola yerine, geleneksel oturum açmalara daha iyi bir alternatif olan bir SSH anahtarı çifti kullanarak bir SSH sunucusunun kimliğini doğrulayabilirsiniz . Anahtarlar bir paroladan çok daha fazla bit taşır ve çoğu modern bilgisayar tarafından kolayca kırılmaz. Popüler RSA 2048 bit şifreleme, 617 basamaklı bir parolaya eşdeğerdir.
Anahtar çifti, bir genel anahtar ve bir özel anahtardan oluşur.
Genel anahtarın, biri sunucuda kalan, diğerleri ise kullanıcılarla paylaşılan birkaç kopyası vardır. Genel anahtara sahip olan herkes verileri şifreleme gücüne sahipken, yalnızca ilgili özel anahtara sahip olan kullanıcı bu verileri okuyabilir. Özel anahtar kimseyle paylaşılmaz ve güvende tutulmalıdır. Bir bağlantı kurarken, sunucu, ayrıcalıklı erişime izin vermeden önce kullanıcının özel anahtara sahip olduğuna dair kanıt ister.
3. Güvenli Dosya Aktarım Protokolü
Bilgisayar korsanlarının verileri tehlikeye atma veya çalma tehlikesi olmadan bir sunucuya dosya aktarmak için Güvenli Dosya Aktarım Protokolü'nü (FTPS) kullanmak çok önemlidir . Veri dosyalarını ve kimlik doğrulama bilgilerinizi şifreler.
FTPS hem bir komut kanalı hem de bir veri kanalı kullanır ve kullanıcı her ikisini de şifreleyebilir. Yalnızca aktarım sırasında dosyaları koruduğunu unutmayın. Sunucuya ulaşır ulaşmaz veriler artık şifrelenmez. Bu nedenle, dosyaları göndermeden önce şifrelemek, başka bir güvenlik katmanı ekler.
4. Güvenli Yuva Katmanı Sertifikaları
İnternet üzerinden iki sistem arasında aktarılan bilgileri koruyan Güvenli Yuva Katmanı (SSL) ile web yönetim alanlarınızı ve formlarınızı koruyun . SSL hem sunucu-istemci hem de sunucu-sunucu iletişiminde kullanılabilir.
Program, hassas bilgilerin (adlar, kimlikler, kredi kartı numaraları ve diğer kişisel bilgiler gibi) aktarım sırasında çalınmaması için verileri karıştırır. SSL sertifikasına sahip web sitelerinin URL'sinde güvenli olduklarını belirten HTTPS bulunur.
Sertifika yalnızca verileri şifrelemekle kalmaz, aynı zamanda kullanıcı kimlik doğrulaması için de kullanılır. Bu nedenle sunucularınız için sertifikaları yöneterek kullanıcı yetkisinin oluşturulmasına yardımcı olur. Yöneticiler, sunucuları merkezi otorite ve otoritenin imzaladığı diğer sertifikalarla iletişim kuracak şekilde yapılandırabilir.
5. Özel Ağları ve VPN'leri kullanın
Güvenli iletişimi sağlamanın bir başka yolu, özel ve sanal özel ağları (VPN'ler) ve OpenVPN gibi yazılımları kullanmaktır (CentOS'ta OpenVPN'i kurma ve yapılandırma hakkındaki kılavuzumuza bakın ). Dış dünya tarafından erişilebilen ve bu nedenle kötü niyetli kullanıcıların saldırılarına açık olan açık ağların aksine , özel ve sanal özel ağlar, seçilen kullanıcılara erişimi kısıtlar.
Özel ağlar, aynı aralıktaki sunucular arasında izole iletişim kanalları oluşturmak için özel bir IP kullanır. Bu, aynı hesap altındaki birden çok sunucunun, bir kamusal alana maruz kalmadan bilgi ve veri alışverişi yapmasına olanak tanır.
Uzak bir sunucuya yerel olarak özel bir ağ üzerinden bağlanıyormuş gibi bağlanmak istediğinizde, bir VPN kullanın. Tamamen güvenli ve özel bir bağlantı sağlar ve birden çok uzak sunucuyu kapsayabilir. Sunucuların aynı VPN altında iletişim kurması için güvenlik ve yapılandırma verilerini paylaşmaları gerekir.
Sunucu Kullanıcı Yönetimi
6. Oturum Açma Girişimlerini İzleyin
Oturum açma girişimlerini izlemek için izinsiz girişi önleme yazılımı kullanmak , sunucunuzu kaba kuvvet saldırılarına karşı korumanın bir yoludur . Bu otomatik saldırılar, sisteme erişmek için olası her harf ve sayı kombinasyonunu deneyen bir deneme yanılma yöntemi kullanır.

İzinsiz girişi önleme yazılımı, tüm günlük dosyalarını denetler ve şüpheli oturum açma girişimleri olup olmadığını tespit eder. Deneme sayısı belirlenen normu aşarsa, saldırı önleme yazılımı IP adresini belirli bir süre veya hatta süresiz olarak bloke eder.
7. Kullanıcıları Yönetin
Her sunucunun herhangi bir komutu çalıştırabilen bir kök kullanıcısı vardır. Sahip olduğu güç nedeniyle, kök yanlış ellere düşerse sunucunuz için çok tehlikeli olabilir. SSH'de kök girişini tamamen devre dışı bırakmak yaygın bir uygulamadır.
Kök kullanıcı en fazla güce sahip olduğu için, bilgisayar korsanları dikkatlerini o belirli kullanıcının şifresini kırmaya odaklıyor. Bu kullanıcıyı tamamen devre dışı bırakmaya karar verirseniz, saldırganları önemli bir dezavantaja sokacak ve sunucunuzu olası tehditlerden koruyacaksınız.
Yabancıların kök ayrıcalıklarını kötüye kullanmamasını sağlamak için sınırlı bir kullanıcı hesabı oluşturabilirsiniz. Bu hesap, kök ile aynı yetkiye sahip değildir, ancak yine de sudo komutlarını kullanarak yönetim görevlerini gerçekleştirebilir .
Bu nedenle, görevlerin çoğunu sınırlı kullanıcı hesabı olarak yönetebilir ve kök hesabını yalnızca gerektiğinde kullanabilirsiniz.
Sunucu Parola Güvenliği
8. Parola Gereksinimlerini Belirleyin
İlk şey, sunucudaki tüm üyeler tarafından uyulması gereken şifre gereksinimlerini ve kuralları belirlemektir.
Boş veya varsayılan parolalara izin vermeyin. Minimum şifre uzunluğunu ve karmaşıklığını zorunlu kılın. Kilitleme politikasına sahip olun. Şifreleri tersine çevrilebilir şifreleme kullanarak saklamayın. Etkinlik olmaması için oturum zaman aşımını zorlayın ve iki faktörlü kimlik doğrulamayı etkinleştirin.
9. Parola Sona Erme Politikasını Ayarlayın
Parola için bir son kullanma tarihi belirlemek, kullanıcılar için gereksinimleri belirlerken başka bir rutin uygulamadır. Gereken güvenlik düzeyine bağlı olarak, bir parola birkaç hafta veya birkaç ay sürebilir.
10. Sunucu Parolaları İçin Parolaları Kullanın
Parola yerine parola kullanmanın sunucu güvenliğini yükseltmeye yardımcı olmasının birkaç nedeni vardır. İkisi arasındaki temel fark, bir parolanın daha uzun olması ve kelimeler arasında boşluklar içermesidir. Bu nedenle, genellikle bir cümledir, ancak cümle olması gerekmez.
Örneğin, bir parola parolası şöyle olabilir: Ilove! ToEatPizzaAt1676MainSt.
Verilen örnek, normal bir paroladan daha uzundur ve büyük ve küçük harfler, sayılar ve benzersiz karakterler içerir.
Dahası, bir parolayı hatırlamak rastgele bir harf dizisinden çok daha kolaydır. Son olarak 49 karakterden oluştuğu için kırılması daha zordur.
11. Şifre Yapılmaması Gerekenler
Güvenli bir sunucu sağlamak istiyorsanız, parolalar söz konusu olduğunda kaçınmak isteyeceğiniz birkaç şey vardır. Öncelikle, şifreleri nerede sakladığınız konusunda dikkatli olun. Bunları kağıt parçalarına yazıp ofisin etrafında saklamayın.
Genelde doğum tarihiniz, memleketiniz, evcil hayvan isimleriniz ve sizi, yani kullanıcıyı şifreye bağlayabilecek diğer şeyler gibi kişisel bilgileri kullanmamanız tavsiye edilir. Bunların tahmin edilmesi son derece kolaydır, özellikle sizi şahsen tanıyan kişiler tarafından.
Yalnızca basit sözlük sözcükleri içeren parolaların, özellikle sözlük (kaba kuvvet) saldırılarıyla kırılması da kolaydır. Aynı riski göz önünde bulundurarak, aynı parolada karakter dizilerini tekrar etmekten kaçınmaya çalışın.
Son olarak, birden fazla hesap için aynı parolayı kullanmayın . Parolaları geri dönüştürerek, kendinizi önemli ölçüde riske atarsınız. Bir bilgisayar korsanı tek bir hesaba erişmeyi başarırsa, aynı parolaya sahip diğer tüm hesaplar tehlikede olabilir. Her ayrı hesap için farklı bir şifre kullanmayı deneyin ve KeePass gibi bir şifre yöneticisi kullanarak bunları takip edin.
Bir Sunucuyu Güvenli Hale Getirmek İçin Diğer En İyi Uygulamalar
12. Yazılımı Düzenli Olarak Güncelleyin ve Yükseltin
Bir sunucudaki yazılımı düzenli olarak güncellemek, onu bilgisayar korsanlarından korumak için çok önemli bir adımdır. Eski yazılım, zayıf noktaları için zaten keşfedildi ve bilgisayar korsanlarının bunlardan faydalanması ve sisteminize zarar vermesi için açık bıraktı. Her şeyi güncel tutarsanız, ilk savunma hattında kendini koruyacak şekilde güncellenmesini sağlamış olursunuz.

Otomatik güncellemeler, hiçbir güncellemenin unutulmamasını garanti etmenin bir yoludur. Ancak, sistemin bu tür değişiklikleri kendi başına yapmasına izin vermek riskli olabilir. Üretim ortamınızı güncellemeden önce, güncellemenin bir test ortamında nasıl performans gösterdiğini incelemek iyi bir uygulamadır.
Sunucu kontrol panelini düzenli olarak güncellediğinizden emin olun. Ayrıca, varsa, içerik yönetim sistemlerini ve sahip olabileceği eklentileri düzenli olarak güncellemeniz gerekir. Her yeni sürüm, bilinen güvenlik sorunlarını düzeltmek için güvenlik yamaları içerir.
13. Gereksiz Tüm Hizmetleri Kaldırma veya Kapatma
Saldırı vektörünü azaltarak sunucu güvenliğini artırın.
Bu siber güvenlik terimi, yalnızca hizmetlerinizi çalışır durumda tutmak için gereken minimum gereksinimleri yüklemeyi ve sürdürmeyi ifade eder. Sadece işletim sistemi ve kurulu bileşenler tarafından kullanılan ağ bağlantı noktalarını etkinleştirin. Sistemde ne kadar az varsa o kadar iyidir.
Bir Windows işletim sistemi sunucusu yalnızca gerekli işletim sistemi bileşenlerine sahip olmalıdır. Bir Linux işletim sistemi sunucusu, yalnızca gerçekten gerekli paketlerin kurulu olduğu minimum bir kuruluma sahip olmalıdır.
Çoğu Linux dağıtımı internet üzerinden gelen bağlantıları dinlediğinden, yalnızca belirli bağlantı noktalarına izin verecek ve diğer tüm gereksiz iletişimi engelleyecek bir güvenlik duvarı yapılandırmak istersiniz.
İhtiyaç duymadığınız hiçbir şeyi eklemediğinizden emin olmak için sisteminize yazılım yüklemeden önce bağımlılıkları kontrol edin. Ek olarak, sisteminizde hangi bağımlılıkların otomatik olarak başlatıldığını ve bunların orada olmasını isteyip istemediğinizi inceleyin.
14. Sunucu Bilgilerini Gizle
Altta yatan altyapı hakkında mümkün olduğunca az bilgi sağlamaya çalışın. Sunucu hakkında ne kadar az şey biliniyorsa o kadar iyidir.
Ayrıca, sunucuya yüklediğiniz herhangi bir yazılımın sürüm numaralarını gizlemek iyi bir fikirdir. Genellikle, zayıf yönleri ararken bilgisayar korsanlarına yardımcı olabilecek kesin çıkış tarihini varsayılan olarak gösterirler. Bu bilgiyi, selamlama başlığının HTTP başlığından silerek kaldırmak genellikle kolaydır.
15. Saldırı Tespit Sistemlerini Kullanın
Herhangi bir yetkisiz faaliyetleri tespit etmek için, bir kullanmak saldırı tespit sistemi (IDS) , örneğin Sophos gibiizler süreçler sizin sunucuda çalışan. Günlük işlemleri kontrol etmek, periyodik otomatik taramalar yapmak veya IDS'yi manuel olarak çalıştırmaya karar vermek için ayarlayabilirsiniz.
16. Dosya Denetimi
Dosya denetimi, sisteminizdeki istenmeyen değişiklikleri keşfetmenin başka bir iyi yoludur.
Sisteminizin tüm özelliklerinin kaydını iyi, "sağlıklı" bir durumda tutuyor ve mevcut durumla karşılaştırıyor. Aynı sistemin iki sürümünü yan yana karşılaştırarak, tüm tutarsızlıkları tespit edebilir ve kökenlerini takip edebilirsiniz.
17. Hizmet Denetimi
Hizmet denetimi, sunucuda hangi hizmetlerin çalıştığını, bunların protokollerini ve hangi bağlantı noktalarından iletişim kurduklarını araştırır. Bu özelliklerin farkında olmak, sistemdeki saldırı yüzeylerini yapılandırmaya yardımcı olur.
18. Bir Güvenlik Duvarı Kurun ve Devam Ettirin
Sisteminize erişimi kontrol ederek ve kısıtlayarak sunucunuzun güvenliğini sağlayın.
CSF (ConfigServer ve Firewall) kullanmak, sunucunuzun güvenliğini artırmak için çok önemlidir. Yalnızca belirli hayati bağlantılara izin vererek diğer hizmetlere erişimi engeller.
İlk sunucu kurulumu sırasında veya sunucunun sunduğu hizmetlerde değişiklik yaptığınızda bir güvenlik duvarı kurun. Varsayılan olarak, tipik bir sunucu genel, özel ve dahili hizmetler dahil olmak üzere farklı hizmetleri çalıştırır.
- Kamu hizmetleri genellikle bir web sitesine erişime izin vermesi gereken web sunucuları tarafından çalıştırılır. Bu hizmetlere herkes internet üzerinden genellikle isimsiz olarak erişebilir.
- Örneğin, bir veritabanı kontrol paneli ile uğraşırken özel hizmetler kullanılır. Bu durumda, seçilen birkaç kişinin aynı noktaya erişmesi gerekir. Sunucu içinde özel ayrıcalıklara sahip yetkilendirilmiş hesaplara sahiptirler.
- İç hizmetler , internete veya dış dünyaya asla maruz kalmaması gereken hizmetlerdir . Bunlara yalnızca sunucu içinden erişilebilir ve yalnızca yerel bağlantıları kabul eder.
Güvenlik duvarının rolü, kullanıcının yetkilendirildiği hizmete göre erişime izin vermek, kısıtlamak ve filtrelemektir. Güvenlik duvarını, sunucunuz için zorunlu olanlar dışındaki tüm hizmetleri kısıtlayacak şekilde yapılandırın.
19. Sunucunuzu Yedekleyin
Önceden bahsedilen adımlar sunucu verilerinizi korumak için tasarlanmış olsa da, bir şeyler ters gittiğinde sistemin yedeğini almak çok önemlidir.
Kritik verilerinizin şifrelenmiş yedeklerini iş yeri dışında depolayın veya bir bulut çözümü kullanın.
Yedekleme işlerinizi ister otomatikleştirin ister manuel yapın, bu ihtiyati tedbiri rutin bir şekilde yaptığınızdan emin olun. Ayrıca, kapsamlı yedekleme testleri yaparak yedeklemeleri test etmelisiniz. Bu, yöneticilerin ve hatta son kullanıcıların veri kurtarmanın tutarlı olduğunu doğruladıkları "sağlık kontrollerini" içermelidir.
20. Çok Sunuculu Ortamlar Oluşturun
İzolasyon, sahip olabileceğiniz en iyi sunucu koruma türlerinden biridir.
Tam ayırma, herhangi bir bileşeni diğer sunucularla paylaşmayan özel çıplak metal sunuculara sahip olmayı gerektirir. Bu, yönetmesi en kolay ve en fazla güvenliği sağlasa da, aynı zamanda en pahalıdır.
Bir veri merkezinde izole edilmiş yürütme ortamlarına sahip olmak, Görevlerin Ayrılmasına (SoD) ve sunucunun gerçekleştirdiği işlevlere göre sunucu yapılandırmasının ayarlanmasına izin verir.
Veritabanı sunucularını ve web uygulama sunucularını ayırmak standart bir güvenlik uygulamasıdır. Ayrı yürütme ortamları, herhangi bir güvenlik ihlalini karşılayamayan daha büyük ölçekli işletmeler için özellikle yararlıdır.
Bağımsız veritabanı sunucuları, hassas bilgileri ve sistem dosyalarını, yönetici hesaplarına erişim sağlamayı yöneten bilgisayar korsanlarından korur. Ayrıca izolasyon, sistem yöneticilerinin web uygulaması güvenliğini ayrı ayrı yapılandırmasına ve web uygulaması güvenlik duvarlarını ayarlayarak saldırı yüzeyini en aza indirmesine olanak tanır.
21. Sanal İzole Ortamlar Oluşturun
Tahsis edilmiş sunucu bileşenleri ile tam izolasyona gücünüz yetmiyorsa veya gerekmiyorsa , yürütme ortamlarını izole etmeyi de seçebilirsiniz.
Bunu yapmak, ortaya çıkabilecek güvenlik sorunlarının üstesinden gelmenize yardımcı olarak diğer verilerin tehlikeye atılmamasını sağlar. Kurulumu çok daha kolay olan konteynerler veya VM sanallaştırma arasında seçim yapabilirsiniz .
Bir UNIX işletim sistemindeki sanallaştırılmış ortamlar için başka bir seçenek de chroot hapishaneleri oluşturmaktır. Chroot, bir süreci merkezi işletim sisteminin kök dizininden ayırır ve yalnızca kendi dizin ağacındaki dosyalara erişmesine izin verir. Ancak bu tam bir izolasyon değildir ve yalnızca diğer güvenlik önlemleriyle birlikte uygulanmalıdır.
Sarma: Sunucunuzun Güvenliğini Sağlama
Bu makaleyi okuduktan ve güvenlik önerilerini uyguladıktan sonra, sunucu güvenliğinize daha fazla güvenmelisiniz.
Güvenlik önlemlerinin çoğu, sunucunun ilk kurulumu sırasında uygulanmalıdır, diğerleri ise sürekli veya periyodik bakımın bir parçası olmalıdır. Sunucu izlemeniz otomatik değilse, zamanlanmış güvenlik kontrollerini tasarladığınızdan ve uyguladığınızdan emin olun.
kaynak türkçeye çevrilmiştir:
https://phoenixnap.com/kb/server-security-tips
Yorumlar
Yorum Gönder