Ghid pentru protejarea unui server VPS cu Linux

Cuprins

A Server VPS (Virtual Private Server), Este o partiție logică a unui hard disk printr-o mașină virtuală, un VPS ne oferă mai mult control asupra gestionării resurselor în comparație cu serviciul de server partajat.

Un VPS este ideal pentru cei care doresc să utilizeze un server profesional, dar la un cost mai mic decât unul dedicat și, de asemenea, pentru cei care doresc să înceapă și să facă teste în administrarea serverelor, dar nu sunt siguri de aspectele tehnice, VPS serverul este o opțiune bună pentru a începe. Poate fi folosit pentru a testa instrumente și abilități fără a cheltui prea mulți bani și a pune în pericol un server de producție.

Putem crea un VPS așa cum se vede în tutorial:

  • Creați un server VPS local

Sau utilizați unele plăți, există multe companii care oferă server VPS pe lună sau pe zi, cum ar fi DigitalOcean, pentru a testa configurații într-un mediu real.

Cel mai important lucru atunci când trebuie să administrăm un server este să decidem ce măsuri de securitate vom adopta vor fi necesare. Deși există multe măsuri și instrumente de securitate, ele pot fi, de asemenea, contraproductive, deoarece consumă resurse și pot să nu permită unor aplicații să funcționeze bine, așa că trebuie să fim conștienți de riscuri, de nevoile pentru a putea decide asupra echilibrului dintre ușurință, performanța și siguranța serverului.

În acest tutorial voi oferi o serie de configurații recomandate pentru un VPS sigur

Blocarea accesului cu firewall-uri
Firewall-urile acționează ca o barieră între traficul general pe Internet și server. Este important să revizuiți, să filtrați și să blocați traficul intern și extern.

Prin intermediul unui set de reguli care sunt configurate de administrator, un server va utiliza numai porturi de rețea specifice pentru servicii autorizate. Restul porturilor nu au fost utilizate și trebuie protejate în siguranță în spatele unui firewall, pentru a interzice tot traficul destinat acestor locuri.

Pentru acest tutorial vom presupune că gestionăm un server Linux VPS pentru a adopta măsuri de securitate. Pentru a stabili regulile de bază ale firewall-ului trebuie mai întâi să urmărim ce porturi avem deschise, pentru aceasta folosim comanda:

 ifconfig
Determinăm ip-ul:
 nmap -sT -O 192.168.0.11

Acest lucru vă permite să știți ce porturi ascultă și condiționează utilizarea serviciilor în unele cazuri. Configurarea regulilor firewall-ului nostru este o bază bună pentru securitatea serverului și a rețelei.

Există multe firewall-uri disponibile, unele sunt:

  • Firewall IPCop
  • ConfigServer Security & Firewall

Cel mai utilizat firewall este Iptables care vine deja cu Linux, dar nu are o interfață grafică, din fereastra terminalului (conectată prin SSH) putem folosi următoarele comenzi:

Blocați un anumit IP de intrare:

 sudo iptables -A INPUT -s 190.160.45.60 -j DROP
Blocați un IP de intrare și un port prin interfața de rețea Ethernet sau rețeaua cu fir:
 iptables -A INPUT -i eth0 -s 190.160.45.60 --destination-port 25 -j DROP
Blochez un IP de intrare, dar prin WiFi:
 iptables -A INPUT -i wlan0 -s 190.160.45.60 -j DROP
Dacă elimin parametrul IP -s și părăsesc portul, atunci îl blochez pentru orice IP

Iptables este instrumentul utilizat pentru gestionarea firewall-ului netfilter inclus în kernel-ul Linux. Avantajul Iptables este că a fost supus unor audituri de securitate foarte profunde pentru a se asigura că funcționează și că este util.

Un alt aspect interesant este că putem crea un script sau o interfață pentru a defini regulile pentru iptables, deși există deja multe disponibile care vă pot permite să configurați cu seturi de reguli într-un mod foarte flexibil.

