25 „Linux“ serverių saugos stiprinimo patarimai


Visi sako, kad Linux yra saugus pagal numatytuosius nustatymus, ir sutinka su tam tikru mastu (tai diskutuotinos temos). Tačiau pagal numatytuosius nustatymus „Linux“ yra įdiegtas saugos modelis. Reikia ją suderinti ir pritaikyti pagal savo poreikius, o tai gali padėti padaryti sistemą saugesnę. „Linux“ yra sunkiau valdyti, tačiau ji siūlo daugiau lankstumo ir konfigūravimo parinkčių.

Apsaugoti sistemą gamyboje nuo hakerių ir krekerių rankų yra sudėtinga užduotis sistemos administratoriui. Tai pirmasis mūsų straipsnis, susijęs su „Kaip apsaugoti „Linux“ dėžutę“ arba „Linux dėžutės grūdinimas“. Šiame įraše paaiškinsime 25 naudingus patarimus ir gudrybes, kaip apsaugoti jūsų „Linux“ sistemą. Tikimės, kad žemiau pateikti patarimai ir gudrybės padės jums šiek tiek apsaugoti sistemą.

1. Fizinės sistemos saugumas

Sukonfigūruokite BIOS, kad išjungtumėte paleidimą iš CD/DVD, Išorinių įrenginių, Floppy Drive BIOS<. Tada įjunkite BIOS slaptažodį ir apsaugokite GRUB slaptažodžiu, kad apribotumėte fizinę prieigą prie sistemos.

  1. Norėdami apsaugoti „Linux“ serverius, nustatykite GRUB slaptažodį

2. Disko skaidiniai

Svarbu turėti skirtingus skaidinius, kad būtų užtikrintas didesnis duomenų saugumas, jei įvyktų kokia nors nelaimė. Sukūrus skirtingus skirsnius, duomenis galima atskirti ir grupuoti. Įvykus netikėtai avarijai, bus sugadinti tik tos skaidinio duomenys, o kitų skaidinių duomenys išliks. Įsitikinkite, kad turite turėti šiuos atskirus skaidinius ir įsitikinkite, kad trečiųjų šalių programos turi būti įdiegtos atskirose failų sistemose pagal /opt.

/
/boot
/usr
/var
/home
/tmp
/opt

3. Sumažinkite paketus, kad sumažintumėte pažeidžiamumą

Ar tikrai norite, kad būtų įdiegtos visų rūšių paslaugos? Rekomenduojama vengti diegti nenaudingus paketus, kad būtų išvengta paketų pažeidžiamumo. Taip gali būti sumažinta rizika, kad vienos paslaugos kompromitavimas gali lemti kitų paslaugų kompromitavimą. Raskite ir pašalinkite arba išjunkite nepageidaujamas paslaugas iš serverio, kad sumažintumėte pažeidžiamumą. Naudokite komandą chkconfig, kad sužinotumėte paslaugas, kurios veikia 3 vykdymo lygiu.

/sbin/chkconfig --list |grep '3:on'

Kai sužinosite, kad veikia bet kokia nepageidaujama paslauga, išjunkite jas naudodami šią komandą.

chkconfig serviceName off

Naudokite RPM paketų tvarkyklę, pvz., „yum“ arba „apt-get“, kad pateiktumėte visus sistemoje įdiegtus paketus ir pašalintumėte juos naudodami sekančią komandą.

yum -y remove package-name
sudo apt-get remove package-name
  1. 5 chkconfig komandų pavyzdžiai
  2. 20 praktinių RPM komandų pavyzdžių
  3. 20 „Linux YUM“ komandų, skirtų „Linux“ paketų valdymui
  4. 25 APT-GET ir APT-CACHE komandos paketų valdymui

4. Pažymėkite Klausymo tinklo prievadus

Naudodami tinklo komandą netstat galite peržiūrėti visus atidarytus prievadus ir susijusias programas. Kaip minėjau aukščiau, naudokite komandą „chkconfig“, kad išjungtumėte visas nepageidaujamas tinklo paslaugas iš sistemos.

