Linuxi serveri kaitse. Mida teha kÔigepealt

Linuxi serveri kaitse. Mida teha kÔigepealt
Habib M’henni / Wikimedia Commons, CC BY-SA

TĂ€napĂ€eval on serveri kĂ€itamine hostingus vaid paari minuti ja mĂ”ne hiirekliki asi. Kuid kohe pĂ€rast kĂ€ivitamist satub ta vaenulikku keskkonda, kuna on avatud kogu internetile nagu sĂŒĂŒtu tĂŒdruk rokidiskol. Skanneerijad leiavad ta kiiresti ning avastavad tuhandeid automaatseid skriptibote, kes otsivad internetis haavatavusi ja vale konfiguratsioone. On mitmeid asju, mida tuleks kohe pĂ€rast kĂ€ivitamist teha, et tagada pĂ”hiline kaitse.

Sisukord

Nerootkasutaja

Esiteks tuleb endale luua nerootkasutaja. Asi nimelt on selles, et kasutajal on root absoluutsed Ă”igused sĂŒsteemis, ja kui lubate tal kaughaldust, siis teete poole töö lĂŒkkamiseks hĂ€kkerile, jĂ€ttes talle kehtiva kasutajanime.

SeetÔttu tuleb luua teine kasutaja, ning root-kasutaja kaugjuhtimine SSH kaudu tuleb keelata.

Uus kasutaja luuakse kÀsuga useradd:

useradd [options]

SeejÀrel lisatakse talle parool kÀsuga passwd:

passwd

LÔpuks tuleb see kasutaja lisada gruppi, millel on Ôigused kÀivitada kÀsklusi kÔrgendatud Ôigustega. sudoSÔltuvalt Linuxi jaotise versioonist vÔivad need olla erinevad grupid. NÀiteks CentOS-is ja Red Hat'is lisatakse kasutaja gruppi wheel:

usermod -aG wheel

Ubuntu-s lisatakse ta gruppi sudo:

usermod -aG sudo

SSH vÔtmed paroolide asemel

Bruteforce vĂ”i paroolide lekkimine on standardne rĂŒnnaku vektor, seega on parem SSH (Secure Shell) paroolide autentimine vĂ€lja lĂŒlitada ja selle asemel kasutada vĂ”tmeautentimist.

SSH protokolli rakendamiseks on erinevad programmid, nÀiteks lsh ja Dropbear, kuid kÔige populaarsem on OpenSSH. OpenSSH kliendi installimine Ubuntu-s:

sudo apt install openssh-client

Installimine serveris:

sudo apt install openssh-server

SSH daemon (sshd) kÀivitamine serveris Ubuntu-s:

sudo systemctl start sshd

Demony automaatne kÀivitus igal kÀivitamisel:

sudo systemctl enable sshd

Pöörake tĂ€helepanu, et OpenSSH serveriklient sisaldab ka kliendi osa. See tĂ€hendab, et lĂ€bi openssh-server saate ĂŒhendada teiste serveritega. Pealegi vĂ”ite oma kliendimasinast kĂ€ivitada SSH-tunneli eemalolevast serverist kolmanda osapoole hosti, ja siis kolmanda osapoole host peab eemalolevat serverit pĂ€ringute allikaks. VĂ€ga mugav funktsioon oma sĂŒsteemi maskeerimiseks. TĂ€iendavaid ĂŒksikasju leiate artiklist «Praktilised nĂ€punĂ€ited, nĂ€ited ja SSH-tunnelid».

Kliendimasinas ei ole tavaliselt mĂ”tet paigaldada tĂ€isfunktsionaalset serverit, et vĂ€ltida eemalseisva arvuti kaugĂŒhenduse vĂ”imalust (turvalisuse kaalutlustel).

Seega peate uue kasutaja jaoks kÔigepealt genereerima SSH-vÔtmed arvutis, millega serverisse sisenete:

ssh-keygen -t rsa

Avalik vĂ”ti salvestatakse faili .pub ja nĂ€eb vĂ€lja nagu juhuslike sĂŒmbolite string, mis algab ssh-rsa.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname

SeejÀrel peate root-kasutaja alt serveris looma SSH-kausta kasutaja kodukatalooge ja lisama avaliku SSH-vÔti faili authorized_keys, kasutades tekstiredaktorit nagu Vim:

mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys

vim /home/user_name/.ssh/authorized_keys

