20 CentOS Server Hardening Security Vinkkejä - Osa 1


Tämä opetusohjelma kattaa vain yleiset CentOS 8/7 -tietoturvavinkit, joita voidaan käyttää järjestelmän vahvistamiseen. Tarkistuslistan vinkit on tarkoitettu käytettäväksi lähinnä erilaisilla paljasmetallipalvelimilla tai verkkopalveluita tarjoavilla koneilla (fyysisellä tai virtuaalisella).

Joitakin vinkkejä voidaan kuitenkin soveltaa menestyksekkäästi myös yleiskäyttöisiin koneisiin, kuten pöytätietokoneisiin, kannettaviin tietokoneisiin ja korttikokoisiin yksilevytietokoneisiin (Raspberry Pi).

Vaatimukset

  • CentOS 8:n minimiasennus
  • CentOS 7:n minimiasennus

1. Fyysinen suojaus

Lukitse pääsy palvelinhuoneisiisi, käytä telineiden lukitusta ja videovalvontaa. Ota huomioon, että mikä tahansa fyysinen pääsy palvelinhuoneisiin voi altistaa koneesi vakaville tietoturvaongelmille.

BIOS-salasanat voidaan vaihtaa nollaamalla emolevyn jumpperit tai irrottamalla CMOS-akku. Tunkeilija voi myös varastaa kiintolevyt tai liittää suoraan uusia kiintolevyjä emolevyn liitäntöihin (SATA, SCSI jne.), käynnistyä Linuxin live-jakelulla ja kloonata tai kopioida tietoja jättämättä ohjelmiston jälkiä.

2. Vähennä vakoilun vaikutusta

Erittäin arkaluontoisten tietojen tapauksessa sinun pitäisi luultavasti käyttää kehittynyttä fyysistä suojausta, kuten palvelimen sijoittamista ja lukitsemista Faradayn häkkiin, tai sotilaallista TEMPEST-ratkaisua, jotta järjestelmän vakoilu radion tai sähkövuotojen kautta voidaan minimoida.

3. Suojattu BIOS/UEFI

Aloita koneen kovettamisprosessi varmistamalla BIOS/UEFI-asetukset, erityisesti määrittämällä BIOS/UEFI-salasana ja poistamalla käynnistysmedialaitteet (CD, DVD, USB-tuki käytöstä) käytöstä. estääkseen luvattomia käyttäjiä muuttamasta järjestelmän BIOS-asetuksia tai muuttamasta käynnistyslaitteen prioriteettia ja käynnistämästä konetta toiselta tietovälineeltä.

Jotta voit tehdä tämän tyyppisen muutoksen koneellesi, sinun on katsottava tarkempia ohjeita emolevyn valmistajan käsikirjasta.

4. Secure Boot Loader

Aseta GRUB-salasana estääksesi pahantahtoisia käyttäjiä peukaloitumasta ytimen käynnistysjärjestykseen tai suorittamasta tasoja, muokkaamasta ytimen parametreja tai käynnistämästä järjestelmää yhden käyttäjän tilaan vahingoittaaksesi järjestelmääsi ja nollaamasta pääkäyttäjää. salasanan saadaksesi etuoikeutetun hallinnan.

5. Käytä erillisiä levyosioita

Kun asennat CentOS:n tuotantopalvelimiksi tarkoitettuihin järjestelmiin, käytä erillisiä osioita tai kiintolevyjä seuraaville järjestelmän osille:

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

6. Käytä LVM:ää ja RAID:ia redundanssiin ja tiedostojärjestelmän kasvattamiseen

/var-osio on paikka, jossa lokiviestit kirjoitetaan levylle. Tämä järjestelmän osa voi kasvaa eksponentiaalisesti suuren liikenteen palvelimilla, jotka paljastavat verkkopalvelut, kuten verkkopalvelimet tai tiedostopalvelimet.

Käytä siis suurta osiota /var-osioille tai harkitse tämän osion määrittämistä käyttämällä loogisia asemia (LVM) tai yhdistä useita fyysisiä levyjä yhdeksi suuremmaksi virtuaaliseksi RAID 0 -laitteeksi ylläpitääksesi suuria tietomääriä. Tietojen varalta kannattaa harkita LVM-asettelun käyttöä RAID 1 -tason yläpuolella.

Asenna LVM tai RAID levyille noudattamalla hyödyllisiä oppaitamme:

  1. Asenna levytallennus LVM:llä Linuxissa
  2. Luo LVM-levyjä vgcreate-, lvcreate- ja lvextend-ohjelmilla
  3. Yhdistä useita levyjä yhdeksi suureksi virtuaalitallennustilaksi
  4. Luo RAID 1 kahdella levyllä Linuxissa

7. Muuta fstab-asetukset suojatuiksi tietoosioksiksi

Erottele tietojen tallentamiseen tarkoitetut osiot ja estä ohjelmien, laitetiedostojen tai setuid-bittien suorittaminen tämän tyyppisissä osioissa lisäämällä seuraavat vaihtoehdot fstab-tiedostoon alla olevan kuvan mukaisesti ote:

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

Estä käyttöoikeuksien eskalointi ja mielivaltainen komentosarjan suorittaminen luomalla erillinen osio /tmp:lle ja liittämällä se nimellä nosuid, nodev ja noexec. .

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

8. Salaa kiintolevyt lohkotasolla LUKSilla

Suojatakseen arkaluontoisten tietojen nuuskimista koneen kiintolevyille pääsyn yhteydessä. Suosittelen, että opit salaamaan levyn lukemalla artikkelimme Linux Hard Disk Data Encryption with LUKS.

9. Käytä PGP:tä ja julkisen avaimen salausta

Levyjen salaamiseksi käytä PGP:tä ja julkisen avaimen salausta tai OpenSSL-komentoa arkaluontoisten tiedostojen salaamiseen ja salauksen purkamiseen salasanalla, kuten tässä artikkelissa Konfiguroi salatun Linux-järjestelmän tallennustila näytetään.

10. Asenna vain vaadittu vähimmäismäärä paketteja

Vältä merkityksettömien tai tarpeettomien ohjelmien, sovellusten tai palveluiden asentamista pakettien haavoittuvuuksien välttämiseksi. Tämä voi vähentää riskiä, että ohjelmiston vaarantaminen voi johtaa muiden sovellusten, järjestelmän osien tai jopa tiedostojärjestelmien vaarantumiseen, mikä lopulta johtaa tietojen vioittumiseen tai tietojen katoamiseen.

11. Päivitä järjestelmä usein

Päivitä järjestelmä säännöllisesti. Pidä Linux-ydin synkronoituna uusimpien suojauskorjausten ja kaikkien asennettujen ohjelmistojen kanssa uusimpien versioiden kanssa antamalla alla oleva komento:

yum update

12. Poista käytöstä Ctrl+Alt+Del

Estä käyttäjiä käynnistämästä palvelinta uudelleen, kun heillä on fyysinen pääsy näppäimistöön tai etäkonsolisovelluksen tai virtualisoidun konsolin (KVM, virtualisointiohjelmiston käyttöliittymä) kautta, poista Ctrl+Alt käytöstä. +Del-näppäinsarja suorittamalla alla oleva komento.

systemctl mask ctrl-alt-del.target 

13. Poista tarpeettomat ohjelmistopaketit

Asenna koneellesi mahdollisimman vähän ohjelmistoja. Älä koskaan asenna ylimääräisiä ohjelmia tai palveluita. Asenna paketteja vain luotetuista tai virallisista tietovarastoista. Käytä minimaalista järjestelmän asennusta, jos koneen on tarkoitus toimia koko käyttöikänsä palvelimena.

Tarkista asennetut paketit jollakin seuraavista komennoista:

rpm -qa

Tee paikallinen luettelo kaikista asennetuista paketeista.

yum list installed >> installed.txt

Tarkista luettelo hyödyttömistä ohjelmistoista ja poista paketti antamalla alla oleva komento:

yum remove package_name

14. Käynnistä Systemd Services uudelleen Daemon-päivitysten jälkeen

Käytä alla olevaa komentoesimerkkiä käynnistääksesi systemd-palvelun uudelleen uusien päivitysten asentamiseksi.

systemctl restart httpd.service

15. Poista tarpeettomat palvelut

Tunnista palvelut, jotka kuuntelevat tiettyjä portteja käyttämällä seuraavaa ss-komentoa.

ss -tulpn

Listaaksesi kaikki asennetut palvelut niiden lähtötilalla anna alla oleva komento:

systemctl list-units -t service

Esimerkiksi CentOS:n oletusminimiasennuksessa on oletuksena asennettuna Postfix-daemon, joka toimii portin 25 pääpalvelimen nimellä. Poista Postfix-verkkopalvelu siltä varalta, että laitettasi ei käytetä sähköpostipalvelimena.

yum remove postfix

16. Salaa lähetetyt tiedot

Älä käytä suojaamattomia protokollia etäkäyttöön tai tiedostojen siirtoon, kuten Telnet, FTP, tai muita vain tekstin korkeita protokollia, kuten SMTP, HTTP, NFS tai SMB, jotka oletusarvoisesti ei salaa todennusistuntoja tai lähetettyjä tietoja.

Käytä vain sftp:tä, scp:tä tiedostojen siirtoon ja SSH:ta tai VNC:tä SSH-tunneleissa etäkonsoliyhteyksiin tai GUI-käyttöön.

VNC-konsolin tunneloimiseksi SSH:n kautta käytä alla olevaa esimerkkiä, joka välittää VNC-portin 5901 etäkoneelta paikalliseen koneellesi:

ssh -L 5902:localhost:5901 remote_machine

Suorita alla oleva komento paikallisella koneella virtuaalisen yhteyden muodostamiseksi etäpäätepisteeseen.

vncviewer localhost:5902

17. Verkkoporttien skannaus

Suorita ulkoisten porttien tarkistuksia Nmap-työkalulla etäjärjestelmästä lähiverkon kautta. Tämän tyyppistä tarkistusta voidaan käyttää verkon haavoittuvuuksien tarkistamiseen tai palomuurin sääntöjen testaamiseen.

nmap -sT -O 192.168.1.10

18. Pakettisuodatuspalomuuri

Käytä palomuuri-apuohjelmaa järjestelmäporttien suojaamiseen, tiettyjen palveluporttien avaamiseen tai sulkemiseen, erityisesti tunnettuihin portteihin (<1024).

Asenna, käynnistä, ota käyttöön ja luettele palomuurisäännöt antamalla seuraavat komennot:

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

19. Tarkista protokollapaketit Tcpdumpilla

Käytä tcpdump-apuohjelmaa haistaaksesi verkkopaketteja paikallisesti ja tarkistaaksesi niiden sisällön epäilyttävän liikenteen varalta (lähde-kohdeportit, TCP/IP-protokollat, toisen kerroksen liikenne, epätavalliset ARP-pyynnöt).

Voit analysoida paremmin tcpdump-siepatun tiedoston käyttämällä kehittyneempää ohjelmaa, kuten Wireshark.

tcpdump -i eno16777736 -w tcpdump.pcap

20. Estä DNS-hyökkäykset

Tarkista ratkaisusi sisältö, yleensä /etc/resolv.conf-tiedosto, joka määrittää niiden DNS-palvelimien IP-osoitteet, joita sen tulee käyttää verkkotunnusten kyselyyn, jotta vältytään ihmisiltä - keskitason hyökkäykset, tarpeeton liikenne juuri DNS-palvelimille, huijaus tai DOS-hyökkäyksen luominen.

Tämä on vasta ensimmäinen osa. Seuraavassa osassa käsitellään muita CentOS 8/7 -tietoturvavinkkejä.