
, CC BY-SA
Illum il-ġurnata, it-twaqqif ta 'server fuq hosting huwa kwistjoni ta' ftit minuti u ftit klikks tal-maws. Iżda immedjatament wara t-tnedija, isib ruħu f'ambjent ostili, għax huwa miftuħ għall-Internet kollu bħal tfajla innoċenti f'rocker disco. L-iskaners isibuha malajr u jiskopru eluf ta' bots b'kitba awtomatika li jfittxu n-netwerk biex ifittxu vulnerabbiltajiet u konfigurazzjonijiet mhux korretti. Hemm ftit affarijiet li għandek tagħmel immedjatament wara t-tnedija biex tiżgura protezzjoni bażika.
Kontenut
Utent mhux root
L-ewwel ħaġa li trid tagħmel hu li toħloq utent mhux root. Il-punt huwa li l-utent root privileġġi assoluti fis-sistema, u jekk inti tippermettilu amministrazzjoni remota, allura inti se tagħmel nofs ix-xogħol għall-hacker, li jħallu username validu għalih.
Għalhekk, għandek bżonn toħloq utent ieħor, u tiddiżattiva l-amministrazzjoni remota permezz ta 'SSH għall-għeruq.
Jinħoloq utent ġdid bil-kmand useradd:
useradd [options] <username> Imbagħad password hija miżjuda għaliha mal-kmand passwd:
passwd <username> Fl-aħħarnett, dan l-utent jeħtieġ li jiġi miżjud ma 'grupp li għandu d-dritt li jesegwixxi kmandi bi privileġġi elevati sudo. Skont id-distribuzzjoni tal-Linux, dawn jistgħu jkunu gruppi differenti. Pereżempju, f'CentOS u Red Hat utent jiżdied ma' grupp wheel:
usermod -aG wheel <username> Fuq Ubuntu huwa miżjud mal-grupp sudo:
usermod -aG sudo <username>
Ċwievet minflok passwords SSH
Il-forza bruta jew it-tnixxija tal-password hija vettur ta 'attakk standard, għalhekk huwa aħjar li tiddiżattiva l-awtentikazzjoni tal-password f'SSH (Secure Shell) u minflok tuża l-awtentikazzjoni taċ-ċavetta.
Hemm programmi differenti biex jimplimentaw il-protokoll SSH, bħal и , iżda l-aktar popolari huwa OpenSSH. Installazzjoni tal-klijent OpenSSH fuq Ubuntu:
sudo apt install openssh-clientInstallazzjoni tas-server:
sudo apt install openssh-serverNibda d-daemon SSH (sshd) fuq server Ubuntu:
sudo systemctl start sshdIbda d-daemon awtomatikament fuq kull boot:
sudo systemctl enable sshd Għandu jiġi nnutat li l-parti tas-server OpenSSH tinkludi l-parti tal-klijent. Jiġifieri permezz openssh-server tista' tikkonnettja ma' servers oħra. Barra minn hekk, mill-magna tal-klijent tiegħek tista 'tniedi mina SSH minn server remot għal host ta' parti terza, u mbagħad l-ospitant ta 'parti terza jikkunsidra s-server remot bħala s-sors tat-talbiet. Funzjoni konvenjenti ħafna għall-maskra tas-sistema tiegħek. Għal aktar dettalji, ara l-artiklu. .
Normalment ma jkun hemm l-ebda punt li jiġi installat server sħiħ fuq il-magna tal-klijent sabiex tiġi evitata l-possibbiltà ta 'konnessjoni remota mal-kompjuter (għal raġunijiet ta' sigurtà).
Għalhekk, għall-utent il-ġdid tiegħek, l-ewwel trid tiġġenera ċwievet SSH fuq il-kompjuter li minnu ser ikollok aċċess għas-server:
ssh-keygen -t rsa Iċ-ċavetta pubblika hija maħżuna f'fajl .pub u qisu sensiela ta 'karattri każwali li tibda bil ssh-rsa.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
Imbagħad, bħala għerq, oħloq direttorju SSH fuq is-server fid-direttorju tad-dar tal-utent u żid iċ-ċavetta pubblika SSH mal-fajl authorized_keysbilli tuża editur tat-test bħal Vim:
mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keysvim /home/user_name/.ssh/authorized_keysFl-aħħarnett, issettja l-permessi korretti għall-fajl:
chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keysu ibdel is-sjieda lil dan l-utent:
chown -R username:username /home/username/.sshMin-naħa tal-klijent, trid tispeċifika l-post taċ-ċavetta sigrieta għall-awtentikazzjoni:
ssh-add DIR_PATH/keylocationIssa tista' tidħol fis-server taħt l-isem tal-utent billi tuża din iċ-ċavetta:
ssh [username]@hostnameWara l-awtorizzazzjoni, tista 'tuża l-kmand scp biex tikkopja fajls, l-utilità għall-immuntar mill-bogħod ta' sistema ta' fajls jew direttorji.
Huwa rakkomandabbli li tagħmel diversi kopji ta 'backup taċ-ċavetta privata, għaliex jekk tiddiżattiva l-awtentikazzjoni tal-password u titlifha, ma jkollok ebda mod biex tidħol fis-server tiegħek.
Kif imsemmi hawn fuq, f'SSH trid tiddiżattiva l-awtentikazzjoni għall-għeruq (għal din ir-raġuni ħloqna utent ġdid).
Fuq CentOS/Red Hat insibu l-linja PermitRootLogin yes fil-fajl tal-konfigurazzjoni /etc/ssh/sshd_config u ibdelha:
PermitRootLogin no Fuq Ubuntu żid il-linja PermitRootLogin no għall-fajl tal-konfigurazzjoni 10-my-sshd-settings.conf:
sudo echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.confWara li tivverifika li l-utent il-ġdid huwa awtentikat bl-użu taċ-ċavetta tiegħu, tista 'tiddiżattiva l-awtentikazzjoni tal-password biex telimina r-riskju ta' tnixxija tal-password jew forza bruta. Issa, biex jaċċessa s-server, l-attakkant ikollu bżonn jikseb iċ-ċavetta privata.
Fuq CentOS/Red Hat insibu l-linja PasswordAuthentication yes fil-fajl tal-konfigurazzjoni /etc/ssh/sshd_config u ibdelha kif ġej:
PasswordAuthentication no Fuq Ubuntu żid il-linja PasswordAuthentication no għall-fajl 10-my-sshd-settings.conf:
sudo echo "PasswordAuthentication no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.confGħal struzzjonijiet dwar kif tiġi attivata l-awtentikazzjoni b'żewġ fatturi permezz ta' SSH, ara .
Firewall
Il-firewall jiżgura li t-traffiku biss fuq il-portijiet li inti tippermetti direttament imur għas-server. Dan jipproteġi kontra l-isfruttament tal-portijiet li huma aċċidentalment attivati minn servizzi oħra, li jnaqqas ħafna l-wiċċ tal-attakk.
Qabel ma tinstalla firewall, trid tiżgura li SSH huwa inkluż fil-lista ta 'esklużjoni u mhux se jiġi mblukkat. Inkella, wara li nibdew il-firewall, ma nkunux nistgħu nikkonnettjaw mas-server.
Id-distribuzzjoni tal-Ubuntu tiġi b'Uncomplicated Firewall (), u b'CentOS/Red Hat - .
Nippermettu SSH fil-firewall fuq Ubuntu:
sudo ufw allow ssh Fuq CentOS/Red Hat nużaw il-kmand firewall-cmd:
sudo firewall-cmd --zone=public --add-service=ssh --permanentWara din il-proċedura, tista 'tibda l-firewall.
Fuq CentOS/Red Hat inniedu s-servizz systemd għal firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalldFuq Ubuntu nużaw il-kmand li ġej:
sudo ufw enable
Fail2Ban
Servizz janalizza r-reġistri tas-server u jgħodd in-numru ta' tentattivi ta' aċċess minn kull indirizz IP. Is-settings jispeċifikaw ir-regoli għal kemm huma permessi tentattivi ta 'aċċess f'ċertu intervall - wara dan l-indirizz IP jiġi mblukkat għal perjodu ta' żmien speċifikat. Pereżempju, aħna nħallu 5 tentattivi ta 'awtentikazzjoni mingħajr suċċess permezz ta' SSH f'perjodu ta 'sagħtejn, u wara nibblukkaw dan l-indirizz IP għal 2-il siegħa.
Installazzjoni ta' Fail2Ban fuq CentOS u Red Hat:
sudo yum install fail2banInstallazzjoni fuq Ubuntu u Debian:
sudo apt install fail2banTnedija:
systemctl start fail2ban
systemctl enable fail2ban Il-programm għandu żewġ fajls ta 'konfigurazzjoni: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. Ir-restrizzjonijiet tal-projbizzjoni huma speċifikati fit-tieni fajl.
Il-ħabs għal SSH hija attivata awtomatikament b'settings default (5 tentattivi, intervall 10 minuti, projbizzjoni għal 10 minuti).
[DEFAULT] ignorecommand = bantime = 10m findtime = 10m maxretry = 5
Minbarra SSH, Fail2Ban jista 'jipproteġi servizzi oħra fuq is-server tal-web nginx jew Apache.
Aġġornamenti awtomatiċi tas-sigurtà
Kif tafu, vulnerabbiltajiet ġodda jinsabu kontinwament fil-programmi kollha. Wara li l-informazzjoni tiġi ppubblikata, l-isfruttamenti huma miżjuda ma 'pakketti ta' sfruttament popolari, li jintużaw ħafna minn hackers u adoloxxenti meta jiskennjaw is-servers kollha wara xulxin. Għalhekk, huwa importanti ħafna li jiġu installati aġġornamenti tas-sigurtà hekk kif isiru disponibbli.
Is-servers Ubuntu għandhom aġġornamenti awtomatiċi tas-sigurtà attivati b'mod awtomatiku, għalhekk m'hemmx bżonn ta 'passi addizzjonali.
Fuq CentOS/Red Hat għandek bżonn tinstalla l-applikazzjoni u ixgħel it-tajmer:
sudo dnf upgrade
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timerKontroll tat-tajmer:
sudo systemctl status dnf-automatic.timer
Nibdlu l-portijiet default
SSH ġie żviluppat fl-1995 biex jissostitwixxi telnet (port 23) u ftp (port 21), għalhekk l-awtur tal-programm huwa Tatu Iltonen , u ġie approvat mill-IANA.
Naturalment, l-attakkanti kollha jafu fuq liema port SSH qed jaħdem - u skennjawh flimkien ma 'portijiet standard oħra biex issir taf il-verżjoni tas-softwer, biex tiċċekkja l-passwords standard tal-għeruq, eċċ.
It-tibdil tal-portijiet standard - tfixkil - inaqqas il-volum tat-traffiku junk, id-daqs ta 'zkuk u t-tagħbija fuq is-server diversi drabi, u jnaqqas ukoll il-wiċċ tal-attakk. Għalkemm xi wħud (sigurtà permezz tal-oskurità). Ir-raġuni hija li din it-teknika hija kuntrarja għall-fundamentali . Għalhekk, pereżempju, l-Istitut Nazzjonali tal-Istandards u t-Teknoloġija tal-Istati Uniti jindika l-ħtieġa għal arkitettura ta 'server miftuħ: "Is-sigurtà ta' sistema m'għandhiex tiddependi fuq is-segretezza tal-implimentazzjoni tal-komponenti tagħha," jgħid id-dokument.
Fit-teorija, it-tibdil tal-portijiet default huwa kuntrarju għall-prattiki tal-arkitettura miftuħa. Iżda fil-prattika, il-volum ta 'traffiku malizzjuż fil-fatt jonqos, għalhekk din hija miżura sempliċi u effettiva.
In-numru tal-port jista 'jiġi kkonfigurat billi tinbidel id-direttiva Port 22 fil-fajl tal-konfigurazzjoni . Huwa indikat ukoll mill-parametru -p <port> в . Klijent u programmi SSH jappoġġjaw ukoll il-parametru -p <port>.
Parametru -p <port> jista 'jintuża biex jispeċifika n-numru tal-port meta tikkonnettja bl-użu tal-kmand ssh fil-Linux. IN и scp jintuża parametru -P <port> (kapital P). L-ispeċifikazzjoni tagħha mil-linja tal-kmand tipprevali kwalunkwe valur fil-fajls tal-konfigurazzjoni.
Jekk hemm ħafna servers, kważi dawn l-azzjonijiet kollha biex jipproteġu server Linux jistgħu jiġu awtomatizzati fi skript. Imma jekk hemm server wieħed biss, allura huwa aħjar li tikkontrolla l-proċess manwalment.
Dwar id-Drittijiet tar-Reklamar
Ordna u ibda taħdem mill-ewwel! kwalunkwe konfigurazzjoni u bi kwalunkwe sistema operattiva fi żmien minuta. Il-konfigurazzjoni massima tippermettilek li jkollok blast - 128 CPU cores, 512 GB RAM, 4000 GB NVMe. Pjuttost epika :)
Sors: www.habr.com