LÔpuks peate seadistama faili Ôigused:

chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys

ja muutma omaniku selle kasutaja jaoks:

chown -R username:username /home/username/.ssh

Kliendi poolel tuleb mÀÀrata salajase vÔtme asukoht autentimiseks:

ssh-add DIR_PATH/keylocation

NĂŒĂŒd saate sisse logida serverisse selle vĂ”tme abil kasutajanime jĂ€rgi:

ssh [username]@hostname

Autentimise jĂ€rel saate faile kopeerimiseks kasutada scp kĂ€sku, utiliiti sshfs kaugfailisĂŒsteemi vĂ”i kataloogide mountimiseks.

Soovitatav on teha mitu varukoopiat privaatvĂ”tme kohta, kuna kui keelata parooliga autentimine ja see kaotada, ei jÀÀ teil enam ĂŒldse mingit vĂ”imalust oma serverisse siseneda.

Nagu eelnevalt mainitud, tuleb SSH-is keelata root-kasutaja autentimine (seetÔttu lÔimegi uue kasutaja).

CentOS/red Hat'is leidke konfiguratsioonifailist rida PermitRootLogin yes ja muutke seda: /etc/ssh/sshd_config PermitRootLogin no

Ubuntu-s lisage rida

konfiguratsioonifaili Ubuntu-s lisage rida 10-my-sshd-settings.conf 10-my-sshd-settings.conf:

sudo echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf

PĂ€rast kontrollimist, et uus kasutaja autentib end oma vĂ”tmega, saab parooli autentimise vĂ€lja lĂŒlitada, et vĂ€hendada selle Ă€rakasutamise vĂ”i bruteforce'i riski. NĂŒĂŒd peab kĂŒberkurjategija serverisse sisenemiseks saama eravĂ”tme.

CentOS/red Hat'is leidke konfiguratsioonifailist rida , salvestada muudatused ja taaskÀivitada Ubuntu20.04. ja muutke seda: /etc/ssh/sshd_config ja muudame seda jÀrgmiselt:

tuleb seada vÀÀrtusele

konfiguratsioonifaili tuleb seada vÀÀrtusele faili 10-my-sshd-settings.conf:

sudo echo "PasswordAuthentication no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf

Juhend kahefaasilise autentimise seadistamiseks SSH kaudu vt. siin.

TulemĂŒĂŒr

Tulekahju sein tagab, et serverisse pÀÀseb ainult see liiklus, mis on nende portide kaudu, mida te olete otseselt lubanud. See kaitseb sadamate Ă€rakasutamise eest, mis vĂ”ivad olla kogemata aktiveeritud teiste teenustega, seega vĂ€hendab see rĂŒnnaku pinda.

Enne tulekahju seina paigaldamist tuleb veenduda, et SSH on erandite nimekirjas ja ei blokeerita. Muul juhul ei saa me pÀrast tulekahju seina kÀivitamist serverisse sisse logida.

Ubuntu versiooniga kaasneb Uncomplicated Firewall (ufw), ja CentOS/Red Hati puhul — firewalld.

SSH lubamine Ubuntu tulekahju seinal:

sudo ufw allow ssh

CentOS/Red Hat'is kasutame kÀsku firewall-cmd:

sudo firewall-cmd --zone=public --add-service=ssh --permanent

PÀrast seda protseduuri saab tulekahju seina kÀivitada.

CentOS/Red Hat'is kÀivitame firewalld teenuse systemd kaudu:

sudo systemctl start firewalld
sudo systemctl enable firewalld

Ubuntu's kasutame sellist kÀsku:

sudo ufw enable

Fail2Ban

Teenuseid Fail2Ban analĂŒĂŒsib serveri logisid ja loendab igast IP-aadressist pĂ€rit sisenemiskatseid. Seadetesse on mÀÀratud reeglid, kui palju sisenemiskatseid on lubatud teatud ajavahemiku jooksul — pĂ€rast seda blokeeritakse see IP-aadress mÀÀratud ajaks. NĂ€iteks lubame 5 ebaĂ”nnestunud sisenemiskatse SSH kaudu 2 tunni jooksul, pĂ€rast mida blokeerime selle IP-aadressi 12 tunniks.

Fail2Ban'i paigaldamine CentOS ja Red Hati jaoks:

sudo yum install fail2ban

Paigaldamine Ubuntu ja Debianile:

sudo apt install fail2ban

