Toata lumea spune asta Linux este sigur în mod implicit și este de acord cu o oarecare extindere (Este vorba de subiecte discutabile). Cu toate acestea, Linux are în mod implicit un model de securitate încorporat. Trebuie să îl reglați și să îl personalizați conform nevoilor dvs., ceea ce vă poate ajuta să faceți un sistem mai sigur. Linux este mai greu de gestionat, dar oferă mai multă flexibilitate și opțiuni de configurare.
Asigurarea unui sistem într-o producție din mâinile hackeri și biscuiți este o sarcină provocatoare pentru un Administrator de sistem. Acesta este primul nostru articol legat de „Cum să securizați caseta Linux”Sau„Întărirea unei cutii Linux“. În această postare vă vom explica 25 de sfaturi și trucuri utile pentru a vă securiza sistemul Linux. Sper, mai jos sfaturi și trucuri vă vor ajuta să extindeți pentru a vă securiza sistemul.
Configurați fișierul BIOS pentru a dezactiva pornirea de la
CD / DVD, Dispozitive externe, Unitate de dischetă în BIOS. Apoi, activați BIOS parola și, de asemenea, protejați GRUB cu parolă pentru a restricționa accesul fizic al sistemului dvs.Este important să aveți partiții diferite pentru a obține o securitate mai mare a datelor în cazul în care se întâmplă un dezastru. Prin crearea de partiții diferite, datele pot fi separate și grupate. Atunci când apare un accident neașteptat, doar datele despre acea partiție vor fi deteriorate, în timp ce datele despre alte partiții au supraviețuit. Asigurați-vă că trebuie să aveți următoarele partiții separate și să vă asigurați că aplicațiile terță parte trebuie instalate pe sisteme de fișiere separate de sub /opt.
/ /boot. /usr. /var. /home. /tmp. /opt
Doriți cu adevărat instalat tot felul de servicii?. Este recomandat să evitați instalarea pachetelor inutile pentru a evita vulnerabilitățile în pachete. Acest lucru poate reduce riscul ca compromiterea unui serviciu să ducă la compromiterea altor servicii. Găsiți și eliminați sau dezactivați serviciile nedorite de pe server pentru a minimiza vulnerabilitatea. Folosește 'chkconfig„Comanda pentru a afla serviciile care rulează nivel de rulare 3.
# / sbin / chkconfig --list | grep '3: on'
După ce ați aflat că se execută orice serviciu nedorit, dezactivați-l folosind următoarea comandă.
# chkconfig serviceName off
Folosește RPM manager de pachete precum „da”Sau„apt-get”Instrumente pentru a lista toate pachetele instalate pe un sistem și a le elimina folosind următoarea comandă.
# yum -a elimina numele pachetului
# sudo apt-get elimina numele pachetului
Cu ajutorul 'netstat„Comanda de rețea puteți vizualiza toate porturile deschise și programele asociate. După cum am spus mai sus, folosiți „chkconfig‘Comanda pentru a dezactiva toate serviciile de rețea nedorite din sistem.
# netstat -tulpn
Telnet și rlogin protocoalele utilizează text simplu, nu format criptat, care reprezintă încălcările de securitate. SSH este un protocol sigur care utilizează tehnologia de criptare în timpul comunicării cu serverul.
Nu vă conectați niciodată direct ca rădăcină dacă nu este necesar. Utilizare "sudo”Pentru a executa comenzi. sudo sunt specificate în /etc/sudoers fișierul poate fi editat și cu „visudo”Utilitar care se deschide în VI editor.
De asemenea, este recomandat să schimbați valoarea implicită SSH 22 numărul de port cu un alt număr de port de nivel superior. Deschideți principalul SSH fișier de configurare și faceți câțiva parametri următori pentru a restricționa accesul utilizatorilor.
# vi / etc / ssh / sshd_config
PermitRootLogin nr
AllowUsers nume de utilizator
Protocolul 2
Păstrați întotdeauna sistemul actualizat cu cele mai recente versiuni de patch-uri, remedieri de securitate și kernel atunci când este disponibil.
# yum actualizări. # yum check-update
Cron are caracteristica proprie încorporată, unde permite specificarea cine și cine poate să nu dorească să execute joburi. Acest lucru este controlat de utilizarea fișierelor numite /etc/cron.allow și /etc/cron.deny. Pentru a bloca un utilizator folosind cron, pur și simplu adăugați nume de utilizator în cron.deny și pentru a permite unui utilizator să ruleze cron add in cron.allow fişier. Dacă doriți să dezactivați toți utilizatorii de la utilizarea cron, adăugați „TOATE‘Linie către cron.deny fişier.
# echo ALL >> / etc / cron.deny
De multe ori se întâmplă să vrem să restricționăm utilizatorii să nu folosească USB lipiți sistemele pentru a proteja și proteja datele împotriva furtului. Creați un fișier „/etc/modprobe.d/no-usb‘Și adăugarea sub linia nu va fi detectată USB depozitare.
instalați USB-storage / bin / true
Linux îmbunătățit de securitate (SELinux) este un mecanism de securitate obligatoriu pentru controlul accesului furnizat în nucleu. Dezactivarea SELinux înseamnă eliminarea mecanismului de securitate din sistem. Gândiți-vă de două ori cu atenție înainte de a elimina, dacă sistemul dvs. este atașat la internet și accesat de public, atunci gândiți-vă mai multe despre el.
SELinux oferă trei moduri de operare de bază și acestea sunt.
Puteți vizualiza starea curentă a SELinux din linia de comandă folosind „system-config-selinux‘, ‘getenforce'Sau'sestatus‘Comenzi.
# sestatus
Dacă este dezactivat, activați SELinux folosind următoarea comandă.
# setenforce impunerea
De asemenea, poate fi gestionat din/etc/selinux/config„Fișier, unde îl puteți activa sau dezactiva.
Nu este nevoie să fugiți X Window desktop-uri precum KDE sau GNOME pe dedicat LAMPĂ Server. Puteți să le eliminați sau să le dezactivați pentru a spori securitatea serverului și a performanței. Pentru a dezactiva simplu deschideți fișierul „/etc/inittab'Și setați nivelul de rulare la 3. Dacă doriți să îl eliminați complet din sistem, utilizați comanda de mai jos.
# yum groupremove "X Window System"
Dacă nu utilizați un IPv6 protocol, atunci ar trebui să-l dezactivați deoarece majoritatea aplicațiilor sau politicilor nu sunt necesare IPv6 protocol și în prezent nu este necesar pe server. Accesați fișierul de configurare a rețelei și adăugați linii următoare pentru a-l dezactiva.
# vi / etc / sysconfig / network
NETWORKING_IPV6 = nr. IPV6INIT = nr
Acest lucru este foarte util dacă doriți să nu permiteți utilizatorilor să folosească aceleași parole vechi. Vechiul fișier de parolă se află la /etc/security/opasswd. Acest lucru poate fi realizat prin utilizarea PAM modul.
Deschis '/etc/pam.d/system-auth‘Fișier sub RHEL / CentOS / Fedora.
# vi /etc/pam.d/system-auth
Deschis ‘/Etc/pam.d/common-password‘Fișier sub Ubuntu / Debian / Linux Mint.
# vi /etc/pam.d/common-password
Adăugați următoarea linie la „autentificare' secțiune.
auth suficient pam_unix.so like likeauth nullok
Adăugați următoarea linie la „parola„Secțiune pentru a interzice utilizatorului să reutilizeze ultima 5 parola sa.
parola suficientă pam_unix.so nullok use_authtok md5 shadow remember = 5
Doar ultima 5 parolele sunt reținute de server. Dacă ați încercat să folosiți oricare dintre ultimele 5 parole vechi, veți primi o eroare de genul.
Parola a fost deja utilizată. Alege altul.
În Linux, parolele utilizatorului sunt stocate în „/etc/shadow‘Fișier în format criptat. Pentru a verifica expirarea parolei utilizatorului, trebuie să utilizați „chage‘Comanda. Afișează informații despre detaliile de expirare a parolei împreună cu data ultimei modificări a parolei. Aceste detalii sunt utilizate de sistem pentru a decide când un utilizator trebuie să-și schimbe parola.
Pentru a vizualiza informațiile de îmbătrânire ale oricărui utilizator existent, cum ar fi Data de expirare și timp, utilizați următoarea comandă.
#chage -l nume de utilizator
Pentru a schimba îmbătrânirea parolei oricărui utilizator, utilizați următoarea comandă.
#chage -M 60 nume de utilizator. #chage -M 60 -m 7 -W 7 UserName
Funcțiile de blocare și deblocare sunt foarte utile, în loc să eliminați un cont din sistem, îl puteți bloca timp de o săptămână sau o lună. Pentru a bloca un anumit utilizator, puteți utiliza comanda de urmărire.
# passwd -l accountName
Notă: Utilizatorul blocat este încă disponibil pentru rădăcină numai utilizator. Blocarea se realizează prin înlocuirea parolei criptate cu un (!) șir. Dacă cineva încearcă să acceseze sistemul folosind acest cont, va primi o eroare similară cu cea de mai jos.
# su - accountName. În prezent, acest cont nu este disponibil.
Pentru a debloca sau a permite accesul la un cont blocat, utilizați comanda ca. Aceasta va elimina (!) șir cu parolă criptată.
# passwd -u accountName
Un număr de utilizatori utilizează parole slabe sau slabe, iar parola lor ar putea fi piratată cu un bazat pe dicționar sau forta bruta atacuri. „pam_cracklib‘Modulul este disponibil în PAM (Module de autentificare conectabile) stivă de module care va forța utilizatorul să seteze parole puternice. Deschideți următorul fișier cu un editor.
Citește și:
# vi /etc/pam.d/system-auth
Și adăugați linie utilizând parametrii de credit ca (lcredit, ucredit, dcredit și / sau ocredit respectiv minuscule, majuscule, cifre și altele)
/lib/security/$ISA/pam_cracklib.so retry = 3 minlen = 8 lcredit = -1 ucredit = -2 dcredit = -2 ocredit = -1
Este foarte recomandat să activați Paravan de protecție Linux pentru a asigura accesul neautorizat la serverele dvs. Aplicați regulile în iptables la filtre de intrare, de ieșire și înaintare pachete. Putem specifica adresa sursă și destinația pentru a permite și a refuza în mod specific udp / tcp numarul portului.
În majoritatea distribuțiilor Linux, apăsând pe „CTRL-ALT-DELETE ” va duce sistemul dvs. la repornirea procesului. Deci, nu este o idee bună să aveți această opțiune activată cel puțin pe serverele de producție, dacă cineva face greșit acest lucru.
Acest lucru este definit în „/etc/inittab‘Fișier, dacă vă uitați atent în acel fișier, veți vedea o linie similară cu cea de mai jos. În mod implicit, linia nu este comentată. Trebuie să-l comentăm. Această semnalizare specială a secvenței de taste va închide un sistem.
# Trap CTRL-ALT-DELETE. #ca:: ctrlaltdel: / sbin / shutdown -t3 -r acum
Orice cont care are o parolă goală înseamnă că este deschis pentru acces neautorizat la oricine de pe web și face parte din securitate pe un server Linux. Deci, trebuie să vă asigurați că toate conturile au parole puternice și că nimeni nu are acces autorizat. Conturile de parole goale reprezintă riscuri de securitate și pot fi ușor de piratat. Pentru a verifica dacă au existat conturi cu parolă goală, utilizați următoarea comandă.
# cat / etc / shadow | awk -F: '($ 2 == "") {print $ 1}'
Este întotdeauna o idee mai bună să aveți un banner legal sau bannere de securitate cu câteva avertismente de securitate înainte de autentificarea SSH. Pentru a seta astfel de bannere citiți articolul următor.
Dacă aveți de-a face cu mulți utilizatori, atunci este important să colectați informațiile despre activitățile fiecărui utilizator și procesele consumate de aceștia și le analizează ulterior sau în cazul în care există vreun fel de performanță, securitate probleme. Dar cum putem monitoriza și colecta informații despre activitățile utilizatorilor.
Există două instrumente utile numite „psacct' și 'acct‘Sunt utilizate pentru monitorizarea activităților și proceselor utilizatorilor pe un sistem. Aceste instrumente rulează într-un fundal de sistem și urmăresc continuu activitatea fiecărui utilizator pe un sistem și resurse consumate de servicii precum Apache, MySQL, SSH, FTP, etc. Pentru mai multe informații despre instalare, configurare și utilizare, vizitați adresa URL de mai jos.
Mutați jurnalele în serverul de jurnal dedicat, acest lucru poate împiedica intrușii să modifice cu ușurință jurnalele locale. Mai jos sunt numele fișierelor jurnal implicite Linux și utilizarea lor:
Într-un sistem de producție, este necesar să faceți o copie de siguranță a fișierelor importante și să le păstrați în seiful de siguranță, la distanță sau în afara locației pentru recuperarea dezastrelor.
Există două tipuri de moduri în NIC lipire, trebuie menționată în interfața de lipire.
NIC Bonding ne ajută să evităm un singur punct de eșec. În NIC legând, legăm două sau mai multe Plăci Ethernet de rețea împreună și creați o singură interfață virtuală pe care o putem atribui IP adresa pentru a vorbi cu alte servere. Rețeaua noastră va fi disponibilă în caz de una Card NIC este defect sau indisponibil din orice motiv.
Citește și: Creați NIC Channel Bonding în Linux
Kernel-ul Linux și fișierele aferente sunt în /boot director care este implicit ca Citeste, scrie. Schimbându-l în numai în citire reduce riscul modificării neautorizate a fișierelor critice de boot. Pentru a face acest lucru, deschideți „/etc/fstab”Fișier.
# vi / etc / fstab
Adăugați următoarea linie în partea de jos, salvați-o și închideți-o.
LABEL = / boot / boot ext2 implicit, ro 1 2
Vă rugăm să rețineți că trebuie să resetați modificarea pentru a citi-scrie dacă trebuie să actualizați nucleul în viitor.
Adăugați următoarea linie în „/etc/sysctl.conf”Fișier de ignorat ping sau difuzat cerere.
Ignorați cererea ICMP: net.ipv4.icmp_echo_ignore_all = 1 Ignorați cererea Broadcast: net.ipv4.icmp_echo_ignore_broadcasts = 1
Încărcați setări sau modificări noi, executând următoarea comandă
#sysctl -p
Dacă ați ratat orice sfat important de securitate sau întărire din lista de mai sus sau aveți orice alt sfat care trebuie inclus în listă. Vă rugăm să lăsați comentariile în căsuța noastră de comentarii. TecMint este întotdeauna interesat să primească comentarii, sugestii, precum și discuții pentru îmbunătățire.