
, CC BY-SA
Sèjousi, mete kanpe yon sèvè sou yon hosting se yon kesyon de yon koup la minit ak kèk klik sourit la. Men, imedyatman apre lansman, li jwenn tèt li nan yon anviwònman ostil, paske li se ouvè a tout entènèt la tankou yon ti fi inosan nan yon disko rocker. Scanners pral jwenn li byen vit epi dekouvri dè milye de bots otomatikman script ki fouye rezo a pou chèche frajilite ak konfigirasyon ki pa kòrèk. Gen kèk bagay ou ta dwe fè imedyatman apre lansman pou asire pwoteksyon debaz.
Content
Itilizatè ki pa rasin
Premye bagay ou bezwen fè se kreye yon itilizatè ki pa rasin. Pwen an se ke itilizatè a root privilèj absoli nan sistèm nan, epi si ou pèmèt l 'administrasyon aleka, Lè sa a, ou pral fè mwatye travay la pou pirate a, kite yon non itilizatè valab pou li.
Se poutèt sa, ou bezwen kreye yon lòt itilizatè, ak enfim administrasyon aleka atravè SSH pou rasin.
Yon nouvo itilizatè kreye ak lòd la useradd:
useradd [options] <username> Lè sa a, yo ajoute yon modpas pou li ak lòd la passwd:
passwd <username> Finalman, itilizatè sa a bezwen ajoute nan yon gwoup ki gen dwa pou egzekite kòmandman ak privilèj wo sudo. Tou depan de distribisyon an Linux, sa yo ka diferan gwoup. Pou egzanp, nan CentOS ak Red Hat yon itilizatè ajoute nan yon gwoup wheel:
usermod -aG wheel <username> Sou Ubuntu li ajoute nan gwoup la sudo:
usermod -aG sudo <username>
Kle olye de modpas SSH
Fòs brital oswa flit modpas se yon vektè atak estanda, kidonk li pi bon pou enfim otantifikasyon modpas nan SSH (Secure Shell) epi sèvi ak otantifikasyon kle pito.
Gen diferan pwogram pou aplike pwotokòl SSH, tankou и , men ki pi popilè a se OpenSSH. Enstale kliyan OpenSSH la sou Ubuntu:
sudo apt install openssh-clientEnstalasyon sèvè:
sudo apt install openssh-serverKòmanse demon SSH (sshd) sou yon sèvè Ubuntu:
sudo systemctl start sshdOtomatikman kòmanse demon an sou chak bòt:
sudo systemctl enable sshd Li ta dwe remake ke pati nan sèvè OpenSSH gen ladan pati nan kliyan. Sa vle di, atravè openssh-server ou ka konekte ak lòt serveurs. Anplis, nan machin kliyan ou a ou ka lanse yon tinèl SSH soti nan yon sèvè aleka nan yon lame twazyèm-pati, ak Lè sa a, lame a twazyèm-pati pral konsidere sèvè a aleka kòm sous la nan demann. Yon fonksyon trè pratik pou maske sistèm ou an. Pou plis detay, gade atik la. .
Anjeneral pa gen okenn pwen nan enstale yon sèvè plen vÊritable sou machin nan kliyan yo nan lòd yo anpeche posibilite pou koneksyon aleka nan òdinatè a (pou rezon sekirite).
Se konsa, pou nouvo itilizatè ou an, ou premye bezwen jenere kle SSH sou òdinatè a ki soti nan kote ou pral jwenn aksè nan sèvè a:
ssh-keygen -t rsa Se kle piblik la ki estoke nan yon dosye .pub epi sanble yon seri karaktè o aza ki kòmanse ak ssh-rsa.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
Lè sa a, kòm rasin, kreye yon anyè SSH sou sèvè a nan anyè lakay itilizatè a epi ajoute kle piblik SSH la nan dosye a. authorized_keyslè l sèvi avèk yon editè tèks tankou Vim:
mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keysvim /home/user_name/.ssh/authorized_keysFinalman, mete otorizasyon ki kòrèk yo pou dosye a:
chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keysepi chanje pwopriyetè a itilizatè sa a:
chown -R username:username /home/username/.sshSou bò kliyan an, ou bezwen presize kote kle sekrè a pou otantifikasyon:
ssh-add DIR_PATH/keylocationKoulye a, ou ka konekte nan sèvè a anba non itilizatè a lè l sèvi avèk kle sa a:
ssh [username]@hostnameApre otorizasyon, ou ka sèvi ak kòmandman scp pou kopye fichye, sèvis piblik la pou monte adistans yon sistèm dosye oswa anyè.
Li rekòmande pou fè plizyè kopi sovgad kle prive a, paske si ou enfim otantifikasyon modpas epi pèdi li, ou p ap gen okenn fason pou w konekte nan sèvè pwòp ou a.
Kòm mansyone pi wo a, nan SSH ou bezwen enfim otantifikasyon pou rasin (pou rezon sa a nou te kreye yon nouvo itilizatè).
Sou CentOS/Red Hat nou jwenn liy lan PermitRootLogin yes nan dosye konfigirasyon an /etc/ssh/sshd_config epi chanje li:
PermitRootLogin no Sou Ubuntu ajoute liy lan PermitRootLogin no nan dosye konfigirasyon an 10-my-sshd-settings.conf:
sudo echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.confApre ou fin verifye ke nouvo itilizatè a otantifye lè l sèvi avèk kle yo, ou ka enfim otantifikasyon modpas pou elimine risk pou flit modpas oswa fòs brital. Koulye a, pou jwenn aksè nan sèvè a, atakè a ap bezwen jwenn kle prive a.
Sou CentOS/Red Hat nou jwenn liy lan PasswordAuthentication yes nan dosye konfigirasyon an /etc/ssh/sshd_config epi chanje li jan sa a:
PasswordAuthentication no Sou Ubuntu ajoute liy lan PasswordAuthentication no pou ranpli 10-my-sshd-settings.conf:
sudo echo "PasswordAuthentication no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.confPou enstriksyon sou kòman yo pèmèt otantifikasyon de faktè atravè SSH, gade .
Firewall
Firewall la asire ke sèlman trafik sou pò yo ke ou dirèkteman pèmèt pral ale nan sèvè a. Sa a pwoteje kont eksplwatasyon nan pò ki aksidantèlman pèmèt pa lòt sèvis, ki anpil diminye sifas la atak.
Anvan ou enstale yon firewall, ou bezwen asire w ke SSH enkli nan lis esklizyon an epi yo pa pral bloke. Sinon, apre yo fin kòmanse firewall la, nou pa yo pral kapab konekte ak sèvè a.
Distribisyon Ubuntu a vini ak Firewall san konplike (), ak CentOS/Red Hat - .
Pèmèt SSH nan firewall la sou Ubuntu:
sudo ufw allow ssh Sou CentOS/Red Hat nou itilize kòmandman an firewall-cmd:
sudo firewall-cmd --zone=public --add-service=ssh --permanentApre pwosedi sa a, ou ka kòmanse firewall la.
Sou CentOS/Red Hat nou lanse sèvis systemd pou firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalldSou Ubuntu nou itilize lòd sa a:
sudo ufw enable
Fail2Ban
Lapòs analize mòso bwa sèvè epi konte kantite tantativ aksè nan chak adrès IP. Anviwònman yo presize règ yo pou konbyen tantativ aksè yo pèmèt nan yon sèten entèval - apre yo fin adrès IP sa a bloke pou yon peryòd tan espesifye. Pou egzanp, nou pèmèt 5 tantativ otantifikasyon san siksè atravè SSH nan yon peryòd de 2 èdtan, apre sa nou bloke adrès IP sa a pou 12 èdtan.
Enstale Fail2Ban sou CentOS ak Red Hat:
sudo yum install fail2banEnstalasyon sou Ubuntu ak Debian:
sudo apt install fail2banLanse:
systemctl start fail2ban
systemctl enable fail2ban Pwogram nan gen de dosye konfigirasyon: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. Restriksyon entèdiksyon yo espesifye nan dezyèm dosye a.
Prizon pou SSH aktive pa default ak paramèt default (5 tantativ, entèval 10 minit, entèdiksyon pou 10 minit).
[DEFAULT] ignorecommand = bantime = 10m findtime = 10m maxretry = 5
Anplis SSH, Fail2Ban ka pwoteje lòt sèvis sou sèvè entènèt nginx oswa Apache.
Mizajou sekirite otomatik yo
Kòm ou konnen, nouvo frajilite yo toujou ap jwenn nan tout pwogram yo. Apre enfòmasyon yo pibliye, eksplwatasyon yo ajoute nan pake eksplwatasyon popilè yo, ki lajman itilize pa entru ak adolesan lè yo analize tout sèvè nan yon ranje. Se poutèt sa, li trè enpòtan pou enstale mizajou sekirite le pli vit ke yo vin disponib.
Sèvè Ubuntu gen mizajou sekirite otomatik yo aktive pa default, kidonk pa gen okenn etap adisyonèl ki nesesè.
Sou CentOS/Red Hat ou bezwen enstale aplikasyon an epi limen revèy la:
sudo dnf upgrade
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timerTcheke revèy:
sudo systemctl status dnf-automatic.timer
Chanje pò default yo
SSH te devlope an 1995 pou ranplase telnet (pò 23) ak ftp (pò 21), kidonk otè pwogram nan se Tatu Iltonen. , epi li te apwouve pa IANA.
Natirèlman, tout atakè yo konnen ki pò SSH ap kouri sou - epi tcheke li ansanm ak lòt pò estanda yo chèche konnen vèsyon an lojisyèl, yo tcheke modpas rasin estanda, ak sou sa.
Chanje pò estanda-obfuscation-plizyè fwa diminye volim nan trafik fatra, gwosè a nan mòso bwa ak chaj la sou sèvè a, epi tou redwi sifas la atak. Malgre ke gen kèk (sekirite nan fènwa). Rezon ki fè la se ke teknik sa a opoze ak fondamantal la . Se poutèt sa, pou egzanp, US National Institute of Standards and Technology endike nesesite pou yon achitekti sèvè louvri: "Sekirite a nan yon sistèm pa ta dwe konte sou sekrè nan aplikasyon an nan eleman li yo," dokiman an di.
Nan teyori, chanje pò yo default se kontrè ak pratik achitekti louvri. Men, nan pratik, volim nan trafik move aktyèlman diminye, kidonk sa a se yon mezi ki senp epi efikas.
Nimewo pò a ka configurÊ pa chanje direktiv la Port 22 nan dosye konfigirasyon an . Li se tou endike pa paramèt la -p <port> в . Kliyan SSH ak pwogram yo sipòte tou paramèt la -p <port>.
Paramèt -p <port> ka itilize pou presize nimewo pò a lè w konekte lè l sèvi avèk lòd la ssh nan Linux. NAN и scp paramèt yo itilize -P <port> (Majiskil P). Espesifye li nan liy kòmand la pase nenpòt valè nan dosye konfigirasyon yo.
Si gen anpil serveurs, prèske tout aksyon sa yo pou pwoteje yon sèvè Linux ka otomatize nan yon script. Men, si gen yon sèl sèvè, Lè sa a, li pi bon manyèlman kontwole pwosesis la.
Sou Dwa yo nan Piblisite
Kòmande epi kòmanse travay touswit! nenpòt konfigirasyon ak nenpòt sistèm opere nan yon minit. Konfigirasyon maksimòm lan pral pèmèt ou gen yon eksplozyon - 128 nwayo CPU, 512 GB RAM, 4000 GB NVMe. Byen sezon :)
Sous: www.habr.com
