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:
- Asenna levytallennus LVM:llä Linuxissa
- Luo LVM-levyjä vgcreate-, lvcreate- ja lvextend-ohjelmilla
- Yhdistä useita levyjä yhdeksi suureksi virtuaalitallennustilaksi
- 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ä.