20 CentOS servera cietēšanas drošības padomi - 1. daļa


Šajā apmācībā ir ietverti tikai vispārīgi CentOS 8/7 drošības padomi, kurus var izmantot sistēmas sacietēšanai. Kontrolsaraksta padomi ir paredzēti izmantošanai galvenokārt dažāda veida kailmetāla serveros vai mašīnās (fiziskās vai virtuālās), kas nodrošina tīkla pakalpojumus.

Tomēr dažus no padomiem var veiksmīgi izmantot arī vispārējas nozīmes mašīnām, piemēram, galddatoriem, klēpjdatoriem un kartes izmēra vienplates datoriem (Raspberry Pi).

  • CentOS 8 minimālā instalēšana
  • CentOS 7 minimālā instalēšana

1. Fiziskā aizsardzība

Bloķējiet piekļuvi servera telpām, izmantojiet plauktu bloķēšanu un video novērošanu. Ņemiet vērā, ka jebkura fiziska piekļuve servera telpām var pakļaut jūsu mašīnu nopietnām drošības problēmām.

BIOS paroles var mainīt, atiestatot džemperus mātesplatē vai atvienojot CMOS akumulatoru. Tāpat iebrucējs var nozagt cietos diskus vai tieši pievienot jaunus cietos diskus mātesplates saskarnēm (SATA, SCSI utt.), Sāknēt ar Linux live distro un klonēt vai kopēt datus, neatstājot programmatūras pēdas.

2. Samaziniet spiegošanas ietekmi

Ļoti sensitīvu datu gadījumā, iespējams, jāizmanto uzlabota fiziskā aizsardzība, piemēram, servera ievietošana un bloķēšana TEMPEST risinājumā, lai samazinātu sistēmas spiegošanas radiosakaru vai elektrisko noplūdes efektu ietekmi.

3. Droša BIOS/UEFI

Sāciet datora sacietēšanas procesu, nodrošinot BIOS/UEFI iestatījumus, it īpaši iestatiet BIOS/UEFI paroli un atspējojiet sāknēšanas multivides ierīces (CD, DVD, atspējojiet USB atbalstu), lai nepieļautu, ka nesankcionēti lietotāji var mainīt sistēmas BIOS iestatījumus vai mainīt sāknēšanas ierīces prioritāte un mašīnas palaišana no alternatīva datu nesēja.

Lai piemērotu šāda veida izmaiņas savai mašīnai, jums jāiepazīstas ar mātesplates ražotāja rokasgrāmatu, lai iegūtu konkrētas instrukcijas.

4. Nostipriniet sāknēšanas iekrāvēju

Iestatiet GRUB paroli, lai ļaunprātīgi lietotāji nevarētu mainīt kodola sāknēšanas secību vai palaišanas līmeņus, rediģēt kodola parametrus vai palaist sistēmu viena lietotāja režīmā, lai kaitētu jūsu sistēmai un atiestatītu saknes paroli, lai iegūtu priviliģētu kontroli.

5. Izmantojiet atsevišķas diska nodalījumus

Instalējot CentOS sistēmās, kas paredzētas ražošanas serveriem, šādām sistēmas daļām izmantojiet īpašus nodalījumus vai cietos diskus:

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

6. Izmantojiet LVM un RAID atlaišanai un failu sistēmas izaugsmei

Partition/var ir vieta, kur žurnāla ziņojumi tiek ierakstīti diskā. Šī sistēmas daļa var strauji pieaugt intensīvas satiksmes serveros, kas atklāj tīkla pakalpojumus, piemēram, tīmekļa serverus vai failu serverus.

Tādējādi izmantojiet lielu nodalījumu mapei/var vai apsveriet šī nodalījuma iestatīšanu, izmantojot loģiskos sējumus (LVM), vai apvienojiet vairākus fiziskos diskus vienā lielākā virtuālā RAID 0 ierīcē, lai uzturētu lielu datu apjomu. Lai iegūtu datus, apsveriet iespēju izmantot LVM izkārtojumu RAID 1 līmeņa augšpusē.