netstat -tulpn
  1. 20 „Netstat“ komandų, skirtų tinklo valdymui sistemoje „Linux“.

5. Naudokite Secure Shell (SSH)

Telnet ir rlogin protokolai naudoja paprastą tekstą, o ne užšifruotą formatą, kuris yra saugumo pažeidimas. SSH yra saugus protokolas, kuris naudoja šifravimo technologiją ryšiui su serveriu.

Niekada neprisijunkite tiesiogiai kaip root, nebent tai būtina. Norėdami vykdyti komandas, naudokite „sudo“. sudo yra nurodyti faile /etc/sudoers, taip pat galima redaguoti naudojant „visudo“ programą, kuri atidaroma VI redaktoriuje.

Taip pat rekomenduojama pakeisti numatytąjį SSH 22 prievado numerį kitu aukštesnio lygio prievado numeriu. Atidarykite pagrindinį SSH konfigūracijos failą ir nustatykite kai kuriuos toliau nurodytus parametrus, kad apribotumėte naudotojų prieigą.

vi /etc/ssh/sshd_config
Išjungti root prisijungimą
PermitRootLogin no
Leisti tik konkrečius vartotojus
AllowUsers username
Naudokite SSH protokolo 2 versiją
Protocol 2
  1. 5 geriausios SSH serverio apsaugos ir apsaugos praktikos

6. Atnaujinkite sistemą

Visada atnaujinkite sistemą su naujausių leidimų pataisomis, saugos pataisymais ir branduoliu, kai jis pasiekiamas.

yum updates
yum check-update

7. Užrakinti Cronjobs

Cron turi savo integruotą funkciją, kuri leidžia nurodyti, kas gali ir kas nenorėti vykdyti darbų. Tai valdoma naudojant failus, pavadintus /etc/cron.allow ir /etc/cron.deny. Norėdami užrakinti vartotoją naudodami cron, tiesiog pridėkite naudotojų vardus cron.deny ir leiskite vartotojui paleisti cron add faile cron.allow. Jei norite neleisti visiems vartotojams naudoti cron, prie failo cron.deny pridėkite eilutę ALL.

echo ALL >>/etc/cron.deny
  1. 11 „Cron“ planavimo pavyzdžių sistemoje „Linux“.

8. Norėdami aptikti, išjunkite USB atmintinę

Dažnai atsitinka taip, kad norime apriboti naudotojų galimybę sistemose naudoti USB atmintinę, kad apsaugotume ir apsaugotume duomenis nuo vagysčių. Sukurkite failą /etc/modprobe.d/no-usb ir pridėjus žemiau esančios eilutės USB saugykla nebus aptikta.

install usb-storage /bin/true

9. Įjunkite SELinux

Patobulintas saugumas Linux (SELinux) yra privalomas prieigos kontrolės saugos mechanizmas, pateikiamas branduolyje. Išjungus SELinux, iš sistemos pašalinamas saugos mechanizmas. Prieš pašalindami gerai pagalvokite, jei jūsų sistema prijungta prie interneto ir prieinama viešai, tada pagalvokite apie tai daugiau.

SELinux pateikia tris pagrindinius veikimo režimus ir jie yra.

  1. Įgyvendinimas: tai numatytasis režimas, įgalinantis ir įgyvendinantis SELinux saugos politiką įrenginyje.
  2. Leidžiama: šiuo režimu SELinux neįgyvendins saugos politikos sistemoje, tik įspės ir registruos veiksmus. Šis režimas labai naudingas sprendžiant su SELinux susijusias problemas.
  3. Išjungta: SELinux išjungta.

Dabartinę SELinux režimo būseną galite peržiūrėti komandų eilutėje naudodami „system-config-selinux“, „getenforce“ arba „ sestatus“ komandos.

sestatus

Jei jis išjungtas, įgalinkite SELinux naudodami šią komandą.

setenforce enforcing

Jį taip pat galima tvarkyti iš failo /etc/selinux/config, kur galite jį įjungti arba išjungti.

