Serveri turvaline kon­fi­gu­ree­ri­mine on ad­mi­nist­raa­to­rite üks olu­li­se­maid üles­an­deid. See kehtib nii ise­hal­da­ta­vate serverite kui ka renditud riistvara puhul. Sellised meetmed nagu pa­roo­li­kaitse, tugevad SSH-seaded ja re­gu­laarne tark­va­rauuen­da­mine moo­dus­ta­vad ter­vik­liku tur­va­pa­keti.

Kes vastutab turvalise serveri kon­fi­gu­ree­ri­mise eest?

Oma serveri haldamine pakub kon­fi­gu­rat­siooni osas mak­si­maal­set vabadust. Sobivaks al­ter­na­tiiviks on juur­ka­su­ta­ja­õi­gus­tega serverid, mida paljud tee­nu­se­pak­ku­jad pakuvad ja mis annavad juur­ka­su­ta­ja­õi­gu­sed. Mõlemal juhul lasub vastutus selliste oluliste üles­an­nete eest nagu pai­gal­da­mine, struk­tuuri loomine ja hooldus täie­li­kult rentijal. Vead juur­ka­su­ta­ja­õi­gus­tega serveri hal­da­misel võivad põh­jus­tada tõsiseid probleeme. Õigete prot­se­duu­ride järgimine loob aga ideaalse aluse usal­dus­väärse, suure jõud­lu­sega ja turvalise serveri jaoks.

Kuidas oma serverit samm-sammult tur­va­li­seks muuta

Sõltumata sellest, kas soovite turvata Windows-, Ubuntu- või Debian-serverit, aitavad mitmed üldised sammud luua tugeva tur­va­li­suse aluse. Allpool on kokku võetud kõige olu­li­se­mad sammud.

1. samm: Viige läbi mi­ni­maalne ins­tal­lat­sioon

Juba enne, kui hakkate rakendama kait­se­meet­meid ja sea­dis­tama oma serverit, saate mõjutada oma projekti tulevast tur­va­li­sust. Sõltumata sellest, kas kasutate Windows- või Linux-ope­rat­sioo­ni­süs­teemi, järgige pai­gal­da­mise ajal järgmist põhimõtet: teie server peaks sisaldama ainult seda tarkvara, mida on vaja selle üles­an­nete täit­miseks.

Põhjuseks on see, et iga ins­tal­li­tud rakendus kujutab endast po­tent­siaal­set tur­va­riski ja võib mõjutada süsteemi jõudlust ne­ga­tiiv­selt. Haa­va­ta­vuste vä­hen­da­miseks ins­tal­lige ainult vajalikud süs­tee­mi­kom­po­nen­did ja kasutage ainult kont­rol­li­tud kol­man­date osapoolte tarkvara.

2. samm: Määra tugev parool

Pärast ins­tal­li­mist peaksite esimesena määrama tugeva admin-parooli (Windows) või root-parooli (Linux). Vaikimisi pole parooli määratud, mistõttu jääb ad­mi­nist­raa­tori konto blo­kee­ri­tuks, kuni te parooli sisestate. Enamik ope­rat­sioo­ni­süs­teeme palub teil kohe pärast ins­tal­li­mist luua parooliga konto, mida ka­su­ta­takse ad­mi­nist­raa­tori või root-ka­su­ta­jana sis­se­lo­gi­miseks.

Kui olete rentinud Linuxi serveri tee­nu­se­pak­ku­jalt ja saanud ole­mas­oleva root-ka­su­ta­ja­nime, vahetage parool kohe ära. Logige ser­ve­risse sisse SSH kaudu ja sisestage terminali järgmine käsk:

passwd
bash

Pärast turvalise parooli sea­dis­ta­mist tuleb see kinnitada. Valige või­ma­li­kult pikk parool, mis sisaldab nii tähti, erimärke kui ka numbreid. Samuti on soo­vi­ta­tav kasutada pa­roo­li­hal­du­rit, et parooli tur­va­li­selt sal­ves­tada ja vajaduse korral hõlpsasti kätte saada.

3. samm: SSH-pordi muutmine

