20 Consells de seguretat per endurir el servidor CentOS - Part 1


Aquest tutorial només cobreix consells de seguretat generals per a CentOS 8/7 que es poden utilitzar per endurir el sistema. Els consells de la llista de verificació estan pensats per ser utilitzats principalment en diversos tipus de servidors de metall nu o en màquines (físiques o virtuals) que proporcionen serveis de xarxa.

Tanmateix, alguns dels consells també es poden aplicar amb èxit a màquines de propòsit general, com ara ordinadors de sobretaula, ordinadors portàtils i ordinadors de placa única de mida de targeta (Raspberry Pi).

  • Instal·lació mínima de CentOS 8
  • Instal·lació mínima de CentOS 7

1. Protecció Física

Bloqueja l'accés a les sales de servidors, utilitza el bloqueig de bastidors i la videovigilància. Tingueu en compte que qualsevol accés físic a les sales de servidors pot exposar la vostra màquina a problemes de seguretat greus.

Les contrasenyes de la BIOS es poden canviar restablint els ponts a la placa base o desconnectant la bateria CMOS. A més, un intrús pot robar els discs durs o connectar directament nous discs durs a les interfícies de la placa base (SATA, SCSI, etc.), arrencar amb una distribució en directe de Linux i clonar o copiar dades sense deixar cap rastre de programari.

2. Redueix l'impacte de l'espionatge

En cas de dades molt sensibles, probablement hauríeu d'utilitzar una protecció física avançada, com ara col·locar i bloquejar el servidor en una solució TEMPEST per tal de minimitzar l'impacte d'espiar el sistema a través de la ràdio o les fuites elèctriques.

3. Assegureu-vos la BIOS/UEFI

Inicieu el procés d'enduriment de la vostra màquina assegurant la configuració de la BIOS/UEFI, especialment establiu una contrasenya de BIOS/UEFI i desactiveu els dispositius multimèdia d'arrencada (CD, DVD, desactiveu el suport USB) per evitar que qualsevol usuari no autoritzat modifiqui la configuració de la BIOS del sistema o alteri la prioritat del dispositiu d'arrencada i arrencar la màquina des d'un mitjà alternatiu.

Per aplicar aquest tipus de canvi a la vostra màquina, heu de consultar el manual del fabricant de la placa base per obtenir instruccions específiques.

4. Carregador d'arrencada segur

Establiu una contrasenya GRUB per evitar que els usuaris maliciosos modifiquin la seqüència d'arrencada del nucli o els nivells d'execució, editin els paràmetres del nucli o inicieu el sistema en un mode d'usuari únic per danyar el vostre sistema i restablir la contrasenya d'arrel per obtenir un control privilegiat.

5. Utilitzeu particions de disc separades

Quan instal·leu CentOS en sistemes destinats com a servidors de producció, utilitzeu particions o discs durs dedicats per a les parts següents del sistema:

/(root) 
/boot  
/home  
/tmp 
/var 

6. Utilitzeu LVM i RAID per a la redundància i el creixement del sistema de fitxers

La partició /var és el lloc on s'escriuen els missatges de registre al disc. Aquesta part del sistema pot créixer de manera exponencial en servidors de gran trànsit que exposen serveis de xarxa com ara servidors web o servidors de fitxers.

Per tant, utilitzeu una partició gran per a /var o considereu la possibilitat de configurar aquesta partició mitjançant volums lògics (LVM) o combineu diversos discs físics en un dispositiu RAID 0 virtual més gran per mantenir grans quantitats de dades. Per a les dades, considereu la redundància utilitzar el disseny LVM a la part superior del nivell RAID 1.

Per configurar LVM o RAID als discs, seguiu les nostres guies útils:

  1. Configura l'emmagatzematge en disc amb LVM a Linux
  2. Crear discos LVM amb vgcreate, lvcreate i lvextend
  3. Combineu diversos discs en un emmagatzematge virtual gran
  4. Creeu RAID 1 amb dos discs a Linux

7. Modifiqueu les opcions de fstab per protegir les particions de dades

Separeu les particions destinades a emmagatzemar dades i eviteu l'execució de programes, fitxers de dispositiu o bit setuid en aquest tipus de particions afegint les opcions següents al fitxer fstab tal com s'il·lustra a l'extracte següent:

/dev/sda5 	 /nas          ext4    defaults,nosuid,nodev,noexec 1 2

Per evitar l'escalada de privilegis i l'execució d'scripts arbitrària, creeu una partició separada per a /tmp i munteu-la com a nosuid, nodev i noexec.

/dev/sda6  	/tmp         ext4    defaults,nosuid,nodev,noexec 0 0

8. Xifra els discs durs a nivell de bloc amb LUKS

Per tal de protegir la indagació de dades sensibles en cas d'accés físic als discs durs de les màquines. Us suggereixo que apreneu a xifrar el disc llegint el nostre article Xifratge de dades del disc dur de Linux amb LUKS.

9. Utilitzeu PGP i criptografia de clau pública

Per xifrar els discs, utilitzeu PGP i Criptografia de clau pública o l'ordre OpenSSL per xifrar i desxifrar fitxers sensibles amb una contrasenya, tal com es mostra en aquest article Configura l'emmagatzematge del sistema Linux xifrat.

10. Instal·leu només la quantitat mínima de paquets necessaris

Eviteu instal·lar programes, aplicacions o serveis no importants o innecessaris per evitar vulnerabilitats dels paquets. Això pot disminuir el risc que el compromís d'un programari pugui comprometre altres aplicacions, parts del sistema o fins i tot sistemes de fitxers, provocant, finalment, la corrupció o la pèrdua de dades.

11. Actualitzeu el sistema amb freqüència

Actualitzeu el sistema regularment. Manteniu el nucli de Linux sincronitzat amb els darrers pedaços de seguretat i tot el programari instal·lat actualitzat amb les últimes versions emetent l'ordre següent:

# yum update

12. Desactiveu Ctrl+Alt+Supr

Per evitar que els usuaris reiniciin el servidor un cop tinguin accés físic a un teclat o mitjançant una aplicació de consola remota o una consola virtualitzada (KVM, interfície de programari de virtualització), hauríeu de desactivar la tecla Ctrl+Alt+Supr. seqüència executant l'ordre següent.

# systemctl mask ctrl-alt-del.target 

13. Elimina els paquets de programari innecessaris

Instal·leu el programari mínim necessari per a la vostra màquina. No instal·leu mai programes o serveis addicionals. Instal·leu paquets només des de repositoris oficials o de confiança. Utilitzeu una instal·lació mínima del sistema en cas que la màquina estigui destinada a executar tota la seva vida com a servidor.

Verifiqueu els paquets instal·lats mitjançant una de les ordres següents:

# rpm -qa

Feu una llista local de tots els paquets instal·lats.

# yum list installed >> installed.txt

Consulteu la llista de programari inútil i suprimiu un paquet emetent l'ordre següent:

# yum remove package_name

14. Reinicieu els serveis de Systemd després de les actualitzacions de Daemon

Utilitzeu l'exemple d'ordre següent per reiniciar un servei systemd per tal d'aplicar noves actualitzacions.

# systemctl restart httpd.service

15. Elimina els serveis innecessaris

Identifiqueu els serveis que escolten en ports específics mitjançant l'ordre ss següent.

# ss -tulpn

Per llistar tots els serveis instal·lats amb el seu estat de sortida, emet l'ordre següent:

# systemctl list-units -t service

Per exemple, la instal·lació mínima per defecte de CentOS ve amb el dimoni Postfix instal·lat per defecte que s'executa amb el nom d'un mestre sota el port 25. Elimineu el servei de xarxa Postfix en cas que la vostra màquina no s'utilitzi com a servidor de correu.

# yum remove postfix

16. Xifrar les dades transmeses

No utilitzeu protocols no segurs per a l'accés remot o la transferència de fitxers, com ara Telnet, FTP o altres protocols alts de text sense format com SMTP, HTTP, NFS o SMB que, per defecte, no xifren les sessions d'autenticació ni les dades enviades.

Utilitzeu només scp per a les transferències de fitxers i SSH o VNC a través de túnels SSH per a connexions remotes de consola o accés a la GUI.

Per tal de tunelitzar una consola VNC mitjançant SSH, utilitzeu l'exemple següent que reenvia el port VNC 5901 des de la màquina remota a la vostra màquina local:

# ssh -L 5902:localhost:5901 remote_machine

A la màquina local, executeu l'ordre següent per connectar-vos virtualment al punt final remot.

# vncviewer localhost:5902

17. Escaneig de ports de xarxa

Realitzeu comprovacions de ports externs mitjançant l'eina Nmap des d'un sistema remot a través de la LAN. Aquest tipus d'exploració es pot utilitzar per verificar les vulnerabilitats de la xarxa o provar les regles del tallafoc.

# nmap -sT -O 192.168.1.10

18. Tallafocs de filtratge de paquets

Utilitzeu la utilitat firewalld per protegir els ports del sistema, obrir o tancar ports de serveis específics, especialment els ports coneguts (<1024).

Instal·leu, inicieu, activeu i enumereu les regles del tallafoc emetent les ordres següents:

# yum install firewalld
# systemctl start firewalld.service
# systemctl enable firewalld.service
# firewall-cmd --list-all

19. Inspeccioneu els paquets de protocol amb Tcpdump

Utilitzeu la utilitat tcpdump per detectar els paquets de xarxa localment i inspeccionar el seu contingut per detectar trànsit sospitós (ports font-destinació, protocols TCP/IP, trànsit de capa dos, sol·licituds ARP inusuals).

Per a una millor anàlisi del fitxer capturat tcpdump, utilitzeu un programa més avançat com Wireshark.

# tcpdump -i eno16777736 -w tcpdump.pcap

20. Evita els atacs DNS

Inspeccioneu el contingut del vostre resolutor, normalment el fitxer /etc/resolv.conf, que defineix l'adreça IP dels servidors DNS que hauria d'utilitzar per consultar noms de domini, per tal d'evitar atacs man-in-the-middle, trànsit innecessari per root als servidors DNS, falsificar o crear un atac DOS.

Aquesta és només la primera part. A la següent part parlarem d'altres consells de seguretat per a CentOS 8/7.