10. Pašalinkite KDE/GNOME darbalaukius

Nereikia paleisti X lango stalinių kompiuterių, pvz., KDE arba GNOME jūsų skirtame LAMP serveryje. Galite juos pašalinti arba išjungti, kad padidintumėte serverio saugumą ir našumą. Norėdami išjungti paprastą, atidarykite failą /etc/inittab ir nustatykite paleidimo lygį į 3. Jei norite jį visiškai pašalinti iš sistemos, naudokite toliau pateiktą komandą.

yum groupremove "X Window System"

11. Išjunkite IPv6

Jei nenaudojate IPv6 protokolo, turėtumėte jį išjungti, nes daugumai programų ar strategijų nereikia IPv6 protokolo ir šiuo metu jo nereikia serveryje. . Eikite į tinklo konfigūracijos failą ir pridėkite šias eilutes, kad jį išjungtumėte.

vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no

12. Apriboti vartotojų naudojimą senais slaptažodžiais

Tai labai naudinga, jei norite neleisti vartotojams naudoti tuos pačius senus slaptažodžius. Senasis slaptažodžio failas yra adresu /etc/security/opasswd. Tai galima pasiekti naudojant PAM modulį.

Atidarykite failą /etc/pam.d/system-auth, esantį RHEL/CentOS/Fedora.

vi /etc/pam.d/system-auth

Skiltyje Ubuntu/Debian/Linux Mint atidarykite failą „/etc/pam.d/common-password“.

vi /etc/pam.d/common-password

Pridėkite šią eilutę prie skilties „auth“.

auth        sufficient    pam_unix.so likeauth nullok

Pridėkite šią eilutę prie skilties slaptažodis, kad neleistumėte vartotojui pakartotinai naudoti paskutinių 5 savo slaptažodžių.

password   sufficient    pam_unix.so nullok use_authtok md5 shadow remember=5

Serveris įsimena tik paskutinius 5 slaptažodžius. Jei bandėte naudoti bet kurį iš paskutinių 5 senų slaptažodžių, gausite klaidos pranešimą, pvz.

Password has been already used. Choose another.

13. Kaip patikrinti vartotojo slaptažodžio galiojimo laiką

„Linux“ naudotojo slaptažodžiai saugomi „/etc/shadow“ faile šifruotu formatu. Norėdami patikrinti vartotojo slaptažodžio galiojimo laiką, turite naudoti komandą pakeisti. Jame rodoma slaptažodžio galiojimo pabaigos informacija ir paskutinė slaptažodžio keitimo data. Šią informaciją sistema naudoja, kad nuspręstų, kada vartotojas turi pakeisti slaptažodį.

Norėdami peržiūrėti bet kokią esamą naudotojo senėjimo informaciją, pvz., galiojimo pabaigos datą ir laiką, naudokite šią komandą.

#chage -l username

Norėdami pakeisti bet kurio vartotojo slaptažodžio senėjimą, naudokite šią komandą.

#chage -M 60 username
#chage -M 60 -m 7 -W 7 userName
Parametrai
  1. -M Nustatykite maksimalų dienų skaičių
  2. -m Nustatykite minimalų dienų skaičių
  3. -W Nustatykite įspėjimo dienų skaičių

14. Užrakinkite ir atrakinkite paskyrą rankiniu būdu

Užrakinimo ir atrakinimo funkcijos yra labai naudingos, užuot pašalinę paskyrą iš sistemos, galite ją užrakinti savaitei ar mėnesiui. Norėdami užrakinti konkretų vartotoją, galite naudoti komandą sekti.

passwd -l accountName

Pastaba : užrakintas naudotojas vis tiek pasiekiamas tik root naudotojui. Užrakinimas atliekamas pakeičiant šifruotą slaptažodį (!) eilute. Jei kas nors bandys pasiekti sistemą naudodamas šią paskyrą, jis gaus klaidą, panašią į toliau pateiktą.

su - accountName
This account is currently not available.

