Kā nodrošināt servera drošību
Servera droša konfigurēšana ir viens no svarīgākajiem administratora uzdevumiem. Tas attiecas ne tikai uz pašpārvaldītiem serveriem, bet arī uz nomātu aprīkojumu. Tādi pasākumi kā paroles aizsardzība, droši SSH iestatījumi un regulāras atjauninājumu instalēšana veido visaptverošu drošības risinājumu.
Kas ir atbildīgs par drošu servera konfigurāciju?
Paša servera izvietošana nodrošina maksimālu brīvību konfigurācijas ziņā. Atbilstoša alternatīva ir root serveri, kurus piedāvā daudzi pakalpojumu 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, instalēšanu, konfigurēšanu un uzturēšanu, pilnībā gulstas uz nomnieku. Kļūdas root vidē var izraisīt nopietnas problēmas. Tomēr, ievērojot pareizās procedūras, var izveidot ideālu pamatu uzticamam, augstas veiktspējas un drošam serverim.
Kā soli pa solim nodrošināt sava servera drošību
Neatkarīgi no tā, vai vēlaties nodrošinā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. Turpinājumā esam apkopojuši svarīgākos soļus.
1. solis: Veiciet minimālo instalāciju
Pat pirms sākat veikt aizsardzības pasākumus un konfigurēt savu serveri, jūs varat ietekmēt sava projekta turpmāko drošības potenciālu. Neatkarīgi no tā, vai izmantojat operētājsistēmu Windows vai Linux, ievērojiet šo principu instalācijas laikā: jūsu serverī jābūt tikai tai programmatūrai, kas nepieciešama tā uzdevumu veikšanai.
Iemesls ir tas, ka katra instalētā lietojumprogramma rada potenciālu drošības risku un var negatīvi ietekmēt sistēmas veiktspēju. Lai samazinātu ievainojamību, instalējiet tikai nepieciešamos sistēmas komponentus un izmantojiet vienīgi pārbaudītu trešo pušu programmatūru.
2. solis: Izveidojiet drošu paroli
Pēc instalēšanas pirmā lieta, kas jums jādara, ir iestatīt drošu administratora (Windows) vai root (Linux) paroli. Pēc noklusējuma šī lauka vērtība nav definēta, tāpēc administratora konts paliek bloķēts, kamēr jūs neievadīsiet nepieciešamo informāciju. Lielākajā daļā operētājsistēmu tūlīt pēc instalēšanas tiek parādīts aicinājums izveidot kontu ar paroli, kas kalpos kā jūsu administratora vai root pieteikšanās dati.
Ja esat nomājis Linux serveri no pakalpojumu sniedzēja un saņēmis jau esošu root lietotājvārdu, nekavējoties mainiet paroli. Piesakieties serverī, izmantojot SSH, un terminālī ievadiet šādu komandu:
passwdbashPēc drošas paroles iestatīšanas tā būs jāapstiprina. Izvēlieties pēc iespējas garāku paroli, kurā ir gan burti, gan speciālie simboli, gan cipari. Tāpat ieteicams izmantot paroles pārvaldnieku, lai paroli droši saglabātu un vajadzības gadījumā varētu viegli piekļūt.
3. solis: Mainiet SSH portu
Pēc noklusējuma SSH piekļuvei tiek izmantots TCP/UDP 22. ports, kas tiek iepriekš konfigurēts sistēmas instalācijas laikā. Hakeru automatizētie mēģinājumi ieiet sistēmā bieži vien ir vērsti tieši uz šo portu. Lai samazinātu neatļautas piekļuves risku, šifrētiem attālinātiem savienojumiem piešķiriet citu portu.
Lai to izdarītu, rediģējiet SSH konfigurācijas failu sshd_config, izmantojot jebkuru teksta redaktoru. Piemēram, lai izmantotu redaktoru nano, izpildiet šādu komandu:
nano /etc/ssh/sshd_configbashAtrodiet rindu ar nosaukumu „Port” un aizstājiet 22. portu ar jūsu izvēlētu numuru. Ņemiet vērā, ka dažādiem pakalpojumiem ir rezervēti arī citi standarta porti (piemēram, 80. ports HTTP).
Lai izmaiņas failā sshd_config stātos spēkā, ir jāpārstartē SSH pakalpojums. Debian sistēmā to var izdarīt, izmantojot komandu etc/init.d/ssh restart. Ubuntu lietotājiem pakalpojums jāpārstartē ar service ssh restart.
4. solis: Atvienojiet SSH pieteikšanos administratora kontiem
Lai vēl vairāk nodrošinātu sava servera drošību, ieteicams atspējot SSH pieteikšanos ar root vai administratora 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 attālināti.
Pirms šī pasākuma īstenošanas pārliecinieties, ka ir vismaz vēl viens konts, kas var izveidot savienojumu ar serveri, lai izvairītos no situācijas, kad paši sev liegtu piekļuvi. Linux sistēmās izveidojiet šādu kontu, izmantojot šādu komandu:
useradd -g users -d /home/user1 -m -s /bin/bash user1bashTādējādi tiek izveidots parauga lietotāja konts ar nosaukumu „user1”. Pēc tam piešķiriet kontam drošu paroli:
passwd user1bashPārbaudiet, vai pieteikšanās ar izveidoto lietotāja kontu darbojas. Ja viss ir kārtībā, turpiniet ar galveno uzdevumu: root konta atspējošanu. Atveriet SSH konfigurācijas failu sshd_config atkārtoti, izmantojot savu iecienīto teksta redaktoru. Atrodiet ierakstu PermitRootLogin yes un aizstājiet to ar PermitRootLogin no. Pēc SSH pakalpojuma pārstartēšanas attālā piekļuve root kontam vairs nebūs iespējama.
Izmantojot konfigurācijas faila AllowGroups ierakstu, varat arī norādīt, kuriem lietotājiem ir atļauts izveidot savienojumu caur SSH. Lai to izdarītu, vienkārši izveidojiet grupu (addgroup) un pievienojiet tai vajadzīgos lietotājus (adduser). Pēc tam iekļaujiet izvēlētās grupas nosaukumu sshd_config ierakstā (piem., AllowGroups ssh_users).
5. solis: Iestatiet e-pasta paziņojumus par SSH pieteikumiem
Neatkarīgi no konkrētajiem pasākumiem, ko veicat, lai nodrošinātu SSH piekļuvi, pēc tam jums ir nepārtraukti jāuzrauga visas attālās darbības. Tas ļauj pārliecināties, ka SSH pakalpojums jūsu serverī ir pienācīgi aizsargāts, un savlaicīgi atklāt neatļautas piekļuves mēģinājumus, dodot jums iespēju atbilstoši reaģēt. Vienkāršs shell skripts var automātiski nosūtīt paziņojuma e-pastu uz jūsu adresi pēc katras veiksmīgas attālās pieslēgšanā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
fingertxtTālāk pievienojiet failam /etc/profile šādu rindu:
/opt/shell-login.sh | mailx -s "SSH login on the server" youremail@example.comtxtŠis ieraksts nodrošina, ka skripts tiek izpildīts un nosūta paziņojuma e-pastu uz norādīto adresi ikreiz, kad notiek SSH pieteikšanās. Lai to panāktu, skriptam jāpiešķir atļauja 755 (lasīšanas un izpildes tiesības visiem lietotājiem, kā arī rakstīšanas tiesības īpašniekam). Šo atļauju var iestatīt ar šādu komandu:
chmod 755 /opt/shell-login.shbash6. solis: Bloķējiet neizmantotos portus
Atvērtie porti parasti nerada būtisku drošības risku, jo tie ir nepieciešami saziņai ar dažādiem pakalpojumiem un lietojumprogrammām. Piemēram, porti 80 un 443 ir nepieciešami HTTP un HTTPS savienojumiem, tāpat kā jūsu izvēlētais SSH ports. Tomēr šīs saskarnes var kļūt par drošības ievainojamībām, ja saistītajām programmām ir drošības nepilnības, kuras uzbrucēji var izmantot.
Ja esat veicis minimālu sistēmas instalāciju un uzstādījis tikai nelielu skaitu trešo pušu programmu, nepieciešamo papildu portu skaits būs neliels. Lai pasargātu savu serveri no uzbrukumiem, ugunsmūra iestatījumos ir jābloķē visi nevajadzīgie atvērtie porti. Lielākajā daļā populārāko operētājsistēmu pēc noklusējuma ir iekļauta paketes filtrēšanas programmatūra, piemēram, iptables. Šis rīks ļauj definēt noteikumus datu plūsmas regulēšanai, tostarp norādot atļautos un bloķētos portus.
7. solis: Regulāri atjauniniet programmatūru
Zināmas lietojumprogrammudrošības ievainojamības parasti tiek novērstas ātri, izmantojot atjauninājumus. Sekojot līdzi operētājsistēmas un instalēto lietojumprogrammu atjauninājumiem un nekavējoties tos instalējot, jūs nodrošināt optimālu sava servera aizsardzību. Lielākā daļa serveru sistēmu piedāvā arī funkcijas, kas ļauj automātiski lejupielādēt un instalēt kritiskos drošības atjauninājumus fonā.
Piemēram, ja jūs nodrošināt Windows servera drošību, sadaļā „Windows Update“ varat konfigurēt konkrētas politikas automātiskajiem atjauninājumiem. Tas ietver to, kad un cik bieži tiek pārbaudīti atjauninājumi, vai tie jāinstalē nekavējoties un kad sistēmai jāpārstartē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 programmatūras pakām un tās lejupielādē. Papildu skripti, piemēram, unattended-upgrades, var veikt automātisko instalēšanu.
Pat izmantojot automātisko atjaunināšanas procesu, pārliecinieties, ka reģistrējat pabeigtos atjauninājumus. Tas palīdz identificēt un novērst kļūdas, kas varētu rasties atjaunināšanas procesa laikā.
8. solis: Windows un Linux serveru aizsardzība pret bruto spēka uzbrukumiem
Viena no vienkāršākajām un izplatītākajā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ārvaldības praksi, jūs varat ievērojami samazināt šīs metodes panākumu varbūtību.
Tomēr, ja jūsu serveris sniedz pakalpojumus, kas prasa lietotāju pieteikšanos, nevar pieņemt, ka visi lietotāji ievēro stingras paroles izmantošanas praksi. Šo risku var mazināt ar analīzes rīku palīdzību: tādi risinājumi kā Fail2ban (Linux/POSIX sistēmām) vai RdpGuard (Windows) uzrauga servera žurnālu failus, atklāj neparastu darbību un bloķē aizdomīgas IP adreses. Jūs varat konfigurēt to neveiksmīgo mēģinājumu skaitu, kas atļauts pirms bloķēšanas, kā arī bloķēšanas ilgumu.
9. solis: Izmantojiet uzraudzības rīkus
Lai nodrošinātu servera drošību, ir ļoti svarīgi pārliecināties, ka aparatūras un programmatūras mijiedarbība darbojas paredzētajā veidā. Tas nav vienreizējs uzdevums, bet gan pastāvīgs pienākums, kas prasa nepārtrauktu uzmanību. Ņemot vērā lielo dažādu sistēmas procesu skaitu, ieteicams jau no paša sākuma izmantot uzraudzības rīkus. Šie rīki uzrauga visas servera darbības un brīdina par novirzēm.
Vienkārša un viegli konfigurējama programma šim nolūkam ir Monit, ko daudzās Linux distribūcijās var instalēt, izmantojot pakotņu pārvaldnieku. Šī atvērtā koda lietojumprogramma (GNU-AGPL licence) spēj uzraudzīt procesus, failus, mākoņpakalpojumus, serverus, programmas vai skriptus, kā arī sistēmas resursus, piemēram, procesora un atmiņas izmantojumu. Lai nodrošinātu visaptverošāku uzraudzību, apsveriet Nagios izmantošanu — atvērtā koda rīku, kas pieejams Linux un Windows. Nagios var arī paplašināt ar Nagios spraudņiem.
10. solis: Datu dublējumu konfigurēšana
Ieteicamie konfigurācijas soļi ievērojami uzlabo jūsu servera drošību. Tomēr pat vislabākās konfigurācijas un rūpīga uzturēšana nevar garantēt 100 % aizsardzību. Visaptveroša dublējumu stratēģija ir būtiska jūsu drošības sistēmas sastāvdaļa, kas ļauj atjaunot failus datu zaudējuma gadījumā.
Ir pieejami daudzi uzticami rīki, kas palīdz izveidot un atjaunot dublējumus. Viena no bezmaksas iespējām ir atvērtā koda sinhronizācijas rīks rsync, kas ir saderīgs ar lielāko daļu populārāko platformu (macOS, Windows, Linux). Šis rīks nodrošina dublējuma atjaunināšanu reālajā laikā, atspoguļojot visas izmaiņas, kas veiktas oriģinālajos datos.
Papildus vispārējai servera dublējuma izveidei pārliecinieties, ka tiek dublētas arī jūsu datu bāzes.
Lai nodrošinātu maksimālu dublējumu drošību, glabājiet dublējumus ārējās datu nesējās (piemēram, pārnēsājamos cietajos diskos, papildu serveros), nevis tajā pašā serverī, kuru vēlaties aizsargāt.