Sfaturi de securitate pentru sistemele GNU / Linux

Ei bine, pregătisem această postare pentru blogul meu de ceva timp mi-au sugerat-o în DesdeLinux, și din cauza lipsei de timp, nu fusese în stare sau dispus. Dacă sunt oarecum leneș ????. Dar acum intră în grevă, așa cum spunem în Cuba ...

Aceasta este o compilație de reguli de securitate de bază pentru administratorii de sistem, în acest caz, pentru cei ca mine care gestionează rețele / sisteme bazate pe GNU / Linux ... S-ar putea să fie mai multe și, de fapt, există mai multe, acesta este doar un eșantion de rătăcirile mele prin lumea Linux ...

0- Păstrați sistemele noastre actualizate cu cele mai recente actualizări de securitate.

0.1- Actualizări critice Liste de corespondență [Consilier de securitate Slackware, Consilier de securitate Debian, În cazul meu]

1- Acces fizic zero la servere de către personal neautorizat.

1.1- Aplicați parola la BIOS-ul a serverelor noastre

1.2- Fără boot cu CD / DVD

1.3- Parolă în GRUB / Lilo

2- Politică bună de parolă, caractere alfanumerice și altele.

2.1- Îmbătrânirea parolelor [Îmbătrânirea parolei] cu comanda „chage”, precum și numărul de zile între schimbarea parolei și data ultimei modificări.

2.2- Evitați utilizarea parolelor anterioare:

în /etc/pam.d/common-password

password sufficient pam_unix.so use_auth ok md5 shadow remember 10

Deci, schimbați parola și vă amintește de ultimele 10 parole pe care le avea utilizatorul.

3- Politică bună de gestionare / segmentare a rețelei noastre [routere, switch-uri, vlans] și firewall, precum și reguli de filtrare INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]

4- Activați utilizarea shell-urilor [/ etc / shells]. Utilizatorii care nu trebuie să se conecteze la sistem primesc / bin / false sau / bin / nologin.

5- Blocați utilizatorii când conectarea eșuează [faillog], precum și controlați contul de utilizator al sistemului.

passwd -l pepe -> blocare utilizator pepe passwd -v pepe -> deblocare utilizator pepe

6- Activați utilizarea „sudo”, nu vă conectați NICIODATĂ ca root cu ssh, „NICIODATĂ”. De fapt, trebuie să editați configurația ssh pentru a atinge acest scop. Folosiți chei publice / private pe serverele dvs. cu sudo.

7- Aplicați în sistemele noastrePrincipiul celui mai mic privilegiu".

8- Verificați din când în când serviciile noastre [netstat -lptun], pentru fiecare dintre serverele noastre. Adăugați instrumente de monitorizare care ne pot ajuta în această sarcină [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].

9- Instalați IDS, Snort / AcidBase, Snotby, Barnyard, OSSEC.

10- Nmap este prietenul tău, folosește-l pentru a-ți verifica subrețeaua / subrețele.

11- Bune practici de securitate în OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [cele care folosesc cel mai mult] și alte servicii de care aveți nevoie în rețeaua dvs.

12- Criptați toate comunicațiile în timp ce este posibil în sistemele noastre, SSL, gnuTLS, StarTTLS, digest, etc ... Și dacă gestionați informații sensibile, criptați-vă hard disk-ul !!!

13- Actualizați serverele noastre de e-mail cu cele mai recente reguli de securitate, listă neagră și antispam.

14- Logarea activității în sistemele noastre cu logwatch și logcheck.

15- Cunoașterea și utilizarea instrumentelor precum top, sar, vmstat, free, printre altele.

sar -> raport activitate sistem vmstat -> procese, memorie, sistem, i / o, activitate cpu, etc. iostat -> stare cpu i / o mpstat -> stare multiprocesor și utilizare pmap -> utilizare memorie prin procese libere -> memorie iptraf -> trafic în timp real al rețelei noastre etstatus -> monitorizare statistică ethernet bazată pe consolă etherape -> monitor grafic rețea ss -> starea socketului [informații socket tcp, udp, sockets raw, sockets DCCP] tcpdump -> Analiza detaliată a traficului -> monitorizarea traficului de rețea a interfețelor selectate mtr -> instrument de diagnosticare și analiză a supraîncărcării în rețele ethtool -> statistici despre plăcile de rețea