Norėdami atrakinti arba įgalinti prieigą prie užrakintos paskyros, naudokite komandą kaip. Bus pašalinta (!) eilutė su užšifruotu slaptažodžiu.

passwd -u accountName

15. Stipresnių slaptažodžių vykdymas

Nemažai vartotojų naudoja minkštus arba silpnus slaptažodžius, todėl jų slaptažodis gali būti nulaužtas naudojant žodyną pagrįstą arba žiaurios jėgos atakas. Modulis „pam_cracklib“ pasiekiamas PAM (Pluggable Authentication Modules) modulių krūvoje, kuri privers vartotoją nustatyti stiprius slaptažodžius. Atidarykite toliau pateiktą failą naudodami redaktorių.

Taip pat skaitykite:

vi /etc/pam.d/system-auth

Ir pridėkite eilutę naudodami kredito parametrus kaip (lcredit, credit, dcredit ir (arba) credit atitinkamai mažosiomis raidėmis) , didžiosios raidės, skaitmuo ir kt.)

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

16. Įgalinkite „Iptables“ (ugniasienė)

Labai rekomenduojama įjungti Linux užkardą, kad būtų apsaugota neteisėta prieiga prie serverių. Taikykite taisykles iptables norėdami filtruoti gaunamus, išeinančius ir persiuntimo paketus. Konkrečiame udp/tcp prievado numeryje galime nurodyti šaltinio ir paskirties adresą, kurį norite leisti arba uždrausti.

  1. Pagrindinis IPTables vadovas ir patarimai

17. Inittab išjunkite Ctrl+Alt+Delete

Daugumoje Linux platinimų paspaudus CTRL-ALT-DELETE sistema bus paleista iš naujo. Taigi, jei kas nors per klaidą tai padarys, nederėtų įjungti šią parinktį bent jau gamybos serveriuose.

Tai apibrėžta faile „/etc/inittab“, jei atidžiai pažiūrėsite į tą failą, pamatysite eilutę, panašią į toliau pateiktą. Pagal numatytuosius nustatymus eilutė nėra komentuojama. Turime tai pakomentuoti. Šis konkretus klavišų sekos signalas išjungs sistemą.

Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

18. Tikrinama, ar paskyrose nėra tuščių slaptažodžių

Bet kuri paskyra, turinti tuščią slaptažodį, reiškia, kad ji yra atidaryta neteisėtai prieigai bet kuriam žiniatinklio naudotojui ir yra „Linux“ serverio saugumo dalis. Taigi, turite įsitikinti, kad visos paskyros turi stiprius slaptažodžius ir niekas neturi jokios įgaliotos prieigos. Tuščios slaptažodžio paskyros kelia pavojų saugumui ir gali būti lengvai nulaužtos. Norėdami patikrinti, ar buvo paskyrų su tuščiu slaptažodžiu, naudokite šią komandą.

cat /etc/shadow | awk -F: '($2==""){print $1}'

19. Rodyti SSH reklamjuostę prieš prisijungiant

Visada geriau prieš atliekant SSH autentifikavimą turėti legalią reklamjuostę arba saugos reklamjuostes su tam tikrais saugumo įspėjimais. Norėdami nustatyti tokias reklamjuostes, skaitykite šį straipsnį.

  1. Rodyti SSH įspėjimo pranešimą vartotojams

20. Stebėkite vartotojo veiklą

Jei turite reikalų su daugybe vartotojų, tuomet svarbu rinkti informaciją apie kiekvieno vartotojo veiklą ir jų sunaudotus procesus ir juos analizuoti vėliau arba iškilus kokių nors veikimo, saugumo problemų. Bet kaip galime stebėti ir rinkti informaciją apie naudotojų veiklą.

Yra du naudingi įrankiai, vadinami „psacct“ ir „acct“, naudojami naudotojų veiklai ir procesams sistemoje stebėti. Šie įrankiai veikia sistemos fone ir nuolat seka kiekvieną naudotojo veiklą sistemoje bei išteklius, kuriuos naudoja tokios paslaugos kaip Apache, MySQL, SSH, FTP ir kt. Norėdami gauti daugiau informacijos apie diegimą, konfigūraciją ir naudojimą, apsilankykite toliau pateiktu URL adresu.

  1. Stebėkite vartotojo veiklą naudodami psacct arba acct komandas

