# Kaip apsaugoti serverį

Saugus serverio konfigūravimas yra viena iš svarbiausių administratorių užduočių. Tai taikoma ne tik savarankiškai valdomiems serveriams, bet ir nuomojamai įrangai. Tokios priemonės kaip apsauga slaptažodžiais, patikimi SSH nustatymai ir reguliarūs atnaujinimai sudaro išsamų saugumo paketą.

## Kas atsakingas už saugų serverio konfigūravimą?

Savo serverio priegloba suteikia maksimalią konfigūravimo laisvę. Tinkama alternatyva yra [„root“ serveriai](https://www.ionos.co.uk/servers/root-server "Affordable root servers from IONOS"), kuriuos siūlo daugelis paslaugų teikėjų ir suteikia **prieigą prie „root“ paskyros**. Abiem atvejais svarbiausios užduotys, tokios kaip įdiegimas, struktūrizavimas ir priežiūra, tenka vien tik nuomininkui. Klaidos „root“ srityje gali sukelti rimtų problemų. Tačiau laikantis tinkamų procedūrų galima sukurti puikų pagrindą **patikimam**, **našiam** ir **saugiam serveriui**.

## Kaip apsaugoti savo serverį: žingsnis po žingsnio

Nesvarbu, ar norite apsaugoti „Windows“, „Ubuntu“ ar „Debian“ serverį, keletas universalių veiksmų padės sukurti **tvirtą saugumo pagrindą**. Toliau apibendriname svarbiausius veiksmus.

### 1 žingsnis: Atlikite minimalią diegimą

Dar prieš pradėdami imtis apsaugos priemonių ir konfigūruoti serverį, galite paveikti savo projekto būsimą saugumo potencialą. Nepriklausomai nuo to, ar naudojate „Windows“, ar „Linux“ operacinę sistemą, diegimo metu laikykitės šio principo: jūsų serveryje turėtų būti tik ta programinė įranga, kurios reikia **jo užduotims atlikti**.

Priežastis ta, kad **kiekviena įdiegta programa kelia potencialią grėsmę saugumui** ir gali neigiamai paveikti sistemos našumą. Norėdami sumažinti pažeidžiamumą, įdiekite tik būtinus sistemos komponentus ir naudokite tik **patikrintą trečiųjų šalių programinę įrangą**.

### 2 žingsnis: Nustatykite saugų slaptažodį

Įdiegus sistemą, pirmiausia turėtumėte nustatyti saugų administratoriaus (Windows) arba root (Linux) slaptažodį. Pagal numatytuosius nustatymus slaptažodis nėra nustatytas, todėl administratoriaus paskyra lieka užblokuota, kol jo nenustatysite. Dauguma operacinių sistemų iškart po įdiegimo prašo sukurti **paskyrą su slaptažodžiu**, kuris bus naudojamas prisijungiant kaip administratorius arba root.

Jei Linux serverį išsinuomojote iš paslaugų teikėjo ir gavote jau esamą root prisijungimo vardą, nedelsdami pakeiskite slaptažodį. Prisijunkite prie serverio per SSH ir terminale įveskite šią komandą:

```bash
passwd
```

Nustačius saugų slaptažodį, jį reikės patvirtinti. Pasirinkite kuo ilgesnį slaptažodį, sudarytą iš **raidžių**, **specialių simbolių** ir **skaičių** derinio. Taip pat rekomenduojama naudoti slaptažodžių tvarkyklę, kad slaptažodis būtų saugiai saugomas ir prireikus jį būtų galima lengvai rasti.

Tip Jei jūsų „Linux“ sistemoje jau nustatytas „root“ slaptažodis, o jūs jo nežinote, jį galite pakeisti **atkūrimo režimu**. Atkūrimo režimą paleiskite paspaudę „Shift“ klavišą sistemos įkėlimo metu. Pasirinkę meniu punktą „root“, pateksite į „Root“ komandų eilutę, kurioje turėsite administratoriaus teises slaptažodžiui pakeisti.

### 3 žingsnis: Pakeiskite SSH prievadą

Pagal numatytuosius nustatymus SSH ryšys naudoja TCP/UDP 22-ąjį prievadą, kuris yra iš anksto sukonfigūruotas diegiant sistemą. Hakeriai dažnai savo automatinius prisijungimo bandymus nukreipia būtent į šį prievadą. Norėdami sumažinti neteisėto prisijungimo riziką, **šifruotiems nuotoliniams ryšiams** paskirkite kitą prievadą.

Norėdami tai padaryti, redaguokite SSH konfigūracijos failą `sshd_config` naudodami bet kurį teksto redaktorių. Pavyzdžiui, norėdami naudoti redaktorių „nano“, paleiskite šią komandą:

```bash
nano /etc/ssh/sshd_config
```

Raskite eilutę su pavadinimu „Port“ ir pakeiskite 22-ąjį prievadą į norimą numerį. Atminkite, kad įvairioms paslaugoms yra rezervuoti ir kiti standartiniai prievadai (pvz., 80-asis prievadas – HTTP).

Note Kad pakeitimai faile `sshd_config` įsigaliotų, reikia iš naujo paleisti SSH paslaugą. [„Debian“](https://www.ionos.com/lt-lt/digitalguide/serveris/zinios/debian-universali-sistemine-programine-iranga/) sistemoje tai galima padaryti komanda `etc/init.d/ssh restart`“. „Ubuntu“ vartotojai paslaugą turi paleisti iš naujo komanda `service ssh restart`“.

### 4 žingsnis: Išjunkite SSH prisijungimą administratorių paskyroms

Norint dar labiau apsaugoti savo serverį, rekomenduojama išjungti SSH prisijungimą naudotojo „root“ arba administratoriaus paskyrai. Priešingu atveju, jei įsilaužėlis sužinotų slaptažodį, jis galėtų pasinaudoti šia paskyra nuotolinei prieigai.

Prieš įgyvendindami šią priemonę, įsitikinkite, kad yra **bent viena kita paskyra**, kuri gali prisijungti prie serverio, kad išvengtumėte situacijos, kai patys negalėsite prisijungti. Linux sistemose tokią paskyrą sukurkite naudodami šią komandą:

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

Tai sukuria pavyzdinę vartotojo paskyrą pavadinimu „user1“. Toliau paskyrai priskirkite saugų slaptažodį:

```bash
passwd user1
```

Patikrinkite, ar pavyksta prisijungti naudojant sukurtą vartotojo paskyrą. Jei pavyko, pereikite prie pagrindinės užduoties: išjunkite „root“ paskyrą. Vėl atidarykite SSH konfigūracijos failą `sshd_config` naudodami pageidaujamą redaktorių. Suraskite įrašą `PermitRootLogin yes` ir pakeiskite jį į `PermitRootLogin no`. Perkėlus SSH paslaugą, **nuotolinė prieiga naudojant „root“ paskyrą nebus galima**.

Naudodami konfigūracijos failo `AllowGroups` įrašą, taip pat galite nurodyti, kuriems vartotojams leidžiama prisijungti per SSH. Tam tiesiog sukurkite **grupę** (`addgroup`) ir į ją įtraukite norimus vartotojus (`adduser`). Tada įrašykite pasirinktos **grupės pavadinimą** į `sshd_config` (pvz., `AllowGroups ssh_users`).

Note Alternatyva, leidžianti išvengti SSH prisijungimo išjungimo „root“ paskyroms, yra visiškai uždrausti prisijungimą naudojant slaptažodį ir vietoj to naudoti autentiškumo patvirtinimą viešuoju raktu su SSH raktais.

### 5 žingsnis: Nustatykite el. pašto pranešimus apie prisijungimus per SSH

Nepriklausomai nuo to, kokių konkrečių priemonių imatės SSH prieigai apsaugoti, vėliau turėtumėte nuolat stebėti visą nuotolinę veiklą. Tai užtikrins, kad galėsite patikrinti, ar jūsų serveryje veikianti SSH paslauga yra tinkamai apsaugota, ir **anksti aptikti neteisėtus prisijungimo bandymus**, o tai leis jums tinkamai reaguoti. Paprastas komandinės eilutės scenarijus gali automatiškai išsiųsti pranešimą el. paštu į jūsų adresą po kiekvieno sėkmingo nuotolinio prisijungimo prie jūsų serverio.

Čia pateikiamas pavyzdinis scenarijus `/opt/shell-login.sh`, skirtas „Linux“ sistemai, kurį galite lengvai sukurti patys:

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

Toliau į failą `/etc/profile` įtraukite šią eilutę:

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

Šis įrašas užtikrina, kad skriptas būtų vykdomas ir išsiųstų **pranešimo laišką** į nurodytą adresą kiekvieną kartą, kai prisijungiama per SSH. Tam, kad tai veiktų, skriptui turi būti suteiktos 755 teisės (skaitymo ir vykdymo teisės visiems vartotojams bei rašymo teisės savininkui). Šias teises galite nustatyti šia komanda:

```bash
chmod 755 /opt/shell-login.sh
```

Note Jei vartotojas užmezga SSH ryšį naudodamas tokią programą kaip „WinSCP“, kuri neatlieka pilno prisijungimo, aprašytas apvalkalo scenarijus nesiųs el. laiško!

### 6 žingsnis: Užblokuokite nenaudojamus prievadus

Atviri prievadai paprastai nekelia didelės grėsmės saugumui, nes jie yra būtini ryšiui su įvairiomis paslaugomis ir programomis palaikyti. Pavyzdžiui, prievadai 80 ir 443 yra būtini HTTP ir HTTPS ryšiams, kaip ir jūsų pasirinktas SSH prievadas. Tačiau šios sąsajos gali tapti pažeidžiamomis, jei **susijusiose programose yra saugumo spragų**, kuriomis gali pasinaudoti įsilaužėliai.

Tip Sužinokite, kaip patikrinti savo prievadus, perskaitę mūsų specialų straipsnį, kuriame rasite visų atvirų prievadų sąrašą.

Jei atlikote minimalią sistemos diegimą ir įdiegėte tik ribotą skaičių trečiųjų šalių programų, papildomų reikalingų prievadų skaičius turėtų būti nedidelis. Norėdami apsaugoti savo serverį nuo atakų, ugniasienės nustatymuose turėtumėte užblokuoti visus nereikalingus atvirus prievadus. Daugumoje pagrindinių operacinių sistemų iš anksto įdiegta **paketų filtravimo programinė įranga**, pavyzdžiui, „iptables“. Ši priemonė leidžia nustatyti taisykles, reguliuojančias duomenų srautą, įskaitant **leidžiamų ir blokuojamų prievadų nurodymą**.

### 7 žingsnis: Reguliariai atnaujinkite programinę įrangą

**Žinomos** programų**saugumo spragos** paprastai greitai pašalinamos atnaujinimais. Nuolat sekdami savo operacinės sistemos ir įdiegtų programų atnaujinimus bei juos nedelsiant įdiegdami, užtikrinate optimalų savo serverio apsaugą. Dauguma serverių sistemų taip pat siūlo funkcijas, leidžiančias **automatiškai atsisiųsti ir įdiegti svarbiausius saugumo atnaujinimus foniniame režime**.

Pavyzdžiui, jei saugote „Windows“ serverį, skyriuje **„Windows Update“** galite nustatyti konkrečias automatinių atnaujinimų taisykles. Tai apima nustatymą, kada ir kaip dažnai tikrinami atnaujinimai, ar juos reikia **įdiegti iš karto** ir kada sistema turi būti perkrauta. „Linux“ sistemose yra tokių įrankių kaip `apt-listchanges` arba `apticron` apvalkalo scenarijus, kurie kasdien praneša apie naujus prieinamus programinės įrangos paketus ir juos atsisiunčia. Papildomi scenarijai, pavyzdžiui, `unattended-upgrades`, gali atlikti automatinį įdiegimą.

Note Net ir naudodami automatinį atnaujinimo procesą, būtinai stebėkite, kokie atnaujinimai jau atlikti. Tai padės nustatyti ir ištaisyti klaidas, kurios gali atsirasti atnaujinimo proceso metu.

### 8 žingsnis: Apsaugokite „Windows“ ir „Linux“ serverius nuo atakų „brute-force“ metodu

Vienas iš paprasčiausių ir dažniausiai pasitaikančių atakų būdų yra „brute-force“ ataka. Šio tipo atakos metu hakeriai naudoja įrankius, kad pakartotinai bandytų atspėti slaptažodį. Įgyvendindami patikimas **slaptažodžių tvarkymo praktikas**, galite žymiai sumažinti tikimybę, kad šis metodas bus sėkmingas.

Tačiau jei jūsų serveris teikia paslaugas, kurioms reikalingas vartotojo prisijungimas, negalima manyti, kad visi vartotojai laikosi saugių slaptažodžių naudojimo taisyklių. Šią riziką padėti sumažinti gali **analizės įrankiai**: tokios programos kaip „Fail2ban“ (Linux/POSIX sistemoms) arba „RdpGuard“ (Windows) stebi serverio žurnalo failus, aptinka neįprastą elgesį ir **blokuoja įtartinus IP adresus**. Galite nustatyti, kiek kartų leidžiama nesėkmingai bandyti prisijungti prieš pradedant blokavimą, taip pat blokavimo trukmę.

Tip Norėdami užtikrinti didesnį saugumą, apsvarstykite galimybę įjungti dviejų veiksnių autentifikavimą. Šis metodas reikalauja, kad be slaptažodžio būtų naudojamas antrasis autentifikavimo veiksnys, pavyzdžiui, išmanusis telefonas, lustinė kortelė arba TAN sąrašas.

### 9 žingsnis: Naudokite stebėjimo įrankius

Siekiant užtikrinti serverio saugumą, labai svarbu užtikrinti, kad **aparatinė ir programinė įranga sąveikautų** taip, kaip numatyta. Tai nėra vienkartinis uždavinys, o nuolatinė pareiga, reikalaujanti nuolatinio dėmesio. Atsižvelgiant į didelį **skirtingų sistemos procesų** skaičių, patartina nuo pat pradžių naudoti stebėjimo įrankius. Šie įrankiai stebi visą serverio veiklą ir įspėja apie nukrypimus nuo normos.

Paprasta ir lengvai konfigūruojama programa šiam tikslui yra „Monit“, kurią daugelyje „Linux“ distribucijų galima įdiegti per paketų tvarkyklę. Ši atvirojo kodo programa (GNU-AGPL licencija) gali stebėti **procesus**, **failus**, **debesų aplinkas**, **kompiuterius**, **programas** ar **skriptus**, taip pat **sistemos išteklius**, pavyzdžiui, procesoriaus ir atminties naudojimą. Norint vykdyti išsamesnę stebėseną, verta apsvarstyti „Nagios“ – atvirojo kodo įrankį, skirtą „Linux“ ir „Windows“ sistemoms. „Nagios“ taip pat galima išplėsti naudojant „Nagios“ papildinius.

### 10 žingsnis: Nustatykite atsargines kopijas

Rekomenduojami konfigūravimo veiksmai žymiai padidina jūsų serverio saugumą. Tačiau net ir geriausios konfigūracijos bei kruopšti priežiūra negali užtikrinti 100 % apsaugos. Išsami atsarginių kopijų strategija yra esminė jūsų saugumo sistemos sudedamoji dalis, leidžianti atkurti failus duomenų praradimo atveju.

Yra daug patikimų įrankių, kurie padės jums kurti ir atkurti atsargines kopijas. Viena iš nemokamų galimybių – atvirojo kodo sinchronizavimo įrankis [„rsync“](https://www.ionos.com/lt-lt/digitalguide/serveris/irankiai/serverio-atsarginiu-kopiju-kurimas-naudojant-rsync/), suderinamas su dauguma pagrindinių platformų (macOS, Windows, Linux). Šis įrankis užtikrina, kad jūsų atsarginė kopija būtų atnaujinama realiuoju laiku, atspindėdamas visus originalioje duomenų bazėje atliktus pakeitimus.

Be bendros serverio atsarginės kopijos, būtinai pasirūpinkite, kad būtų sukurtos ir duomenų bazių atsarginės kopijos.

Note Siekiant užtikrinti maksimalų atsarginių kopijų saugumą, jas reikėtų saugoti **išorinėse laikmenose** (pvz., nešiojamuosiuose kietuosiuose diskuose, papildomuose serveriuose), o ne pačiame saugomame serveryje.


This is a markdown version of: [https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/serverio-apsauga-teisingas-linux-konfiguravimas-ir-kt/](https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/serverio-apsauga-teisingas-linux-konfiguravimas-ir-kt/) for AI/LLM consumption.