Deocamdată este totul. Știu că mai sunt încă o mie și încă una de sugestii de securitate în acest tip de mediu, dar acestea sunt cele care m-au lovit cel mai de aproape sau că, la un moment dat, a trebuit să aplic / exercit într-un mediu pe care l-am administrat .

O îmbrățișare și sper să vă servească 😀


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   koratsuki el a spus

    Vă invit în comentarii să ne spuneți despre o altă regulă pe care ați implementat-o ​​în afară de cele menționate deja, pentru a spori cunoștințele cititorilor noștri 😀

    1.    yukiteru el a spus

      Ei bine, aș adăuga:

      1.- Aplicați reguli sysctl pentru a preveni accesul dmesg, / proc, SysRQ, atribuiți PID1 nucleului, activați protecții pentru legăturile simbolice dure și soft, protecții pentru stivele TCP / IP atât pentru IPv4, cât și pentru IPv6, activați VDSO complet pentru indicatori de randomizare maximă și alocați spațiul de memorie și îmbunătățiți puterea împotriva depășirilor de tampon.

      2.- Creați ziduri de incendiu de tipul SPI (Stateful Package Inspect) pentru a preveni conexiunile care nu au fost create sau care nu au fost permise anterior să aibă acces la sistem.

      3.- Dacă nu aveți servicii care garantează conexiuni cu privilegii ridicate dintr-o locație la distanță, pur și simplu revocați accesul la acestea folosind access.conf sau, în caz contrar, activați accesul doar unui anumit utilizator sau grup.

      4.- Folosiți limite severe pentru a împiedica accesul la anumite grupuri sau utilizatori să vă destabilizeze sistemul. Foarte util în medii în care există un real multi-utilizator activ în orice moment.

      5.- TCPWrappers este prietenul tău, dacă te afli într-un sistem cu suport pentru acesta, utilizarea acestuia nu ar strica, astfel încât să poți refuza accesul de la orice gazdă, cu excepția cazului în care este configurat anterior în sistem.

      6.- Creați chei SSH RSA de cel puțin 2048 biți sau mai bine de 4096 biți cu chei alfanumerice de peste 16 caractere.

      7.- Cât de scriibil în lume ești? Verificarea permisiunilor de citire-scriere a directoarelor dvs. nu este deloc rea și este cea mai bună modalitate de a evita accesul neautorizat în medii cu mai mulți utilizatori, fără a menționa faptul că îngreunează accesul anumitor accesări neautorizate la informațiile pe care le faceți nu vreau ca ei. nimeni altcineva să nu vadă.

      8.- Montați orice partiție externă care nu o merită, cu opțiunile noexec, nosuid, nodev.

      9.- Folosiți instrumente precum rkhunter și chkrootkit pentru a verifica periodic dacă sistemul nu are instalat un rootkit sau malware. O măsură prudentă dacă sunteți unul dintre cei care instalează lucruri din depozite nesecurizate, din PPA-uri sau pur și simplu compilați coduri live de pe site-uri de încredere.

      1.    koratsuki el a spus

        Uhmmm, delicios ... Comentariu bun, adăugați băieți ... 😀

    2.    William Moreno-Reyes el a spus

      Aplicați un control de acces obligatoriu cu SElinux?

  2.   ArmandoF el a spus

    articol foarte bun

    1.    koratsuki el a spus

      Multumesc prietene 😀

  3.   joaco el a spus

    Bună ziua și dacă sunt un utilizator normal, ar trebui să folosesc su sau sudo?
    Folosesc su pentru că nu-mi place sudo, pentru că oricine are parola mea de utilizator poate schimba orice vrea în sistem, în schimb cu su nr.

    1.    koratsuki el a spus

      Pe computerul dvs. nu vă deranjează să utilizați su, îl puteți folosi fără probleme, pe servere, este foarte recomandat să dezactivați utilizarea su și să utilizați sudo, mulți spun că se datorează faptului că audită cine a executat ce comandă și sudo face acea sarcină ... Eu în special, pe computerul meu îl folosesc pe al lui, la fel ca tine ...

      1.    joaco el a spus

        Sigur, nu prea știu cum funcționează pe servere. Deși, mi se pare că sudo avea avantajul că poți acorda privilegii utilizatorului unui alt computer, dacă nu mă înșel.

    2.    Andrew el a spus

      Articol interesant, criptez unele fișiere cu gnu-gpg, cum ar fi cel al privilegiului minim, în cazul în care doriți să executați, de exemplu, un binar de origine necunoscută pierdut în imensele mări de informații de pe disc, cum elimin acces la anumite funcții?

      1.    koratsuki el a spus

        Îți datorez această parte ție, deși cred că ar trebui să rulezi doar ca sudo / root, programe care sunt fiabile, adică provin din repo ...

      2.    yukiteru el a spus

        Îmi amintesc că am citit că există o modalitate de a activa capabilitățile root într-un manual de pe GNU / Linux și UNIX, dacă îl găsesc, îl voi pune 😀

      3.    clovn el a spus

        și cuștile chown pentru a rula binare necunoscute?

    3.    yukiteru el a spus

      Utilizarea sudo în orice moment este mult mai bună.

    4.    plin de viață el a spus

      Sau puteți utiliza sudo, dar limitând timpul în care parola este amintită.

  4.   Kevin Rodriguez el a spus

    Instrumente similare pe care le folosesc pentru a monitoriza computerul, „iotop” ca înlocuitor pentru „iostat”, „htop” excelent „manager de sarcini”, monitorizare a lățimii de bandă „iftop”.

  5.   monitolinux el a spus

    mulți vor crede că este exagerat, dar am văzut deja atacuri pentru a include un server într-o botnet.

    https://twitter.com/monitolinux/status/594235592260636672/photo/1

    ps: cerșetorii chinezi și încercările lor de a-mi hack serverul.

  6.   clovn el a spus

    ceva care este, de asemenea, convenabil este să folosiți cuști pentru servicii, deci dacă, dintr-un anumit motiv, sunt atacați, nu ar compromite sistemul.

  7.   diavol el a spus

    Utilizarea comenzii ps este, de asemenea, excelentă pentru monitorizare și ar putea face parte din acțiuni de verificare a defectelor de securitate. rularea ps -ef listează toate procesele, este similară cu partea de sus, dar arată unele diferențe. instalarea iptraf este un alt instrument care poate funcționa.

  8.   Claudio J. Concepcion Certitudine el a spus

    Bună contribuție.

    Aș adăuga: SELinux sau Apparmor, în funcție de distribuție, întotdeauna activate.

    Din propria mea experiență am realizat că este o practică proastă să dezactivezi aceste componente. Aproape întotdeauna o facem atunci când urmează să instalăm sau să configurăm un serviciu, cu scuza că acesta rulează fără probleme, când într-adevăr ceea ce ar trebui să facem este să învățăm să le gestionăm pentru a permite acel serviciu.

    Un salut.

  9.   GnuLinux ?? el a spus

    1. Cum se criptează întregul sistem de fișiere? merită??
    2. Trebuie decriptat de fiecare dată când sistemul va fi actualizat?
    3. Este criptarea întregului sistem de fișiere al mașinii la fel ca și criptarea oricărui alt fișier?

    1.    yukiteru el a spus

      De unde știi că știi despre ce vorbești?

  10.   Nautilus el a spus

    De asemenea, puteți pune în cușcă programe și chiar mai mulți utilizatori. Deși a face acest lucru este mai mult de lucru, dar dacă s-a întâmplat ceva și ați avut o copie anterioară a acelui folder, este doar să bateți și să cântați.

  11.   Toño el a spus

    Cea mai bună și mai convenabilă politică de securitate este să nu fii paranoic.
    Încearcă, este infailibil.

  12.   angelbeniti el a spus

    Folosesc csf și atunci când deblochează un client care și-a deplasat parola într-un anumit acces, acest lucru întârzie procesul, dar da. Este normal?

    Caut comanda pentru a debloca din ssh ... orice sugestie