Vaikimisi kasutab SSH-juur­de­pääs TCP/UDP-porti 22, mis on süsteemi pai­gal­da­mise käigus eelnevalt sea­dis­ta­tud. Häkkerid suunavad oma au­to­ma­ti­see­ri­tud sis­se­lo­gi­mis­kat­seid sageli just sellele portile. Vo­li­ta­mata juur­de­pääsu riski vä­hen­da­miseks määrake krüp­tee­ri­tud kaug­ühen­duste jaoks teine port.

Selleks redigeeri SSH-i kon­fi­gu­rat­sioo­ni­faili sshd_config mõne teks­ti­re­dak­tori abil. Näiteks nano-redaktori ka­su­ta­miseks käivita järgmine käsk:

nano /etc/ssh/sshd_config
bash

Otsi rida, mille pealkiri on „Port“, ja asenda por­ti­num­ber 22 soovitud numbriga. Pane tähele, et erinevate teenuste jaoks on re­ser­vee­ri­tud mitmed teised stan­dard­por­tid (nt port 80 HTTP-le).

Note

Enne kui failis sshd_config tehtud muu­da­tu­sed jõustuvad, tuleb SSH-teenus uuesti käivitada. Debianis saab seda teha käsuga etc/init.d/ssh restart. Ubuntu kasutajad peaksid teenuse uuesti käivitama käsuga service ssh restart.

4. samm: Keela SSH-sis­se­lo­gi­mine ad­mi­nist­raa­tori kontode puhul

Serveri tur­va­li­suse täien­da­miseks on soo­vi­ta­tav keelata SSH-sis­se­lo­gi­mine root- või ad­mi­nist­raa­tori kontol. Vastasel juhul, kui ründaja saab parooli kätte, võib ta seda kontot kasutada kaug­juur­de­pääs­uks.

Enne selle meetme ra­ken­da­mist veenduge, et oleks olemas vähemalt üks teine konto, millega saab serveriga ühendust luua, et vältida enda väl­ja­lu­kus­ta­mist. Linuxi süs­teemi­des looge selline konto järgmise käsuga:

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

See loob näi­dis­ka­su­ta­ja­konto nimega „user1”. Seejärel määra kontole turvaline parool:

passwd user1
bash

Kont­rol­lige, kas loodud ka­su­ta­ja­kon­toga sis­se­lo­gi­mine toimib. Kui see õnnestub, jätkake põ­hi­üles­an­dega: root-konto keelamine. Avage SSH-kon­fi­gu­rat­sioo­ni­fail sshd_config uuesti oma eelis­ta­tud teks­ti­re­dak­to­ris. Leidke kirje PermitRootLogin yes ja asendage see PermitRootLogin no. Pärast SSH-teenuse taas­käi­vi­ta­mist ei ole root-konto kaug­juur­de­pääs enam võimalik.

Kon­fi­gu­rat­sioo­ni­faili AllowGroups kirje abil saate määrata ka, millistel ka­su­ta­ja­tel on lubatud SSH-ühendus luua. Selleks looge lihtsalt grupp (addgroup) ja lisage sellesse soovitud kasutajad (adduser). Seejärel märkige valitud grupi nimi lahtrisse sshd_config (nt AllowGroups ssh_users).

5. samm: SSH-sis­se­lo­gi­miste kohta e-posti tea­vi­tuste sea­dis­ta­mine

Sõltumata sellest, milliseid konk­reet­seid meetmeid te SSH-juur­de­pääsu tur­va­li­suse ta­ga­miseks võtate, peaksite pärast seda pidevalt jälgima kõiki kaug­juur­de­pääsu tegevusi. See tagab, et saate veenduda, et teie serveri SSH-teenus on nõue­te­ko­ha­selt turvatud, ning avastada vo­li­ta­mata juur­de­pää­su­kat­seid varakult, mis võimaldab teil as­ja­ko­ha­selt rea­gee­rida. Lihtne shell-skript võib pärast iga edukat kaug­juur­de­pääsu teie serverile saata au­to­maat­selt teavituse teie e-posti aad­res­sile.

Siin on näi­disskript /opt/shell-login.sh Linuxile, mille saad ise lihtsalt koostada:

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

Seejärel lisage faili /etc/profile järgmine rida:

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

See sis­se­kanne tagab, et skript käi­vi­ta­takse ja saa­de­takse tea­vi­tus­kiri määratud aad­res­sile iga kord, kui toimub SSH-sis­se­lo­gi­mine. Selleks tuleb skriptile määrata õigused 755 (lugemis- ja käi­vi­ta­mis­õi­gu­sed kõigile ka­su­ta­ja­tele ning kir­ju­tus­õi­gu­sed omanikule). Saate need õigused määrata järgmise käsuga:

chmod 755 /opt/shell-login.sh
bash

6. samm: Blokeeri ka­su­ta­mata pordid

Avatud pordid ei kujuta endast üldjuhul mär­ki­mis­väär­set tur­va­riski, kuna need on vajalikud suht­le­miseks erinevate teenuste ja ra­ken­dus­tega. Näiteks on pordid 80 ja 443 vajalikud HTTP- ja HTTPS-ühenduste jaoks, samuti teie valitud SSH-port. Need liidesed võivad aga muutuda tur­va­au­ku­deks, kui nendega seotud prog­ram­mid si­sal­da­vad tur­va­prob­leeme, mida ründajad võivad ära kasutada.

Kui olete teinud mi­ni­maalse süs­tee­mi­ins­tal­lat­siooni ja pai­gal­da­nud vaid piiratud arvu kol­man­date osapoolte rakendusi, peaks vajalike li­sa­por­tide arv olema väike. Serveri rünnakute eest kaits­miseks peaksite tulemüüri seadetes blo­kee­rima kõik mit­te­va­ja­li­kud avatud pordid. Enamik suuremaid ope­rat­sioo­ni­süs­teeme sisaldab vaikimisi pa­kett­filt­ree­ri­mis­tark­vara, näiteks iptables. Selle töö­riis­taga saate määrata reegleid and­me­liik­luse re­gu­lee­ri­miseks, seal­hul­gas lubatud ja blo­kee­ri­tud pordid.

7. samm: Uuendage tarkvara re­gu­laar­selt

Ra­ken­dustetea­daole­vad tur­va­au­gud kõr­val­da­takse ta­va­li­selt kiiresti uuenduste abil. Jälgides oma ope­rat­sioo­ni­süs­teemi ja ins­tal­li­tud ra­ken­duste uuendusi ning pai­gal­da­des need vii­vi­ta­ma­tult, tagate oma serverile op­ti­maalse kaitse. Enamik ser­ve­ri­süs­teeme pakub ka funkt­sioone, mis laadivad alla ja pai­gal­da­vad krii­ti­li­sed tur­be­uuen­dused au­to­maat­selt taustal.

Näiteks kui te turvate Windows-serverit, võimaldab Windows Update’i sektsioon sea­dis­tada au­to­maat­sete värs­ken­duste jaoks konk­reet­seid reegleid. See hõlmab määramist, millal ja kui tihti värs­ken­dusi kont­rol­li­takse, kas need tuleks kohe ins­tal­lida ning millal süsteem peaks taas­käi­vi­tuma. Linuxi süsteemid pakuvad selliseid tööriistu nagu apt-listchanges või apticron shell-skript, mis tea­vi­ta­vad teid iga päev uute kät­te­saa­da­vate tark­vara­pa­ket­tide ole­masolust ja laadivad need alla. Lisaks võivad au­to­maat­set ins­tal­li­mist hallata sellised skriptid nagu unattended-upgrades.

Note

Isegi kui kasutate au­to­maat­set uuen­da­mis­prot­sessi, jälgige kindlasti, millised uuendused on lõpule viidud. See aitab tuvastada ja kõr­val­dada vigu, mis võivad uuen­da­mise käigus tekkida.

8. samm: Windows- ja Linux-serverite kaitsmine jõu­võt­tega rünnakute eest

Üks liht­sa­maid ja le­vi­nu­maid rün­na­ku­mee­to­deid on jõu­võt­tega rünnak. Sellise rünnaku puhul kasutavad häkkerid tööriistu, et korduvalt proovida parooli ära arvata. Ra­ken­da­des tugevaid pa­roo­li­hal­dus­ta­va­sid, saate oluliselt vähendada selle meetodi õn­nes­tu­mise tõe­näo­sust.

Kui teie server pakub teenuseid, mis nõuavad ka­su­ta­jate sis­se­lo­gi­mist, ei saa te siiski eeldada, et kõik kasutajad järgivad tugevate paroolide ka­su­ta­mise tavasid. Ana­lüü­si­töö­riis­tad aitavad seda riski vähendada: sellised la­hen­dused nagu Fail2ban (Linux/POSIX-süsteemid) või RdpGuard (Windows) jälgivad serveri logifaile, tu­vas­ta­vad eba­ta­va­list käitumist ja blo­kee­rivad kahtlased IP-aadressid. Te saate määrata, mitu eba­õn­nes­tu­nud katset enne blo­kee­ri­mist lubatakse, ning blo­kee­ri­mise kestuse.

9. samm: Kasutage sei­re­va­hen­deid

Serveri tur­va­li­suse ta­ga­miseks on äärmiselt oluline veenduda, et riist- ja tarkvara toimiksid omavahel et­te­näh­tud viisil. See ei ole ühekordne ülesanne, vaid pidev kohustus, mis nõuab pidevat tä­he­le­panu. Ar­ves­ta­des erinevate süs­tee­mi­prot­ses­side suurt arvu, on soo­vi­ta­tav kasutada jä­re­le­val­ve­töö­riistu juba algusest peale. Need töö­riis­tad jälgivad kogu serveri tegevust ja tea­vi­ta­vad teid kõr­va­le­kal­le­test.

Selleks ots­tar­beks sobiv lihtne ja hõlpsasti sea­dis­ta­tav programm on Monit, mida saab paljudes Linuxi dist­ri­but­sioo­ni­des pai­gal­dada pakettide halduri kaudu. See avatud läh­te­koo­diga rakendus (GNU-AGPL litsents) suudab jälgida protsesse, faile, pil­ve­tee­nu­seid, hostisid, programme või skripte, samuti süs­tee­mi­res­sursse, nagu prot­ses­sori ja mälu ka­su­ta­mine. Põh­ja­li­ku­maks jäl­gi­miseks võite kaaluda Nagios’t, avatud läh­te­koo­diga tööriista, mis on saadaval Linuxile ja Win­dow­sile. Nagios’t saab laiendada ka Nagios’e pis­tik­prog­rammide abil.

10. samm: Va­ru­koo­piate sea­dis­ta­mine

Soo­vi­ta­tud sea­dis­ta­mis­ju­hi­sed pa­ran­da­vad oluliselt teie serveri tur­va­li­sust. Siiski ei suuda isegi parimad sea­dis­tused ja hoolikas hooldus tagada 100% kaitset. Terviklik va­run­da­misst­ra­tee­gia on teie tur­va­süs­teemi oluline osa, mis võimaldab teil andmete kaotuse korral faile taastada.

Va­ru­koo­piate loomiseks ja taas­ta­miseks on saadaval palju töö­kind­laid vahendeid. Üks tasuta võimalus on avatud läh­te­koo­diga sünk­ro­ni­see­ri­mis­va­hend rsync, mis on ühilduv enamiku le­vi­nu­mate plat­vormi­dega (macOS, Windows, Linux). See vahend hoiab va­ru­koo­pia reaalajas aja­ko­h­asena, pee­gel­da­des kõiki ori­gi­naaland­me­tes tehtud muudatusi.

Lisaks serveri üldisele va­run­da­misele veenduge, et varundate ka oma and­me­baasid.

Note

Varu­and­mete mak­si­maalse tur­va­li­suse ta­ga­miseks hoidke va­ru­koo­piaid välistel and­me­kand­ja­tel (nt kaa­sas­kan­ta­va­tel kõ­va­ke­tas­tel, li­sa­ser­ve­ri­tel), mitte tur­va­ta­val serveril.

Go to Main Menu