Lai diskos iestatītu LVM vai RAID, izpildiet mūsu noderīgās rokasgrāmatas:

  1. Diska krātuves iestatīšana ar LVM operētājsistēmā Linux
  2. Izveidojiet LVM diskus, izmantojot vgcreate, lvcreate un lvextend
  3. Apvienojiet vairākus diskus vienā lielā virtuālā krātuvē
  4. RAID 1 izveide, izmantojot divus diskus Linux sistēmā

7. Mainiet fstab opcijas, lai aizsargātu datu nodalījumus

Atdaliet nodalījumus, kas paredzēti datu glabāšanai, un novērsiet programmu, ierīces failu vai setuid bitu izpildi šāda veida nodalījumos, pievienojot fstab failam šādas opcijas, kā parādīts zemāk esošajā fragmentā:

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

Lai novērstu privilēģiju eskalāciju un patvaļīgu skripta izpildi, izveidojiet/tmp atsevišķu nodalījumu un pievienojiet to kā nosuid, nodev un noexec.

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

8. Šifrējiet cietos diskus bloka līmenī ar LUKS

Lai aizsargātu sensitīvu datu snoopēšanu fiziskas piekļuves gadījumā mašīnas cietajiem diskiem. Es iesaku jums uzzināt, kā šifrēt disku, izlasot mūsu rakstu Linux cietā diska datu šifrēšana ar LUKS.

9. Izmantojiet PGP un publiskās atslēgas kriptogrāfiju

Lai šifrētu diskus, izmantojiet PGP un publiskās atslēgas kriptogrāfiju vai OpenSSL komandu, lai šifrētu un atšifrētu sensitīvus failus ar paroli, kā parādīts šajā rakstā Šifrētās Linux sistēmas krātuves konfigurēšana.

10. Instalējiet tikai minimālo nepieciešamo iepakojumu daudzumu

Izvairieties no nesvarīgu vai nevajadzīgu programmu, lietojumprogrammu vai pakalpojumu instalēšanas, lai izvairītos no paketes ievainojamības. Tas var samazināt risku, ka programmatūras daļas kompromiss var izraisīt citu lietojumprogrammu, sistēmas daļu vai pat failu sistēmu apdraudēšanu, kas galu galā var izraisīt datu korupciju vai datu zudumu.

11. Bieži atjauniniet sistēmu

Regulāri atjauniniet sistēmu. Uzturiet Linux kodolu sinhronizācijā ar jaunākajiem drošības ielāpiem un visu instalēto programmatūru ar jaunākajām versijām, izsniedzot šādu komandu:

# yum update

12. Atspējot Ctrl + Alt + Del

Lai lietotāji netiktu restartēti, kad viņiem ir fiziska piekļuve tastatūrai vai izmantojot attālās konsoles lietojumprogrammu vai virtualizēto konsoli (KVM, programmatūras saskarnes virtualizēšana), jums jāatspējo taustiņš Ctrl + Alt + Del secību, izpildot zemāk esošo komandu.

# systemctl mask ctrl-alt-del.target 

13. Noņemiet nevajadzīgās programmatūras pakotnes

Instalējiet minimālu programmatūru, kas nepieciešama jūsu mašīnai. Nekad neinstalējiet papildu programmas vai pakalpojumus. Instalējiet pakotnes tikai no uzticamām vai oficiālām krātuvēm. Izmantojiet minimālu sistēmas instalēšanu, ja mašīnai ir paredzēts kalpot visu servera laiku.

Pārbaudiet instalētās paketes, izmantojot vienu no šīm komandām:

# rpm -qa

Izveidojiet vietējo visu instalēto pakotņu sarakstu.

# yum list installed >> installed.txt

