Servera droša kon­fi­gu­rē­ša­na ir viens no sva­rī­gā­ka­jiem ad­mi­nis­tra­to­ra uz­de­vu­miem. Tas attiecas ne tikai uz pa­špār­val­dī­tiem serveriem, bet arī uz nomātu ap­rī­ko­ju­mu. Tādi pasākumi kā paroles aiz­sar­dzī­ba, droši SSH ie­sta­tī­ju­mi un regulāras at­jau­ni­nā­ju­mu in­sta­lē­ša­na veido vi­s­ap­tve­ro­šu drošības ri­si­nā­ju­mu.

Kas ir atbildīgs par drošu servera kon­fi­gu­rā­ci­ju?

Paša servera iz­vie­to­ša­na nodrošina maksimālu brīvību kon­fi­gu­rā­ci­jas ziņā. At­bil­sto­ša al­ter­na­tī­va ir root serveri, kurus piedāvā daudzi pa­kal­po­ju­mu sniedzēji un kuriem tiek piešķirta root konta piekļuve. Abos gadījumos atbildība par svarīgām darbībām, piemēram, in­sta­lē­ša­nu, kon­fi­gu­rē­ša­nu un uz­tu­rē­ša­nu, pilnībā gulstas uz nomnieku. Kļūdas root vidē var izraisīt nopietnas problēmas. Tomēr, ievērojot pareizās pro­ce­dū­ras, var izveidot ideālu pamatu uzticamam, augstas veikt­spē­jas un drošam serverim.

Kā soli pa solim no­dro­ši­nāt sava servera drošību

Ne­at­ka­rī­gi no tā, vai vēlaties no­dro­ši­nāt Windows, Ubuntu vai Debian servera drošību, ir vairāki vispārīgi soļi, kas palīdzēs izveidot stabilu drošības pamatu. Tur­pi­nā­ju­mā esam ap­ko­po­ju­ši sva­rī­gā­kos soļus.

1. solis: Veiciet minimālo in­sta­lā­ci­ju

Pat pirms sākat veikt aiz­sar­dzī­bas pasākumus un kon­fi­gu­rēt savu serveri, jūs varat ietekmēt sava projekta turpmāko drošības po­ten­ciā­lu. Ne­at­ka­rī­gi no tā, vai iz­man­to­jat ope­rē­tājsis­tē­mu Windows vai Linux, ie­vē­ro­jiet šo principu in­sta­lā­ci­jas laikā: jūsu serverī jābūt tikai tai prog­ram­ma­tū­rai, kas ne­pie­cie­ša­ma tā uzdevumu veikšanai.

Iemesls ir tas, ka katra instalētā lie­to­jum­prog­ram­ma rada po­ten­ciā­lu drošības risku un var negatīvi ietekmēt sistēmas veikt­spē­ju. Lai sa­ma­zi­nā­tu ie­vai­no­ja­mī­bu, in­sta­lē­jiet tikai ne­pie­cie­ša­mos sistēmas kom­po­nen­tus un iz­man­to­jiet vienīgi pār­bau­dī­tu trešo pušu prog­ram­ma­tū­ru.

2. solis: Iz­vei­do­jiet drošu paroli

Pēc in­sta­lē­ša­nas pirmā lieta, kas jums jādara, ir iestatīt drošu ad­mi­nis­tra­to­ra (Windows) vai root (Linux) paroli. Pēc no­klu­sē­ju­ma šī lauka vērtība nav definēta, tāpēc ad­mi­nis­tra­to­ra konts paliek bloķēts, kamēr jūs ne­ie­va­dī­siet ne­pie­cie­ša­mo in­for­mā­ci­ju. Lielākajā daļā ope­rē­tājsis­tē­mu tūlīt pēc in­sta­lē­ša­nas tiek parādīts ai­ci­nā­jums izveidot kontu ar paroli, kas kalpos kā jūsu ad­mi­nis­tra­to­ra vai root pie­teik­ša­nās dati.

Ja esat nomājis Linux serveri no pa­kal­po­ju­mu sniedzēja un saņēmis jau esošu root lie­to­tājvār­du, ne­ka­vē­jo­ties mainiet paroli. Pie­sa­kie­ties serverī, iz­man­to­jot SSH, un terminālī ievadiet šādu komandu:

passwd
bash

Pēc drošas paroles ie­sta­tī­ša­nas tā būs jā­ap­stip­ri­na. Iz­vē­lie­ties pēc iespējas garāku paroli, kurā ir gan burti, gan speciālie simboli, gan cipari. Tāpat ieteicams izmantot paroles pār­val­dnie­ku, lai paroli droši saglabātu un va­ja­dzī­bas gadījumā varētu viegli piekļūt.

3. solis: Mainiet SSH portu