Utilizați SSH în siguranță pentru administrare la distanță
Când trebuie să gestionăm un server pe care nu avem acces local, trebuie să îl facem de la distanță. Pentru aceasta, serviciul este utilizat printr-un protocol numit SSH, care înseamnă Secure Shell, care permite serverului să fie complet gestionat prin intermediul unui interpret de comandă,

SSH oferă posibilitatea de a crea și menține un tunel de trafic între computer și server, astfel încât să se stabilească o conexiune sigură pe măsură ce tunelul transmite date printr-o conexiune criptată.

Deși protocolul în sine este foarte sigur și a fost analizat pe larg și testat de securitate, putem adăuga câteva opțiuni de configurare pentru a-l face mai sigur, cum ar fi schimbați portul deoarece implicit portul de conexiune SSH este portul 22, pentru aceasta ne conectăm prin SSH și apoi edităm fișierul:

 / etc / ssh / sshd_config
Ne conectăm folosind următoarea comandă:
 ssh user @ ip

Apoi edităm fișierul și schimbăm portul pe altul pe placul nostru, care nu interferează cu niciun serviciu, de exemplu 9200:

 nano / etc / ssh / sshd_config

Înregistrăm și repornim SSH astfel încât să adopte noua configurație, conform distro linux:

Fedora, Centos

 sbin / service sshd restart
Debian, Ubuntu
 /etc/init.d/sshd reporniți
Apoi va trebui să accesăm din nou, o vom face după cum urmează:
 utilizator ssh @ ip -p 9200
Apoi blocăm portul 22 în acest fel, nu vor putea să ne scaneze și să încerce un atac de forță brută.
 iptables -A OUTPUT -p tcp --dport 22 -j DROP
Instalați un IPS sau sistem de prevenire a intruziunilor
Un sistem de prevenire a intruziunilor este un software care vă permite să monitorizați și să controlați accesul pe o rețea de calculatoare pentru a proteja resursele sau un server de atacuri și intruziuni. Tehnologia de prevenire a intruziunilor este un complement vital pentru un sistem de detectare a intruziunilor (IDS), în timp ce un IPS funcționează ca un firewall în timp ce un IDS analizează ce tip de trafic circulă pe rețea, dar verifică și conținutul și ce face acest conținut.

Un exemplu este Fail2Ban, este o aplicație dezvoltată sub Python pentru prevenirea intruziunilor, este un IPS, care acționează automat analizând și blocând conexiunile la distanță care încearcă accesul cu forță brută.

Fail2ban nu numai că folosește propriul jurnal de încercări de acces, ci folosește și jurnale de la alte programe, cum ar fi iptables, care specifică regulile pentru a putea aplica o blocare.

Puteți utiliza reguli create de administrator sau să le creați noi în funcție de propria configurație, de exemplu să blocați un IP care nu a reușit să acceseze de 3 ori.

Putem de la o fereastră SSH sau o putem descărca de pe site-ul său oficial, dacă vine în depozitele distribuției noastre, o instalăm.

 apt-get install fail2ban
Apoi îl configurăm editând următorul fișier:
 nano /etc/fail2ban/jail.conf

Aici edităm câțiva dintre cei mai importanți parametri

  • ignoreip: ip care nu va fi niciodată blocat.
  • bantime: timp în secunde în care va dura blocul IP.
  • maxretry: numărul maxim de încercări de acces eșuate înainte de a fi blocat.

Apoi putem crea filtre pentru diferite aplicații pe care le putem găsi în director:

 cd /etc/fail2ban/filter.d

Acest sistem de prevenire a intruziunilor ne va permite să diminuăm multe atacuri și astfel să creștem securitatea generală a configurației noastre VPS.

Fail2ban este un serviciu care monitorizează fișierele jurnal pentru a determina dacă un acces este un utilizator legitim și dacă nu pentru a bloca temporar traficul de la adresa IP asociată cu utilizatorul care intenționează să acceseze unele servicii, fie că este ftp, ssh, e-mail, web etc.