Skatiet bezjēdzīgas programmatūras sarakstu un izdzēsiet pakotni, izsniedzot šādu komandu:

# yum remove package_name

14. Pēc Daemon Updates restartējiet Systemd Services

Izmantojiet šo komandu piemēru, lai restartētu systemd pakalpojumu, lai lietotu jaunus atjauninājumus.

# systemctl restart httpd.service

15. Noņemiet nevajadzīgos pakalpojumus

Izmantojot šo komandu ss, identificējiet pakalpojumus, kas klausās noteiktās ostās.

# ss -tulpn

Lai uzskaitītu visus instalētos pakalpojumus ar to izvades statusu, izsniedziet šādu komandu:

# systemctl list-units -t service

Piemēram, CentOS noklusējuma minimālā instalācija nāk pēc noklusējuma ar Postfix dēmonu, kas darbojas ar kapteiņa vārdu zem porta 25. Noņemiet Postfix tīkla pakalpojumu, ja jūsu mašīna netiks izmantota kā pasta serveris.

# yum remove postfix

16. Šifrēt pārsūtītos datus

Neizmantojiet nenodrošinātus protokolus attālinātai piekļuvei vai failu pārsūtīšanai, piemēram, Telnet, FTP vai citus vienkārša teksta protokolus, piemēram, SMTP, HTTP, NFS vai SMB, kas pēc noklusējuma nešifrē autentifikācijas sesijas vai nosūtītos datus.

Failu pārsūtīšanai izmantojiet tikai scp, bet SSH vai VNC - izmantojot SSH tuneļus - attālajiem konsoles savienojumiem vai GUI piekļuvei.

Lai tuneļotu VNC konsoli, izmantojot SSH, izmantojiet šo piemēru, kas pārsūta VNC portu 5901 no attālās mašīnas uz vietējo mašīnu:

# ssh -L 5902:localhost:5901 remote_machine

Vietējā mašīnā palaidiet zemāk esošo komandu, lai virtuāli izveidotu savienojumu ar attālo galapunktu.

# vncviewer localhost:5902

17. Tīkla portu skenēšana

Veiciet ārējo portu pārbaudes, izmantojot Nmap rīku no attālās sistēmas, izmantojot LAN. Šāda veida skenēšanu var izmantot, lai pārbaudītu tīkla ievainojamību vai pārbaudītu ugunsmūra kārtulas.

# nmap -sT -O 192.168.1.10

18. Pakešu filtrēšanas ugunsmūris

Izmantojiet firewalld utilītu, lai aizsargātu sistēmas porti, atvērtu vai aizvērtu konkrētu pakalpojumu porti, īpaši labi zināmus portus (<1024).

Instalējiet, palaidiet, iespējojiet un uzskaitiet ugunsmūra kārtulas, izsniedzot šādas komandas:

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

19. Pārbaudiet protokola paketes ar Tcpdump

Izmantojiet tcpdump utilītu, lai lokāli šņāktu tīkla paketes un pārbaudītu to saturu, vai tajā nav aizdomīgas trafika (avota-galamērķa porti, TCP/IP protokoli, otrā slāņa trafika, neparasti ARP pieprasījumi).

Lai labāk analizētu tcpdump uzņemto failu, izmantojiet modernāku programmu, piemēram, Wireshark.

# tcpdump -i eno16777736 -w tcpdump.pcap

20. Novērst DNS uzbrukumus

Pārbaudiet izšķirtspējas saturu, parasti failā /etc/resolv.conf, kas nosaka DNS serveru IP adresi, kas tai jāizmanto domēna vārdu vaicāšanai, lai izvairītos no uzbrukumiem starp cilvēku, nevajadzīgas datplūsmas saknes DNS serverus, apmānīt vai izveidot DOS uzbrukumu.

Šī ir tikai pirmā daļa. Nākamajā daļā mēs apspriedīsim citus CentOS 8/7 drošības padomus.