21. Reguliariai peržiūrėkite žurnalus

Perkelkite žurnalus į dedikuotą žurnalų serverį, nes tai gali neleisti įsibrovusiems lengvai keisti vietinius žurnalus. Toliau pateikiami bendrieji Linux numatytųjų žurnalo failų pavadinimai ir jų naudojimas:

  1. /var/log/message – kur pasiekiami visos sistemos žurnalai arba esamos veiklos žurnalai.
  2. /var/log/auth.log – autentifikavimo žurnalai.
  3. /var/log/kern.log – branduolio žurnalai.
  4. /var/log/cron.log – „Crond“ žurnalai (cron užduotis).
  5. /var/log/maillog – pašto serverio žurnalai.
  6. /var/log/boot.log – sistemos įkrovos žurnalas.
  7. /var/log/mysqld.log – „MySQL“ duomenų bazės serverio žurnalo failas.
  8. /var/log/secure – autentifikavimo žurnalas.
  9. /var/log/utmp arba /var/log/wtmp : prisijungimo įrašų failas.
  10. /var/log/yum.log: „Yum“ žurnalo failai.

22. Svarbi failo atsarginė kopija

Gamybinėje sistemoje būtina sukurti svarbių failų atsargines kopijas ir saugoti juos saugos saugykloje, nuotolinėje vietoje arba už jos ribų, kad būtų galima atkurti nelaimių atveju.

23. NIC klijavimas

Yra dviejų tipų NIC sujungimo režimai, kuriuos reikia paminėti sujungimo sąsajoje.

  1. mode=0 – „Round Robin“.
  2. mode=1 – aktyvus ir atsarginis

NIC klijavimas padeda išvengti vieno gedimo taško. Sujungdami NIC, sujungiame dvi ar daugiau tinklo eterneto kortelių ir sukuriame vieną virtualią sąsają, kurioje galime priskirti IP adresą, kad galėtume kalbėtis su kitais. serveriai. Mūsų tinklas bus pasiekiamas, jei viena NIC kortelė neveikia arba nebus pasiekiama dėl kokios nors priežasties.

Taip pat skaitykite: sukurkite NIC kanalų sujungimą sistemoje „Linux“.

24. Laikykite /boot kaip tik skaitomą

„Linux“ branduolys ir su juo susiję failai yra kataloge /boot, kuris pagal numatytuosius nustatymus yra skaitomas-rašymas. Pakeitus jį į tik skaityti, sumažėja neteisėto svarbių įkrovos failų modifikavimo rizika. Norėdami tai padaryti, atidarykite failą /etc/fstab.

vi /etc/fstab

Pridėkite šią eilutę apačioje, išsaugokite ir uždarykite.

LABEL=/boot     /boot     ext2     defaults,ro     1 2

Atkreipkite dėmesį, kad turite iš naujo nustatyti skaitymo ir rašymo pakeitimą, jei ateityje reikės atnaujinti branduolį.

25. Ignoruokite ICMP arba Broadcast Request

Pridėkite šią eilutę faile „/etc/sysctl.conf“, kad nepaisytumėte ping arba transliacijos užklausos.

Ignore ICMP request:
net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:
net.ipv4.icmp_echo_ignore_broadcasts = 1

Įkelkite naujus nustatymus arba pakeitimus vykdydami šią komandą

#sysctl -p

Jei anksčiau pateiktame sąraše praleidote kokį nors svarbų saugos ar sugriežtinimo patarimą arba turite bet kurį kitą patarimą, kurį reikia įtraukti į sąrašą. Prašome parašyti savo komentarus mūsų komentarų laukelyje. TecMint visada domisi komentarais, pasiūlymais ir diskusijomis dėl tobulinimo.