Tänapäeval on serveri seadistamine hostingus paari minuti ja mõne hiireklõpsu küsimus. Kuid kohe pärast käivitamist satub ta vaenulikku keskkonda, sest on avatud kogu internetile nagu süütu neiu rokidiskos. Skannerid leiavad selle kiiresti ja avastavad tuhandeid automaatselt skriptitud roboteid, mis uurivad võrku haavatavusi ja valesid konfiguratsioone otsides. Kohe pärast käivitamist peaksite esmase kaitse tagamiseks tegema mõned asjad.
Esimene asi, mida peate tegema, on luua mitte-juurkasutaja. Asi on selles, et kasutaja root süsteemis absoluutsed privileegid ja kui lubate tal kaughalduse, siis teete häkkeri eest pool tööd, jättes talle kehtiva kasutajanime.
Seetõttu peate looma teise kasutaja ja keelama root jaoks SSH kaudu kaughalduse.
Uus kasutaja luuakse käsuga useradd:
useradd [options] <username>
Seejärel lisatakse sellele käsuga parool passwd:
passwd <username>
Lõpuks tuleb see kasutaja lisada gruppi, millel on õigus kõrgendatud õigustega käske täita sudo. Olenevalt Linuxi distributsioonist võivad need olla erinevad rühmad. Näiteks CentOS-is ja Red Hatis lisatakse kasutaja gruppi wheel:
usermod -aG wheel <username>
Ubuntu puhul lisatakse see rühma sudo:
usermod -aG sudo <username>
Võtmed SSH-paroolide asemel
Toores jõud või paroolileke on tavaline ründevektor, seega on parem SSH-s (Secure Shell) parooli autentimine keelata ja kasutada selle asemel võtme autentimist.
SSH-protokolli juurutamiseks on erinevaid programme, nt lsh и tilkkaru, kuid kõige populaarsem on OpenSSH. OpenSSH-kliendi installimine Ubuntule:
sudo apt install openssh-client
Serveri installimine:
sudo apt install openssh-server
SSH-deemoni (sshd) käivitamine Ubuntu serveris:
sudo systemctl start sshd
Deemoni automaatne käivitamine igal alglaadimisel:
sudo systemctl enable sshd
Tuleb märkida, et OpenSSH-serveri osa sisaldab kliendiosa. See tähendab, et läbi openssh-server saate ühenduse luua teiste serveritega. Lisaks saate oma klientmasinast käivitada SSH-tunneli kaugserverist kolmanda osapoole hosti ja seejärel käsitleb kolmanda osapoole host kaugserverit päringute allikana. Väga mugav funktsioon süsteemi maskeerimiseks. Lisateavet leiate artiklist. "Praktilised näpunäited, näited ja SSH tunnelid".
Täisväärtuslikku serverit pole enamasti mõtet klientmasinasse paigaldada, et välistada arvutiga kaugühenduse võimalus (turvakaalutlustel).
Seega peate oma uue kasutaja jaoks esmalt genereerima SSH-võtmed arvutis, kust pääsete juurde serverile:
ssh-keygen -t rsa
Avalik võti salvestatakse faili .pub ja näeb välja nagu juhuslike märkide jada, mis algab tähega ssh-rsa.
Seejärel loo administraatorina SSH kataloog serveris kasutaja kodukataloogis ja lisa failile SSH avalik võti authorized_keyskasutades tekstiredaktorit nagu Vim:
Kliendi poolel peate määrama autentimiseks salajase võtme asukoha:
ssh-add DIR_PATH/keylocation
Nüüd saate selle võtmega kasutajanime all serverisse sisse logida:
ssh [username]@hostname
Pärast autoriseerimist saate failide kopeerimiseks kasutada käsku scp, utiliiti sshfs failisüsteemi või kataloogide kaugühendamiseks.
Soovitatav on teha privaatvõtmest mitu varukoopiat, sest parooli autentimise keelamisel ja selle kaotamisel pole teil enam võimalust oma serverisse sisse logida.
Nagu eespool mainitud, peate SSH-s root autentimise keelama (sel põhjusel lõime uue kasutaja).
Kui olete veendunud, et uus kasutaja on tema võtmega autentitud, saate parooliga autentimise keelata, et vältida paroolilekke või toore jõu ohtu. Nüüd peab ründaja serverile juurdepääsuks hankima privaatvõtme.
CentOS/Red Hat'is leiame joone PasswordAuthentication yes konfiguratsioonifailis /etc/ssh/sshd_config ja muutke seda järgmiselt:
PasswordAuthentication no
Ubuntus lisage rida PasswordAuthentication no viilima 10-my-sshd-settings.conf:
Juhiseid kahefaktorilise autentimise lubamise kohta SSH kaudu vt siin.
Tulemüür
Tulemüür tagab, et serverisse suunatakse ainult liiklus nendes portides, mida te otse lubate. See kaitseb teiste teenuste poolt kogemata lubatud portide ärakasutamise eest, mis vähendab oluliselt rünnaku pinda.
Enne tulemüüri installimist peate veenduma, et SSH on välistamise loendis ja seda ei blokeerita. Vastasel juhul ei saa me pärast tulemüüri käivitamist serveriga ühendust luua.
Ubuntu distributsioon on varustatud komplitseerimata tulemüüriga (vau) ja CentOS/Red Hatiga – tulemüür.
Teenus Fail2Ban analüüsib serveri logisid ja loendab iga IP-aadressi juurdepääsukatsete arvu. Seadistused määravad reeglid, mitu juurdepääsukatset on teatud intervalli jooksul lubatud – pärast mida see IP-aadress teatud ajaks blokeeritakse. Näiteks lubame 5 tunni jooksul SSH kaudu 2 ebaõnnestunud autentimiskatset, misjärel blokeerime selle IP-aadressi 12 tunniks.
Programmil on kaks konfiguratsioonifaili: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. Keelupiirangud on määratud teises failis.
Jail for SSH on vaikimisi lubatud vaikeseadetega (5 katset, intervall 10 minutit, keeld 10 minutit).
[VAIKE] ignorecommand = bantime = 10 m leidmisaeg = 10 m max katse = 5
Lisaks SSH-le saab Fail2Ban kaitsta teisi teenuseid nginxi või Apache veebiserveris.
Automaatsed turvavärskendused
Teatavasti leitakse kõikidest programmidest pidevalt uusi turvaauke. Pärast teabe avaldamist lisatakse populaarsetele exploit-pakettidele exploitid, mida häkkerid ja teismelised laialdaselt kasutavad, kui nad skannivad kõiki servereid järjest. Seetõttu on väga oluline installida turvavärskendused kohe, kui need kättesaadavaks muutuvad.
Ubuntu serverites on automaatsed turvavärskendused vaikimisi lubatud, seega pole lisatoiminguid vaja.
CentOS/Red Hat'is peate rakenduse installima dnf-automaatne ja lülitage taimer sisse:
SSH töötati välja 1995. aastal, et asendada telnet (port 23) ja ftp (port 21), seega on programmi autor Tatu Iltonen valis vaikimisi pordi 22ja selle kiitis heaks IANA.
Loomulikult teavad kõik ründajad, millisel pordil SSH töötab – ja skannivad seda koos teiste standardportidega, et teada saada tarkvara versioon, kontrollida standardseid juurparoole jne.
Standardsete portide muutmine – hägustamine – vähendab rämpsliikluse mahtu, logide suurust ja serveri koormust mitu korda ning vähendab ka ründepinda. Kuigi mõned kritiseerida seda meetodit "kaitse läbi varguse" (turvalisus läbi hämaruse). Põhjus on selles, et see tehnika on vastuolus põhilisega arhitektuurikaitse. Seetõttu näiteks USA riiklik standardi- ja tehnoloogiainstituut "Serveri turvajuhend" viitab vajadusele avatud serveriarhitektuuri järele: "Süsteemi turvalisus ei tohiks tugineda selle komponentide juurutamise salasusele," öeldakse dokumendis.
Teoreetiliselt on vaikeportide muutmine vastuolus avatud arhitektuuri tavadega. Kuid praktikas pahatahtliku liikluse maht tegelikult väheneb, seega on see lihtne ja tõhus meede.
Pordi numbrit saab seadistada käskkirja muutes Port 22 konfiguratsioonifailis / etc / ssh / sshd_config. Seda näitab ka parameeter -p <port> в sSHD. SSH klient ja programmid sftp toetavad ka parameetrit -p <port>.
Parameeter -p <port> saab kasutada pordi numbri määramiseks käsuga ühenduse loomisel ssh Linuxis. IN sftp и scp parameetrit kasutatakse -P <port> (suurtäht P). Selle määramine käsurealt alistab kõik väärtused konfiguratsioonifailides.
Kui servereid on palju, saab peaaegu kõiki neid Linuxi serveri kaitsmise toiminguid skriptis automatiseerida. Aga kui servereid on ainult üks, siis on parem protsessi käsitsi juhtida.
Reklaamide õiguste kohta
Telli ja asu kohe tööle! VDS-i loomine mis tahes konfiguratsiooniga ja mis tahes operatsioonisüsteemiga minuti jooksul. Maksimaalne konfiguratsioon võimaldab teil lõhkeda - 128 protsessorituuma, 512 GB muutmälu, 4000 GB NVMe. Päris eepiline :)