Pēc no­klu­sē­ju­ma SSH piekļuvei tiek izmantots TCP/UDP 22. ports, kas tiek iepriekš kon­fi­gu­rēts sistēmas in­sta­lā­ci­jas laikā. Hakeru au­to­ma­ti­zē­tie mē­ģi­nā­ju­mi ieiet sistēmā bieži vien ir vērsti tieši uz šo portu. Lai sa­ma­zi­nā­tu ne­at­ļau­tas piekļuves risku, šifrētiem at­tā­li­nā­tiem sa­vie­no­ju­miem pie­šķi­riet citu portu.

Lai to izdarītu, re­di­ģē­jiet SSH kon­fi­gu­rā­ci­jas failu sshd_config, iz­man­to­jot jebkuru teksta redaktoru. Piemēram, lai izmantotu redaktoru nano, izpildiet šādu komandu:

nano /etc/ssh/sshd_config
bash

Atrodiet rindu ar nosaukumu „Port” un aiz­stā­jiet 22. portu ar jūsu izvēlētu numuru. Ņemiet vērā, ka dažādiem pa­kal­po­ju­miem ir rezervēti arī citi standarta porti (piemēram, 80. ports HTTP).

Note

Lai izmaiņas failā sshd_config stātos spēkā, ir jā­pār­star­tē SSH pa­kal­po­jums. Debian sistēmā to var izdarīt, iz­man­to­jot komandu etc/init.d/ssh restart. Ubuntu lie­to­tā­jiem pa­kal­po­jums jā­pār­star­tē ar service ssh restart.

4. solis: At­vie­no­jiet SSH pie­teik­ša­nos ad­mi­nis­tra­to­ra kontiem

Lai vēl vairāk no­dro­ši­nā­tu sava servera drošību, ieteicams atspējot SSH pie­teik­ša­nos ar root vai ad­mi­nis­tra­to­ra kontu. Pretējā gadījumā, ja uzbrucējs iegūst piekļuvi paroles datiem, viņš varētu izmantot šo kontu, lai piekļūtu sistēmai at­tā­li­nā­ti.

Pirms šī pasākuma īs­te­no­ša­nas pār­lie­ci­nie­ties, ka ir vismaz vēl viens konts, kas var izveidot sa­vie­no­ju­mu ar serveri, lai iz­vai­rī­tos no si­tuā­ci­jas, kad paši sev liegtu piekļuvi. Linux sistēmās iz­vei­do­jiet šādu kontu, iz­man­to­jot šādu komandu:

useradd -g users -d /home/user1 -m -s /bin/bash user1
bash

Tādējādi tiek izveidots parauga lietotāja konts ar nosaukumu „user1”. Pēc tam pie­šķi­riet kontam drošu paroli:

passwd user1
bash

Pār­bau­diet, vai pie­teik­ša­nās ar izveidoto lietotāja kontu darbojas. Ja viss ir kārtībā, turpiniet ar galveno uzdevumu: root konta at­spē­jo­ša­nu. Atveriet SSH kon­fi­gu­rā­ci­jas failu sshd_config atkārtoti, iz­man­to­jot savu iecienīto teksta redaktoru. Atrodiet ierakstu PermitRootLogin yes un aiz­stā­jiet to ar PermitRootLogin no. Pēc SSH pa­kal­po­ju­ma pār­star­tē­ša­nas attālā piekļuve root kontam vairs nebūs iespējama.

Iz­man­to­jot kon­fi­gu­rā­ci­jas faila AllowGroups ierakstu, varat arī norādīt, kuriem lie­to­tā­jiem ir atļauts izveidot sa­vie­no­ju­mu caur SSH. Lai to izdarītu, vienkārši iz­vei­do­jiet grupu (addgroup) un pie­vie­no­jiet tai va­ja­dzī­gos lie­to­tā­jus (adduser). Pēc tam ie­kļau­jiet izvēlētās grupas nosaukumu sshd_config ierakstā (piem., AllowGroups ssh_users).

5. solis: Iestatiet e-pasta pa­zi­ņo­ju­mus par SSH pie­tei­ku­miem

Ne­at­ka­rī­gi no kon­krē­ta­jiem pa­sā­ku­miem, ko veicat, lai no­dro­ši­nā­tu SSH piekļuvi, pēc tam jums ir ne­pār­trauk­ti jāuzrauga visas attālās darbības. Tas ļauj pār­lie­ci­nā­ties, ka SSH pa­kal­po­jums jūsu serverī ir pienācīgi aiz­sar­gāts, un sav­lai­cī­gi atklāt ne­at­ļau­tas piekļuves mē­ģi­nā­ju­mus, dodot jums iespēju at­bil­sto­ši reaģēt. Vienkāršs shell skripts var au­to­mā­tis­ki nosūtīt pa­zi­ņo­ju­ma e-pastu uz jūsu adresi pēc katras veik­smī­gas attālās pie­slēg­ša­nās jūsu serverim.

Šeit ir skripta /opt/shell-login.sh paraugs Linux sistēmai, kuru varat viegli izveidot paši:

#!/bin/bash
echo "Login on $(hostname) on $(date +%Y-%m-%d) at $(date +%H:%M)"
echo "User: $USER"
echo
finger
txt

Tālāk pie­vie­no­jiet failam /etc/profile šādu rindu:

/opt/shell-login.sh | mailx -s "SSH login on the server" youremail@example.com
txt

Šis ieraksts nodrošina, ka skripts tiek izpildīts un nosūta pa­zi­ņo­ju­ma e-pastu uz norādīto adresi ikreiz, kad notiek SSH pie­teik­ša­nās. Lai to panāktu, skriptam jāpiešķir atļauja 755 (lasīšanas un izpildes tiesības visiem lie­to­tā­jiem, kā arī rak­stī­ša­nas tiesības īpaš­nie­kam). Šo atļauju var iestatīt ar šādu komandu:

chmod 755 /opt/shell-login.sh
bash

6. solis: Bloķējiet ne­iz­man­to­tos portus

Atvērtie porti parasti nerada būtisku drošības risku, jo tie ir ne­pie­cie­ša­mi saziņai ar dažādiem pa­kal­po­ju­miem un lie­to­jum­prog­ram­mām. Piemēram, porti 80 un 443 ir ne­pie­cie­ša­mi HTTP un HTTPS sa­vie­no­ju­miem, tāpat kā jūsu iz­vē­lē­tais SSH ports. Tomēr šīs saskarnes var kļūt par drošības ie­vai­no­ja­mī­bām, ja sa­is­tī­ta­jām prog­ram­mām ir drošības ne­pil­nī­bas, kuras uzbrucēji var izmantot.

Ja esat veicis minimālu sistēmas in­sta­lā­ci­ju un uz­stā­dī­jis tikai nelielu skaitu trešo pušu programmu, ne­pie­cie­ša­mo papildu portu skaits būs neliels. Lai pasargātu savu serveri no uz­bru­ku­miem, ugunsmūra ie­sta­tī­ju­mos ir jābloķē visi ne­va­ja­dzī­gie atvērtie porti. Lielākajā daļā po­pu­lā­rā­ko ope­rē­tājsis­tē­mu pēc no­klu­sē­ju­ma ir iekļauta paketes fil­trē­ša­nas prog­ram­ma­tū­ra, piemēram, iptables. Šis rīks ļauj definēt no­tei­ku­mus datu plūsmas re­gu­lē­ša­nai, tostarp norādot atļautos un bloķētos portus.

7. solis: Regulāri at­jau­ni­niet prog­ram­ma­tū­ru

Zināmas lie­to­jum­prog­ram­mudrošības ie­vai­no­ja­mī­bas parasti tiek novērstas ātri, iz­man­to­jot at­jau­ni­nā­ju­mus. Sekojot līdzi ope­rē­tājsis­tē­mas un instalēto lie­to­jum­prog­ram­mu at­jau­ni­nā­ju­miem un ne­ka­vē­jo­ties tos in­sta­lē­jot, jūs no­dro­ši­nāt optimālu sava servera aiz­sar­dzī­bu. Lielākā daļa serveru sistēmu piedāvā arī funkcijas, kas ļauj au­to­mā­tis­ki le­ju­pie­lā­dēt un instalēt kritiskos drošības at­jau­ni­nā­ju­mus fonā.

Piemēram, ja jūs no­dro­ši­nāt Windows servera drošību, sadaļā „Windows Update“ varat kon­fi­gu­rēt konkrētas politikas au­to­mā­tis­ka­jiem at­jau­ni­nā­ju­miem. Tas ietver to, kad un cik bieži tiek pār­bau­dī­ti at­jau­ni­nā­ju­mi, vai tie jāinstalē ne­ka­vē­jo­ties un kad sistēmai jā­pār­star­tē­jas. Linux sistēmas piedāvā tādus rīkus kā apt-listchanges vai apticron shell skriptu, kas ik dienas paziņo par jaunām pieejamām prog­ram­ma­tū­ras pakām un tās le­ju­pie­lā­dē. Papildu skripti, piemēram, unattended-upgrades, var veikt au­to­mā­tis­ko in­sta­lē­ša­nu.

Note

Pat iz­man­to­jot au­to­mā­tis­ko at­jau­ni­nā­ša­nas procesu, pār­lie­ci­nie­ties, ka re­ģis­trē­jat pabeigtos at­jau­ni­nā­ju­mus. Tas palīdz iden­ti­fi­cēt un novērst kļūdas, kas varētu rasties at­jau­ni­nā­ša­nas procesa laikā.

8. solis: Windows un Linux serveru aiz­sar­dzī­ba pret bruto spēka uz­bru­ku­miem

Viena no vien­kār­šā­ka­jām un iz­pla­tī­tā­ka­jām uzbrukuma metodēm ir bruto spēka uzbrukums. Šāda veida uzbrukumā hakeri izmanto rīkus, lai atkārtoti mēģinātu uzminēt paroli. Ieviešot stingras paroles pār­val­dī­bas praksi, jūs varat ie­vē­ro­ja­mi samazināt šīs metodes panākumu varbūtību.

Tomēr, ja jūsu serveris sniedz pa­kal­po­ju­mus, kas prasa lietotāju pie­teik­ša­nos, nevar pieņemt, ka visi lietotāji ievēro stingras paroles iz­man­to­ša­nas praksi. Šo risku var mazināt ar analīzes rīku palīdzību: tādi ri­si­nā­ju­mi kā Fail2ban (Linux/POSIX sistēmām) vai RdpGuard (Windows) uzrauga servera žurnālu failus, atklāj neparastu darbību un bloķē aiz­do­mī­gas IP adreses. Jūs varat kon­fi­gu­rēt to ne­veik­smī­go mē­ģi­nā­ju­mu skaitu, kas atļauts pirms blo­ķē­ša­nas, kā arī blo­ķē­ša­nas ilgumu.

9. solis: Iz­man­to­jiet uz­rau­dzī­bas rīkus

Lai no­dro­ši­nā­tu servera drošību, ir ļoti svarīgi pār­lie­ci­nā­ties, ka ap­ara­tū­ras un prog­ram­ma­tū­ras mi­jie­dar­bī­ba darbojas pa­re­dzē­ta­jā veidā. Tas nav vien­rei­zējs uzdevums, bet gan pastāvīgs pienākums, kas prasa ne­pār­trauk­tu uzmanību. Ņemot vērā lielo dažādu sistēmas procesu skaitu, ieteicams jau no paša sākuma izmantot uz­rau­dzī­bas rīkus. Šie rīki uzrauga visas servera darbības un brīdina par novirzēm.

Vienkārša un viegli kon­fi­gu­rē­ja­ma programma šim nolūkam ir Monit, ko daudzās Linux dis­tri­bū­ci­jās var instalēt, iz­man­to­jot pakotņu pār­val­dnie­ku. Šī atvērtā koda lie­to­jum­prog­ram­ma (GNU-AGPL licence) spēj uzraudzīt procesus, failus, mā­koņ­pa­kal­po­ju­mus, serverus, prog­ram­mas vai skriptus, kā arī sistēmas resursus, piemēram, procesora un atmiņas iz­man­to­ju­mu. Lai no­dro­ši­nā­tu vi­s­ap­tve­ro­šā­ku uz­rau­dzī­bu, apsveriet Nagios iz­man­to­ša­nu — atvērtā koda rīku, kas pieejams Linux un Windows. Nagios var arī pa­pla­ši­nāt ar Nagios spraudņiem.

10. solis: Datu dublējumu kon­fi­gu­rē­ša­na

Ie­tei­ca­mie kon­fi­gu­rā­ci­jas soļi ie­vē­ro­ja­mi uzlabo jūsu servera drošību. Tomēr pat vis­la­bā­kās kon­fi­gu­rā­ci­jas un rūpīga uz­tu­rē­ša­na nevar garantēt 100 % aiz­sar­dzī­bu. Vi­s­ap­tve­ro­ša dublējumu stra­tē­ģi­ja ir būtiska jūsu drošības sistēmas sa­stāv­da­ļa, kas ļauj atjaunot failus datu zaudējuma gadījumā.

Ir pieejami daudzi uzticami rīki, kas palīdz izveidot un atjaunot dub­lē­ju­mus. Viena no bezmaksas iespējām ir atvērtā koda sin­hro­ni­zā­ci­jas rīks rsync, kas ir saderīgs ar lielāko daļu po­pu­lā­rā­ko platformu (macOS, Windows, Linux). Šis rīks nodrošina dublējuma at­jau­ni­nā­ša­nu reālajā laikā, at­spo­gu­ļo­jot visas izmaiņas, kas veiktas ori­ģi­nā­la­jos datos.

Papildus vis­pā­rē­jai servera dublējuma izveidei pār­lie­ci­nie­ties, ka tiek dublētas arī jūsu datu bāzes.

Note

Lai no­dro­ši­nā­tu maksimālu dublējumu drošību, glabājiet dub­lē­ju­mus ārējās datu nesējās (piemēram, pār­nē­sā­ja­mos cietajos diskos, papildu serveros), nevis tajā pašā serverī, kuru vēlaties aizsargāt.

Go to Main Menu