Linux ile bir VPS sunucusunu koruma kılavuzu

İçindekiler

A VPS sunucusu (Sanal Özel Sunucu), Bir sanal makine aracılığıyla bir sabit diskin mantıksal bir bölümüdür, bir vps, paylaşılan sunucu hizmetine kıyasla kaynakların yönetimi üzerinde bize daha fazla kontrol sağlar.

Bir VPS, bir sunucuyu profesyonel olarak kullanmak isteyenler için ancak özel bir sunucudan daha düşük maliyetle ve ayrıca sunucuların yönetiminde test başlatmak ve yapmak isteyenler için idealdir, ancak teknik yönlerinden emin olmayanlar, VPS. sunucu, başlamak için iyi bir seçenektir. Çok fazla para harcamadan ve bir üretim sunucusunu riske atmadan araçları ve becerileri test etmek için kullanılabilir.

Öğreticide görüldüğü gibi bir VPS oluşturabiliriz:

  • Yerel bir VPS Sunucusu oluşturun

Veya bazı ödemeleri kullanın, yapılandırmaları gerçek bir ortamda test etmek için DigitalOcean gibi aylık veya günlük VPS sunucusu sunan birçok şirket var.

Bir sunucuyu yönetmemiz gerektiğinde en önemli şey, hangi güvenlik önlemlerini alacağımıza karar vermektir. Birçok güvenlik önlemi ve aracı olmasına rağmen, kaynakları tükettikleri ve bazı uygulamaların iyi çalışmasına izin vermeyebilecekleri için ters tepebilirler, bu nedenle risklerin farkında olmalıyız, kolaylık ve kolaylık arasındaki dengeye karar verebilmemiz gerekiyor. sunucu performansı ve güvenliği.

Bu eğitimde, güvenli bir VPS için bir dizi önerilen yapılandırma sağlayacağım.

ile erişim engelleme güvenlik duvarları
Güvenlik duvarları, genel İnternet trafiği ile sunucu arasında bir engel görevi görür. İç ve dış trafiği gözden geçirmek, filtrelemek ve engellemek önemlidir.

Yönetici tarafından yapılandırılan bir dizi kural aracılığıyla, bir sunucu yetkili hizmetler için yalnızca belirli ağ bağlantı noktalarını kullanır. Bağlantı noktalarının geri kalanı kullanılmamıştır ve bu yerlere giden tüm trafiği engellemek için bir güvenlik duvarının arkasında güvenli bir şekilde korunmalıdır.

Bu eğitimde, güvenlik önlemlerini benimsemek için bir Linux VPS sunucusunu yönettiğimizi varsayacağız. Temel güvenlik duvarı kuralları oluşturmak için önce hangi portları açtığımızı izlemeliyiz, bunun için şu komutu kullanıyoruz:

 ifconfig
IP'yi belirliyoruz:
 nmap -sT -O 192.168.0.11

Bu, hangi bağlantı noktalarının dinlediğini bilmenizi ve bazı durumlarda hizmetlerin kullanımını koşullandırmanızı sağlar. Güvenlik duvarımızın kurallarını iyi yapılandırmak, sunucunun ve ağın güvenliği için iyi bir temeldir.

Kullanılabilir birçok güvenlik duvarı vardır, bazıları şunlardır:

  • IPCop Güvenlik Duvarı
  • ConfigServer Güvenlik ve Güvenlik Duvarı

En çok kullanılan güvenlik duvarı, zaten Linux ile birlikte gelen Iptables'dir., ancak grafik arayüzü yok, terminal penceresinden (SSH ile bağlı) aşağıdaki komutları kullanabiliriz:

Belirli bir gelen IP'yi engelle:

 sudo iptables -A GİRİŞ -s 190.160.45.60 -j DROP
Ethernet ağ arabirimi veya kablolu ağ ile gelen bir IP'yi ve bir bağlantı noktasını engelleyin:
 iptables -A INPUT -i eth0 -s 190.160.45.60 --destination-port 25 -j DROP
Gelen bir IP'yi ancak WiFi ile engelliyorum:
 iptables -A GİRİŞ -i wlan0 -s 190.160.45.60 -j DROP
-s IP parametresini kaldırır ve bağlantı noktasından ayrılırsam, bağlantı noktasını herhangi bir IP için engellerim

Iptables, Linux çekirdeğinde bulunan netfilter güvenlik duvarını yönetmek için kullanılan araçtır.. Iptables'ın avantajı, çalıştığından ve kullanışlı olduğundan emin olmak için çok derin güvenlik denetimlerinden geçmiş olmasıdır.

Bir başka ilginç yön de, iptables kurallarını tanımlamak için bir komut dosyası veya bir arayüz oluşturabilmemizdir, ancak zaten çok sayıda kural kümesiyle çok esnek bir şekilde yapılandırmanıza izin verebilecek mevcut olmasına rağmen.

SSH'yi güvenle kullanın uzaktan yönetim için
Yerel erişimimiz olmayan bir sunucuyu yönetmemiz gerektiğinde, bunu uzaktan yapmalıyız. Bunun için hizmet, sunucunun bir komut yorumlayıcı aracılığıyla tamamen yönetilmesini sağlayan Secure Shell anlamına gelen SSH adlı bir protokol aracılığıyla kullanılır,

SSH, bilgisayar ve sunucu arasında bir trafik tüneli oluşturma ve koruma yeteneği sağlar, böylece tünel şifreli bir bağlantı üzerinden veri aktarırken güvenli bir bağlantı kurulur.

Protokolün kendisi çok güvenli olmasına ve kapsamlı bir şekilde analiz edilmesine ve güvenlik testine tabi tutulmasına rağmen, daha güvenli hale getirmek için aşağıdaki gibi bazı yapılandırma seçenekleri ekleyebiliriz: varsayılan olarak SSH bağlantı noktası 22 numaralı bağlantı noktası olduğundan bağlantı noktasını değiştirin, bunun için SSH üzerinden bağlanıyoruz ve ardından dosyayı düzenliyoruz:

 / etc / ssh / sshd_config
Aşağıdaki komutu kullanarak bağlanıyoruz:
 ssh kullanıcısı @ ip

Sonra dosyayı düzenleriz ve herhangi bir hizmete müdahale etmeyen beğenimize göre portu değiştiririz, örneğin 9200:

 nano / etc / ssh / sshd_config

kaydediyoruz ve SSH'yi yeniden başlatıyoruz böylece linux dağıtımına göre yeni konfigürasyonu benimser:

Fedora, Centos

 sbin / hizmet sshd yeniden başlatma
Debian, Ubuntu
 /etc/init.d/sshd yeniden başlat
Sonra tekrar erişmemiz gerekecek, aşağıdaki gibi yapacağız:
 ssh kullanıcısı @ ip -p 9200
Ardından 22 numaralı bağlantı noktasını bu şekilde engelleriz, bizi tarayamazlar ve kaba kuvvet saldırısı girişiminde bulunamazlar.
 iptables -A ÇIKIŞ -p tcp --dport 22 -j DROP
IPS yükleyin veya izinsiz giriş önleme sistemi
İzinsiz giriş önleme sistemi, kaynakları veya bir sunucuyu saldırılara ve izinsiz girişlere karşı korumak için bir bilgisayar ağındaki erişimi izlemenize ve kontrol etmenize olanak tanıyan bir yazılımdır. İzinsiz giriş önleme teknolojisi, izinsiz giriş tespit sisteminin (IDS) hayati bir tamamlayıcısıdır; bir IPS güvenlik duvarı olarak çalışırken, bir IDS ağda ne tür trafiğin dolaştığını analiz eder, aynı zamanda içeriği ve bu içeriğin ne yaptığını kontrol eder.

Bir örnek Fail2Ban, izinsiz giriş önleme için Python altında geliştirilmiş bir uygulamadır, kaba kuvvet erişimini deneyen uzak bağlantıları analiz ederek ve engelleyerek otomatik olarak hareket eden bir IPS'dir.

Fail2ban yalnızca kendi erişim girişimleri günlüğünü kullanmakla kalmaz, aynı zamanda bir kilidi uygulayabilmek için kuralları belirten iptables gibi diğer yazılımlardan gelen günlükleri de kullanır.

Yönetici tarafından oluşturulan kuralları kullanabilir veya kendi yapılandırmanıza göre yenilerini oluşturabilirsiniz, örneğin 3 kez erişemeyen bir IP'yi engelleyebilirsiniz.

Bir SSH penceresinden veya resmi web sitesinden indirebiliriz, eğer dağıtımımızın depolarında gelirse onu kurarız.

 apt-get install fail2ban
Ardından, aşağıdaki dosyayı düzenleyerek yapılandırıyoruz:
 nano /etc/fail2ban/jail.conf

Burada en önemli parametrelerden bazılarını düzenliyoruz

  • görmezdenip: asla engellenmeyecek olan ip.
  • bantime: IP bloğunun süreceği saniye cinsinden süre.
  • maxretry: Engellenmeden önce maksimum başarısız erişim denemesi sayısı.

Ardından dizinde bulabileceğimiz farklı uygulamalar için filtreler oluşturabiliriz:

 cd /etc/fail2ban/filter.d

Bu izinsiz giriş önleme sistemi, birçok saldırıyı azaltmamıza ve böylece VPS yapılandırmamızın genel güvenliğini artırmamıza izin verecektir.

Fail2ban bir erişimin meşru bir kullanıcı olup olmadığını belirlemek ve ftp, ssh, e-posta gibi bazı hizmetlere erişmek isteyen kullanıcıyla ilişkili IP adresinden gelen trafiği geçici olarak engellememek için günlük dosyalarını izleyen bir hizmettir. ağ, vb.

Bu, kaba kuvvet yöntemlerini otomatik olarak engellemenin kolay bir yoludur, çünkü bunu engellemek, belirttiğimiz sürece saldırının çalışmasının durmasına neden olacaktır. Bu genellikle daha fazla kaba kuvvet girişimlerini caydırmak için yeterlidir.

bir izinsiz giriş tespit sistemi veya IDS
İzinsiz giriş tespit sistemi veya IDS, izinsiz giriş önleme sisteminin zorunlu tamamlayıcısıdır. Bir IDS, karşılaştırmaları çalıştırarak dosya veya kayıt değişikliklerini algılar Bu önceden kaydedilmiş durumlara karşı dosyaların değiştirilip değiştirilmediğini veya herhangi bir konfigürasyonun değiştirilip değiştirilmediğini bilmek ve bunu hangi kullanıcının yaptığını kaydetmek.

Eğitimde gördüğümüz Snort gibi birçok IDS var:

  • Hacker Önleme ve Güvenlik Araçları
Eğitimde gördüğümüz mirket:
  • Suricata Hırsız Tespit Sistemi
Eğitimde gördüğümüz Tripwire:
  • Sunucuların ve işletim sistemlerinin güvenliğinin güçlendirilmesi.

Bu araçlar, sistem dosyalarının bir veritabanını kullanır ve yapılandırma dosyalarını korur. Kuralları ve istisnaları yapılandırarak, hangi dosyaların korunacağını ve nelerin rapor edilmesi gerektiğini tanımlarsınız, böylece sistemi izlemeye başladığınızda, izlenen dosyalarda yapılan tüm değişiklikleri ve yürütmeleri gözden geçirebilirsiniz.

Tüm araçlar, zaman zaman cronjob ile otomatik olarak kontrol edecek ve hatta olağandışı bir etkinlik durumunda e-posta bildirimleri uygulayacak şekilde yapılandırılabilir.

Örneğin Snort'u alırsak, onu depolardan kurarız:

 apt-get install snort

Ardından, kural dosyalarının bulunduğu dizine gideriz:

 cd / etc / snort / kurallar

mesela dosyaya bakalım mysql.rules

 nano mysql.kurallar
Gördüğümüz yerde, MySQL hizmetine herhangi bir harici veya kök kullanıcı erişiminin bildirilmesi gerektiğini belirtir.

Diğer bir örnek, örneğin sohbet programlarını hem sunucudan hem de ağdaki bir bilgisayardan ya da sunucumuzu kullanan harici bir bilgisayardan izlemektir.

 nano sohbet kuralları 

Ayrıca her kural dosyasını, bir tarayıcıdan yapılan indirmeleri veya bir hizmete erişimi, bir dosyanın değiştirilmesini veya belirli bir web sayfasını algılamak için yapılandırabiliriz.

Suricata, bir ağ sisteminin gelen ve giden trafiğini analiz etmek için bir sniffer motoru olarak çalıştığı için Snort ve Tripwire'dan daha moderndir. Ancak, IDS ve IPS olarak çifte görev yaparak izinsiz girişleri analiz etmek ve tespit etmek kaynak yoğundur.

Ayrıca kurallar atamak ve birçok uygulama ve programı analiz etmek için eklentilere sahiptir. Suricata, OSI modelinin tüm katmanlarında çalışır.

İle virüsleri ve kötü amaçlı yazılımları kontrol edin Linux Kötü Amaçlı Yazılım Algılama veya ClamAV
Linux bu tür saldırılara daha az eğilimli olsa da, kötü amaçlı yazılımlardan bağışık değildir. Bir güvenlik sisteminin araçları, izinsiz giriş girişimlerini tespit etmek için bir IPS ve bir IDS'nin uygulanmasıyla bağlantılı olarak, sistemde yüklü bazı tehlikeli yazılımların olduğunu gösteren faaliyet izlerini tanımlamak için kötü amaçlı yazılımları araştırabilen ve tespit edebilen bir yazılım gerektirir.

Linux'u güvenli hale getirmek için Linux Kötü Amaçlı Yazılım Algılama (LMD) eğitiminde, kötü amaçlı yazılımları tespit etmek için bu aracın kurulumu ve kullanımı anlatıldı, kaçırmayın.

Sunucuların bütünlüğünü periyodik olarak doğrulamak için kullanılabilecek Linux sistemleri için bir dizi kötü amaçlı yazılım tarayıcısı mevcuttur. Maldet veya LCD olarak da bilinen Linux Kötü Amaçlı Yazılım Algılama, veritabanına dayalı olarak bilinen kötü amaçlı yazılım imzalarını taramak üzere kurulabilen ve yapılandırılabilen popüler bir seçenektir.

Tek seferlik taramalar için manuel olarak çalıştırılabilir ve ayrıca, özellikle ftp ile sunucuya yüklenebilecek e-postaları ve dosyaları kontrol etmek için düzenli önleyici taramalar ve aramalar yapmak için cronjob üzerinden çalıştırılabilir. Bu taramaların raporları sunucu yöneticilerine e-posta ile gönderilebilir.

Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave