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:
- Diska krātuves iestatīšana ar LVM operētājsistēmā Linux
- Izveidojiet LVM diskus, izmantojot vgcreate, lvcreate un lvextend
- Apvienojiet vairākus diskus vienā lielā virtuālā krātuvē
- 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.