PĂ€rast seda

systemctl start fail2ban
systemctl enable fail2ban

Programmal on kaks konfiguratsioonifaili: /etc/fail2ban/fail2ban.conf ja /etc/fail2ban/jail.conf. Blokeerimise piirangud mÀÀratakse teises failis.

SSH jaoks on jail vaikimisi lubatud vaike seadistustega (5 katset, intervall 10 minutit, ban 10 minutiks).

[DEFAULT]
ignorecommand =
bantime = 10m
findtime = 10m
maxretry = 5

Lisaks SSH-le vÔib Fail2Ban kaitsta ka teisi teenuseid veebiserveris nginx vÔi Apache.

Automaatne turvauuendamine

Nagu teada, avastatakse kÔigis programmides pidevalt uusi haavatavusi. PÀrast teabe avaldamist lisatakse exploite populaarsetesse exploite-pakettidesse, mida kasutavad laialdaselt hÀkkerid ja noored, skannides kÔiki servereid jÀrjestikku. SeetÔttu on vÀga oluline installida turvauuendused kohe, kui need ilmuvad.

Ubuntu serveris on vaikeseadistuses sisse lĂŒlitatud automaatsed turvauuendused, seega tĂ€iendavaid toiminguid ei ole vaja.

CentOSi/Red Hati peetakse vajalikuks rakenduse dnf-automatic installimine ja ajastuse lubamine:

sudo dnf upgrade
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer

Ajastuse kontrollimine:

sudo systemctl status dnf-automatic.timer

Vaikimisi portsade muutmine

SSH vÀljatöötamine toimus 1995. aastal telneti (port 23) ja ftp (port 21) asendamiseks, seega valis programmi autor Tatu Aaltonen vaikimisi porti 22, ja see kinnitati IANA-s.

Loomulikult on kĂ”ik kurjategijad teadlikud, millisel pordil SSH töötab — ja nad skannivad seda koos teiste standardportidega, et mÀÀrata tarkvara versioon, kontrollida hÀÀlestusparooli ja nii edasi.

Standardportide muutmine — obfuskeerimine — vĂ€hendab mitmeid kordi prĂŒgiliiklust, logifailide suurust ja serveri koormust ning vĂ€hendab ka rĂŒnnakupinda. Kuigi mĂ”ned kriitika seda meetodit nimetavad "ebaselgeks kaitseks" (security through obscurity). PĂ”hjus on selles, et see tehnika on vastuolus fundamentaalse arhitektuurilise kaitsega.SeetĂ”ttu ĂŒtleb nĂ€iteks USA Riiklik Standardite ja Tehnoloogia Instituut mu „Serveri turvajuht”, et avatud serveri arhitektuur on vajalik: „SĂŒsteemi turvalisus ei tohi tugineda selle komponentide rakendamise varjatud olemusele,” on öeldud dokumendis.

Teoreetiliselt on vaikimisi portide muutmine vastuolus avatud arhitektuuri praktikaga. Kuid praktikas vÀheneb tÔeliselt pahatahtliku liikluse maht, seega on see lihtne ja tÔhus meetod.

Pordi numbrit saab seadistada, muutes direktiivi Port 22 config-failis. /etc/ssh/sshd_configSamuti on see mÀÀratud parameetrina -p ja sshd. SSH klient ja programmid sftp toetavad samuti seda parameetrit -p.

Parameeter -p mis vĂ”imaldab pordi numbri mÀÀramise ĂŒhenduses kĂ€suga ssh Linuxis. Programmis sftp ja scp kasutatakse parameetrit -P (pealkiri P). KĂ€surea nĂ€itamine ĂŒletab kĂ”ik vÀÀrtused konfiguratsioonifailides.

Kui servereid on palju, saab enamik neist Linux-serveri kaitsemeetmetest automatiseerida skripti abil. Kuid kui server on ainult ĂŒks, siis on parem protsessi kĂ€sitsi kontrollida.

Reklaami Ôigustes

Tellige ja hakake kohe tööle! VDS-i loomine mis tahes konfiguratsiooni ja mis tahes operatsioonisĂŒsteemiga ĂŒhe minutiga. Maksimaalne konfiguratsioon vĂ”imaldab suurt vabadust — 128 protsessorituuma, 512 GB RAM-i, 4000 GB NVMe. Eepiline 🙂

Linuxi serveri kaitse. Mida teha kÔigepealt

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster