
, CC BY-SA
TĂ€napĂ€eval serveri tĂ”stmine hostimisel vĂ”tab vaid paar minutit ja mĂ”ned hiireklĂ”psud. Kuid kohe pĂ€rast kĂ€ivitamist satub see vaenulikku keskkonda, kuna see on avatud kogu internetile nagu sĂŒĂŒtu tĂŒdruk rokkdiskol. KĂ”ik skannerid avastavad selle kiiresti ning tuhanded automaatsed botid, mis otsivad haavatavusi ja valesid konfiguratsioone, rĂ€ndavad ringi. PĂ€rast kĂ€ivitamist on mitu asja, mida tuleb kohe teha, et tagada pĂ”hikaitse.
Sisu
Kasutaja ilma juurÔiguseta
Esimene samm on luua endale kasutaja ilma juurĂ”iguseta. Probleem on selles, et kasutajal root on sĂŒsteemis tĂ€ielikud Ă”igused, ja kui lubate tal kaugtööd, siis teete pool tööst hĂ€kkeri jaoks, jĂ€ttes talle kehtiva kasutajanime.
SeetÔttu tuleb luua teine kasutaja ja keelata juuril SSH kaudu kaugtöö tegemine.
Uue kasutaja loomine kÀib kÀsuga useradd:
useradd [options] SeejÀrel lisatakse selle jaoks parool kÀsuga passwd:
passwd LÔpuks tuleb see kasutaja lisada gruppi, mis omab Ôigust sooritada tÔstetud Ôigustega kÀske sudo. SÔltuvalt Linuxi distributiivist vÔivad need olla erinevad grupid. NÀiteks CentOSis ja Red Hat'is lisatakse kasutaja gruppi wheel:
usermod -aG wheel Ubuntu puhul lisatakse ta gruppi sudo:
usermod -aG sudo
SSH pÀÀsukoodid, mitte paroolid
Bruteforce vĂ”i paroolide lekkeid on tavaline rĂŒnnaku vektor, seega on parem keelata parooliautentimine SSH-s (Secure Shell) ning kasutada selle asemel vĂ”tmeautentimist.
SSH protokolli rakendamiseks on erinevaid programme, nÀiteks ja , kuid kÔige populaarsem on OpenSSH. OpenSSH kliendi installimine Ubuntule:
sudo apt install openssh-clientInstallimine serverisse:
sudo apt install openssh-serverSSH deemon (sshd) kÀivitamine serveris Ubuntul:
sudo systemctl start sshdDeemoni automaatne kÀivitamine igal laadimisel:
sudo systemctl enable sshd Tuleb mĂ€rkida, et OpenSSH serveri osa sisaldab ka kliendi osa. See tĂ€hendab, et lĂ€bi openssh-server Saate ĂŒhendada teistele serveritele. Veelgi enam, oma klienditerminalist saate kĂ€ivitada SSH-tunneli kaugsserverist kolmandasse hosti, ja siis kolmas host peab kaugsserverit pĂ€ringute allikaks. See on vĂ€ga mugav funktsioon oma sĂŒsteemi maskeerimiseks. Lisainfot vaadake artiklist .
Klienditerminalis pole tavaliselt mĂ”tet paigaldada tĂ€ieĂ”iguslikku serverit, et vĂ€ltida arvuti kaugĂŒhenduse vĂ”imalust (turvakaalutlustel).
Nii et oma uue kasutaja jaoks tuleb kÔigepealt genereerida SSH-vÔtmed arvutis, mille kaudu sisenete serverisse:
ssh-keygen -t rsa Avalik vÔti salvestatakse faili .pub ja nÀeb vÀlja kui juhuslike mÀrkide jada, mis algab ssh-rsa.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
Siis root-kasutajana looge serveris oma kodukatalooge SSH-i direktorium ja lisage avalik SSH-vÔti faili authorized_keys, kasutades tekstitöötlusprogrammi nagu Vim:
mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keysvim /home/user_name/.ssh/authorized_keysLÔpuks seadke faili Ôigused Ôigeks:
chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keysja muutke selle omaniku:
chown -R username:username /home/username/.sshKliendi poolel tuleb mÀÀrata salajase vÔtme asukoht autentimise jaoks:
ssh-add DIR_PATH/keylocationNĂŒĂŒd saab sisse logida serverisse kasutaja nimega selle vĂ”tmega:
ssh [username]@hostnamePĂ€rast autentimist saab kasutada kĂ€sku scp failide kopeerimiseks, utiliiti kaugfailisĂŒsteemi vĂ”i kaustade mountimiseks.
Soovitav on teha mitu varukoopiat privaatvĂ”tme jaoks, kuna kui katkestate parooliga autentimise ja kaotate selle, ei jÀÀ teile ĂŒldse mingit vĂ”imalust oma serverisse siseneda.
Kuidas mainitud, tuleb SSH-s keelata rootâile autentimine (seetĂ”ttu me uus kasutaja loome).
CentOS/Red Hatâis leiame rea PermitRootLogin yes konfiguratsioonifailist /etc/ssh/sshd_config ja muudame selle:
PermitRootLogin no Ubuntuâs lisame rea PermitRootLogin no konfiguratsioonifaili 10-my-sshd-settings.conf:
sudo echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.confJĂ€rgmiseks, pĂ€rast kontrollimist, et uus kasutaja lĂ€bib autentimise oma vĂ”tme kaudu, saab parooli autentimise vĂ€lja lĂŒlitada, et vĂ€ltida selle lekkimist vĂ”i bruteforce'it. NĂŒĂŒd peab rĂŒndaja serverisse sisenemiseks hankima privaatvĂ”tme.
CentOS/Red Hatâis leiame rea PasswordAuthentication yes konfiguratsioonifailist /etc/ssh/sshd_config ja muuda seda jĂ€rgmiselt:
PasswordAuthentication no Ubuntuâs lisame rea PasswordAuthentication no faili 10-my-sshd-settings.conf:
sudo echo "PasswordAuthentication no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.confKaksifaktorilise autentimise seadistamise juhend SSH kaudu vt. .
Tulekahjusild
Tulekahju pĂ”hi tĂ”utab, et serverisse pÀÀseb ainult liiklus, mis on lubatud nende portide kaudu, mille olete otse lubanud. See kaitseb sadamate ekspluateerimise eest, mis vĂ”ivad olla kogemata aktiivsed koos teiste teenustega, st kĂ€rbib rĂŒnde pinda oluliselt.
Enne tulemĂŒĂŒri installimist peate veenduma, et SSH on vĂ€lja jĂ€etud ja et see ei blokeeri. Vastasel juhul ei saa me tulemĂŒĂŒri kĂ€ivitamisel serverisse ĂŒhendust.
Ubuntu jaotisega kaasneb Uncomplicated Firewall (), ja CentOS/Red Hatiga â .
SSH lubamine tulemĂŒĂŒri kaudu Ubuntu-s:
sudo ufw allow ssh CentOS/Red Hat jaoks kasutame kÀsku firewall-cmd:
sudo firewall-cmd --zone=public --add-service=ssh --permanentPĂ€rast seda protseduuri saab tulemĂŒĂŒri kĂ€ivitada.
CentOS/Red Hat sĂŒsteemis kĂ€ivitame firewalld teenuse systemd jaoks:
sudo systemctl start firewalld
sudo systemctl enable firewalldUbuntu puhul kasutame jÀrgmist kÀsku:
sudo ufw enable
Fail2Ban
Teenuse analĂŒĂŒsib serveri logisid ja loendab iga IP-aadressiga juurdepÀÀsu katsete arvu. Seadistustes on mÀÀratud reeglid, kui palju juurdepÀÀsu katseid on teatud ajavahemikus lubatud â pĂ€rast seda blokeeritakse antud IP-aadress kindlaksmÀÀratud ajaks. NĂ€iteks lubame 5 ebaĂ”nnestunud SSH autentimiskatset kahe tunni jooksul, pĂ€rast mida blokeerime antud IP-aadressi 12 tunniks.
Fail2Ban'i installimine CentOS ja Red Hat:
sudo yum install fail2banInstallimine Ubuntu ja Debian:
sudo apt install fail2banKĂ€ivitamine:
systemctl start fail2ban
systemctl enable fail2ban Programmis on kaks konfiguratsioonifaili: /etc/fail2ban/fail2ban.conf ja /etc/fail2ban/jail.conf. Blokeerimise piirangud on mÀÀratud teises failis.
SSH jaoks on konfigureeritud default-jail (5 katset, intervall 10 minutit, keelamine 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 eksploidid populaarsetesse eksploitpakettidesse, mida hÀkkerid ja noored massiliselt kasutavad, skaneerides jÀrjest kÔiki servereid. SeetÔttu on vÀga oluline installida turvapaigad kohe, kui need ilmuvad.
Ubuntu serveris on vaikeseadistuses lubatud automaatne turvauuendus, seega ei ole tÀiendavaid samme vaja.
CentOS\/Red Hat puhul tuleb installida rakendus ja aktiveerida ajastaja:
sudo dnf upgrade
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timerAjastaja kontrollimine:
sudo systemctl status dnf-automatic.timer
Vaikimisi portide muutmine
SSH loodi 1995. aastal telneti (port 23) ja ftp (port 21) asendamiseks, seega valis programmi autor Tatu Iltonen , ja see kinnitati IANA-s.
Loomulikult on kĂ”ik kurjategijad teadlikud, millisel pordil SSH töötab â ja nad skaneerivad seda koos teiste standardsete pordidega, et teada saada tarkvara versioon, kontrollida standardseid root-parolle ja nii edasi.
Tavaportsra muutmine â obfuskatsioon â vĂ€hendab oluliselt rĂ€mpsliiklust, logifailide suurust ja serveri koormust, samuti rĂŒndepinda. Kuigi mĂ”ned (security through obscurity). PĂ”hjus on see, et see tehnika on vastandatud fundamentaalsele . SeetĂ”ttu nĂ€iteks USA Rahvuslik Standardite ja Tehnoloogia Instituut toob vĂ€lja vajaduse avatud serveri arhitektuuri: "SĂŒsteemi turvalisus ei tohiks toetuda komponentide teostuse varjule," öeldakse dokumendis.
Teoreetiliselt on vaikimisi portide muutmine vastuolus avatud arhitektuuri praktikaga. Kuid praktikas kahjurliikluse maht tÔepoolest kahaneb, nii et see on lihtne ja tÔhus meede.
Porti numbrit saab seadistada, muutes direktiivi Port 22 konfiguratsioonifailis. Samuti mÀÀratakse see parameetriga -p ĂŒhes . SSH klient ja programmid toetavad samuti parameetrit -p.
Parameeter -p vĂ”ib kasutada porti numbri mÀÀramiseks ĂŒhenduse loomisel kĂ€suga ssh Linuxis. Fail ja scp kasutatakse parameetrit -P (suurtĂ€ht P). KĂ€skluse rida ĂŒle kirjutab kĂ”ik vÀÀrtused konfiguratsioonifailides.
Kui servereid on palju, saab enamik Linux-serveri kaitsetegevusi automatiseerida skriptis. Kuid kui server on ainult ĂŒks, on parem protsessi kĂ€sitsi kontrollida.
Reklaami Ôigustes
Tellige ja alustage kohe tööd! ĂŒkskĂ”ik millise konfiguratsiooni ja igasuguse operatsioonisĂŒsteemiga ĂŒhe minutiga. Maksimaalne konfiguratsioon vĂ”imaldab kaotada end tĂ€ielikult â 128 CPU tuuma, 512 GB RAM, 4000 GB NVMe. Epic đ
Allikas: habr.com