Aceasta este o modalitate ușoară de a bloca automat metodele de forță brută, deoarece blocarea acesteia va face ca atacul să nu mai funcționeze atât timp cât indicăm. Acest lucru este de obicei suficient pentru a descuraja alte încercări de forță brută.

Implementați un sistem de detectare a intruziunilor sau IDS
Un sistem de detectare a intruziunilor, sau IDS, este complementul obligatoriu al unui sistem de prevenire a intruziunilor. Un IDS detectează modificările fișierului sau înregistrează efectuând comparații Împotriva acestor stări înregistrate anterior să știe dacă fișierele au fost modificate sau a fost modificată orice configurație și să înregistreze ce utilizator a făcut.

Există multe IDS precum Snort, pe care le-am văzut în tutorial:

  • Instrumente de prevenire și securitate a hackerilor
Suricat pe care l-am văzut în tutorial:
  • Sistemul de detectare a intrușilor Suricata
Tripwire pe care l-am văzut în tutorial:
  • Întărirea securității serverelor și a sistemelor de operare.

Aceste instrumente utilizează o bază de date cu fișiere de sistem și protejează fișierele de configurare. Configurând reguli și excepții, definiți ce fișiere să protejați și ce trebuie raportat, astfel încât atunci când începeți să monitorizați sistemul, puteți revizui execuțiile și orice modificare a fișierelor care sunt monitorizate.

Toate instrumentele pot fi configurate pentru a verifica automat cu cronjob din când în când și chiar pentru a implementa notificări prin e-mail în caz de activitate neobișnuită.

Dacă luăm Snort de exemplu, îl instalăm din depozite:

 apt-get install snort

Apoi mergem la directorul unde sunt fișierele de reguli:

 cd / etc / snort / rules

De exemplu, să ne uităm la fișier mysql.rules

 nano mysql.rules
În cazul în care vedem specificat, trebuie să fie informat orice acces de utilizator extern sau root la serviciul MySQL.

Un alt exemplu este, de exemplu, monitorizarea programelor de chat atât de pe server, fie de pe un computer din rețea sau de pe un computer extern care utilizează serverul nostru.

 nano chat.rules 

De asemenea, putem configura fiecare fișier de reguli pentru a detecta descărcările dintr-un browser sau accesul la un serviciu, modificarea unui fișier sau o anumită pagină web.

Suricata este mai modernă decât Snort și Tripwire, deoarece funcționează ca un motor sniffer pentru a analiza traficul de intrare și de ieșire al unui sistem de rețea. Cu toate acestea, este nevoie de resurse pentru a analiza și detecta intruziunile făcând dublă funcție ca IDS și IPS.

De asemenea, are pluginuri pentru a atribui reguli și a analiza multe aplicații și programe. Suricata funcționează pe toate straturile modelului OSI.

Verificați dacă există viruși și programe malware cu Linux Malware Detect sau ClamAV
Deși Linux este mai puțin predispus la aceste tipuri de atacuri, nu este imun la software rău intenționat. Instrumentele unui sistem de securitate coroborat cu implementarea unui IPS și a unui IDS pentru a detecta încercările de intruziune, necesită software capabil să caute și să detecteze malware pentru a identifica urmele de activitate care indică faptul că există un software periculos instalat în sistem.

În tutorialul Linux Malware Detect (LMD) pentru securizarea Linux, a fost explicată instalarea și utilizarea acestui instrument pentru detectarea malware-ului, nu ratați.

Există o serie de scanere malware disponibile pentru sistemele Linux care pot fi utilizate pentru a valida periodic integritatea serverelor. Linux Malware Detect, cunoscut și sub numele de maldet sau LCD, este o opțiune populară care poate fi instalată și configurată pentru a căuta semnături malware cunoscute pe baza bazei de date.

Poate fi rulat manual pentru scanări unice și poate fi rulat și prin cronjob pentru a rula scanări și căutări preventive regulate, în special pentru a verifica e-mailurile și fișierele care pot fi încărcate de ftp pe server. Rapoartele acestor scanări pot fi trimise prin e-mail administratorilor de server.

V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave