20 CentOS-serveri karastamisnõuannet - 1. osa


See õpetus hõlmab ainult CentOS 8/7 üldiseid turvanõuandeid, mida saab kasutada süsteemi karastamiseks. Kontrollnimekirja näpunäited on mõeldud kasutamiseks peamiselt erinevat tüüpi paljasmetallist serverites või võrguteenuseid pakkuvates masinates (füüsilistes või virtuaalsetes).

Mõnda näpunäidet saab edukalt rakendada ka üldotstarbelistele masinatele, näiteks lauaarvutid, sülearvutid ja kaardisuurused üheplaadilised arvutid (Raspberry Pi).

  • CentOS 8 minimaalne installimine
  • CentOS 7 minimaalne installimine

1. Füüsiline kaitse

Lukustage juurdepääs oma serveriruumidele, kasutage riiulite lukustamist ja videovalvet. Võtke arvesse, et mis tahes füüsiline juurdepääs serveriruumidele võib teie seadet ohustada tõsiste turbeprobleemidega.

BIOS-i paroole saab muuta emaplaadil olevate džemprite lähtestamise või CMOS-i aku lahtiühendamise teel. Samuti võib sissetungija varastada kõvakettaid või otse kinnitada uued kõvakettad emaplaadi liidestele (SATA, SCSI jne), käivitada Linuxi live-distro abil ja kloonida või kopeerida andmeid ilma tarkvara jälgi jätmata.

2. Vähendage luuramise mõju

Väga tundlike andmete korral peaksite tõenäoliselt kasutama täiustatud füüsilist kaitset, näiteks serveri paigutamine ja lukustamine TEMPEST-i lahendusse, et minimeerida süsteemi nuhkimise mõju raadio- või elektrilekke kaudu.

3. Turvaline BIOS/UEFI

Alustage masina karastamise protsessi, kindlustades BIOS/UEFI seaded, määrake eriti BIOS/UEFI parool ja keelake alglaadimisseadmed (CD, DVD, keelake USB-tugi), et vältida volitamata kasutajate süsteemi BIOS-i seadete muutmist või muutmist alglaadimisseadme prioriteet ja masina alglaadimine asendusmeediumilt.

Seda tüüpi muudatuste rakendamiseks oma masinas peate konkreetsete juhiste saamiseks lugema emaplaadi tootja juhendit.

4. Turvaline alglaadur

Seadistage GRUB-parool, et pahatahtlikud kasutajad ei saaks kerneli alglaadimisjärjestust ega käivitustasemeid rikkuda, kerneli parameetreid muuta ega süsteemi ühe kasutaja režiimi käivitada, et teie süsteemi kahjustada ja lähtestada root-parool privilegeeritud kontrolli saamiseks.

5. Kasutage eraldi ketaspartitsioone

CentOS-i installimisel tootmisserveritena mõeldud süsteemidele kasutage süsteemi järgmistes osades spetsiaalseid partitsioone või spetsiaalseid kõvakettaid:

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

6. Kasutage LVM-i ja RAID-i koondamise ja failisüsteemi kasvu jaoks

Partitsioon/var on koht, kus logisõnumid kettale kirjutatakse. See süsteemi osa võib eksponentsiaalselt kasvada tiheda liiklusega serverites, mis paljastavad võrguteenuseid, näiteks veebiservereid või failiservereid.

Seega kasutage/var jaoks suurt sektsiooni või kaaluge selle sektsiooni seadistamist loogiliste mahtude (LVM) abil või ühendage mitu füüsilist ketast üheks suuremaks virtuaalseks RAID 0 seadmeks, et säilitada suuri andmemahte. Andmete saamiseks kaaluge koondamise võimalust kasutada LVM-paigutust RAID 1 taseme kohal.

Plaatidele LVM-i või RAID-i seadistamiseks järgige meie kasulikke juhiseid:

  1. Seadistage kettamälu LVM-iga Linuxis
  2. LVM-ketaste loomine vgcreate, lvcreate ja lvextend abil
  3. Ühendage mitu ketast üheks suureks virtuaalseks salvestusruumiks
  4. RAID 1 loomine Linuxis kahe ketta abil

7. Andmevahemike turvaliseks muutmiseks muutke fstabi suvandeid

Eraldage andmete salvestamiseks mõeldud sektsioonid ja takistage seda tüüpi partitsioonide programmide, seadmefailide või setuid-bitide käivitamist, lisades fstab-failile järgmised valikud, nagu on näidatud allpool olevas katkendis:

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

Privileegide eskaleerimise ja meelevaldse skripti käivitamise vältimiseks looge/tmp jaoks eraldi partitsioon ja ühendage see nosuid, nodev ja noexec.

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

8. Krüptige kõvakettad ploki tasemel LUKS-iga

Tundlike andmete nuhkimise kaitsmiseks masina kõvaketastele füüsilise juurdepääsu korral. Soovitan teil õppida ketta krüptimist, lugedes meie artiklit Linuxi kõvaketta andmete krüptimine LUKS-iga.

9. Kasutage PGP-d ja avaliku võtme krüptograafiat

Plaatide krüptimiseks kasutage tundlike failide krüptimiseks ja dekrüpteerimiseks parooliga PGP ja avaliku võtme krüptograafiat või OpenSSL-i käsku, nagu on näidatud käesolevas artiklis Krüptitud Linuxi süsteemimälu konfigureerimine.

10. Installige ainult minimaalselt vajalikke pakette

Pakettide haavatavuse vältimiseks vältige ebaoluliste või tarbetute programmide, rakenduste või teenuste installimist. See võib vähendada ohtu, et tarkvara rikkumine võib viia teiste rakenduste, süsteemi osade või isegi failisüsteemide ohustamiseni, mis võib lõpuks viia andmete rikkumiseni või andmete kadumiseni.

11. Uuendage süsteemi sageli

Värskendage süsteemi regulaarselt. Hoidke Linuxi kernel sünkroonis uusimate turvapaikade ja kogu installitud tarkvara uusimate versioonidega ajakohasena, väljastades järgmise käsu:

# yum update

12. Keela Ctrl + Alt + Del

Selleks, et vältida kasutajate taaskäivitamist serverist, kui neil on füüsiline juurdepääs klaviatuurile või kaugkonsoolirakenduse või virtualiseeritud konsooli (KVM, tarkvaraliidese virtualiseerimine) kaudu, peaksite keelama klahvi Ctrl + Alt + Del järjestuse, käivitades alloleva käsu.

# systemctl mask ctrl-alt-del.target 

13. Eemaldage mittevajalikud tarkvarapaketid

Paigaldage oma arvutile minimaalselt vajalik tarkvara. Ärge kunagi installige lisaprogramme ega -teenuseid. Installige pakette ainult usaldusväärsetest või ametlikest hoidlatest. Kasutage süsteemi minimaalset installimist juhul, kui masin peaks kogu oma elu serverina töötama.

Installitud pakettide kontrollimine ühe järgmise käsu abil:

# rpm -qa

Koostage kõigi installitud pakettide kohalik loend.

# yum list installed >> installed.txt

Vaadake kasutu tarkvara loendit ja kustutage pakett, väljastades järgmise käsu:

# yum remove package_name

14. Taaskäivitage Systemd Services pärast Daemoni värskendusi

Uute värskenduste rakendamiseks kasutage SystemD-teenuse taaskäivitamiseks järgmist käskude näidet.

# systemctl restart httpd.service

15. Eemaldage mittevajalikud teenused

Tuvastage teenused, mis konkreetsetes pordides kuulavad, järgmise ss-käsu abil.

# ss -tulpn

Kõigi installitud teenuste loetlemiseks nende väljundi olekuga väljastage järgmine käsk:

# systemctl list-units -t service

Näiteks on CentOS-i vaikimisi minimaalsel installimisel vaikimisi installitud Postfixi deemon, mis töötab pordi 25 all pealiku nimega. Eemaldage Postfixi võrguteenus, juhul kui teie masinat ei kasutata meiliserverina.

# yum remove postfix

16. Edastatud andmete krüptimine

Ärge kasutage kaugjuurdepääsu või failiedastuse jaoks turvamata protokolle, näiteks Telnet, FTP või muid lihtsat teksti sisaldavaid protokolle nagu SMTP, HTTP, NFS või SMB, mis vaikimisi ei krüpteeri autentimisseansse ega saadetud andmeid.

Kasutage failiedastuseks ainult scp-d ja SSH-i või VNC-d SSH-tunnelite kaudu konsooli kaugühenduste või graafilise kasutajaliidese juurdepääsu jaoks.

SSN-i kaudu VNC-konsooli tunneldamiseks kasutage järgmist näidet, mis edastab VNC-pordi 5901 kaugarvutist teie kohalikku masinasse:

# ssh -L 5902:localhost:5901 remote_machine

Kohalikus masinas käivitage alltoodud käsk, et virtuaalselt ühendust luua kaugpääsuga.

# vncviewer localhost:5902

17. Võrgupordi skaneerimine

Tehke väliste pordikontrollide abil Nmap-tööriist kaugsüsteemist LAN-i kaudu. Seda tüüpi skannimist saab kasutada võrgu haavatavuste kontrollimiseks või tulemüüri reeglite testimiseks.

# nmap -sT -O 192.168.1.10

18. Pakettide filtreerimise tulemüür

Kasutage tulemüüri utiliiti süsteemiportide kaitsmiseks, konkreetsete teenuseportide, eriti tuntud porti (<1024) avamiseks või sulgemiseks.

Paigaldage, käivitage, lubage ja loetlege tulemüüri reeglid, väljastades järgmised käsud:

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

19. Kontrollige Tcpdumpiga protokollipakette

Kasutage utiliiti tcpdump võrgupakettide kohalikuks nuusutamiseks ja nende sisu kontrollimiseks kahtlase liikluse suhtes (lähte-sihtkoha pordid, TCP/IP-protokollid, teise kihi liiklus, ebatavalised ARP-taotlused).

Tcpdumpi jäädvustatud faili paremaks analüüsimiseks kasutage täpsemat programmi nagu Wireshark.

# tcpdump -i eno16777736 -w tcpdump.pcap

20. Vältige DNS-i rünnakuid

Kontrollige oma resolveri sisu, tavaliselt faili /etc/resolv.conf, mis määratleb nende DNS-serverite IP-aadressi, mida nad peaksid kasutama domeeninimede pärimiseks, et vältida keskeltläbi rünnakuid, tarbetut liiklust juurida DNS-serverid, võltsida või luua DOS-rünnak.

See on alles esimene osa. Järgmises osas käsitleme CentOS 8/7 muid turvanõuandeid.