Y dyddiau hyn, mae codi gweinydd ar westeiwr yn fater o ychydig funudau ac ychydig o gliciau llygoden. Ond yn syth ar ôl ei lansio, mae'n cael ei hun mewn amgylchedd gelyniaethus, oherwydd ei fod yn agored i'r Rhyngrwyd gyfan fel merch ddiniwed mewn disgo rocer. Bydd sganwyr yn dod o hyd iddo'n gyflym ac yn canfod miloedd o fotiau wedi'u sgriptio'n awtomatig sy'n sgwrio'r rhwydwaith yn chwilio am wendidau a chamgyfluniadau. Mae yna ychydig o bethau y dylech eu gwneud yn iawn ar ôl lansio i sicrhau amddiffyniad sylfaenol.
Y cam cyntaf yw creu defnyddiwr nad yw'n gwraidd i chi'ch hun. Y pwynt yw bod y defnyddiwr root breintiau absoliwt yn y system, ac os ydych chi'n caniatáu gweinyddiaeth bell iddo, yna byddwch chi'n gwneud hanner y gwaith i'r haciwr, gan adael enw defnyddiwr dilys iddo.
Felly, mae angen i chi greu defnyddiwr arall, ac analluogi gweinyddu o bell trwy SSH ar gyfer gwraidd.
Dechreuir defnyddiwr newydd gan y gorchymyn useradd:
useradd [options] <username>
Yna ychwanegir cyfrinair ar ei gyfer gyda'r gorchymyn passwd:
passwd <username>
Yn olaf, mae angen ychwanegu'r defnyddiwr hwn at grŵp sydd â'r hawl i weithredu gorchmynion uchel sudo. Yn dibynnu ar y dosbarthiad Linux, gall y rhain fod yn grwpiau gwahanol. Er enghraifft, yn CentOS a Red Hat, mae'r defnyddiwr yn cael ei ychwanegu at y grŵp wheel:
usermod -aG wheel <username>
Yn Ubuntu mae'n cael ei ychwanegu at y grŵp sudo:
usermod -aG sudo <username>
Allweddi yn lle cyfrineiriau SSH
Mae grym cryf neu ollyngiadau cyfrinair yn fector ymosodiad safonol, felly mae'n well analluogi dilysu cyfrinair yn SSH (Secure Shell) a defnyddio dilysiad allweddol yn lle hynny.
Mae yna raglenni amrywiol ar gyfer gweithredu'r protocol SSH, megis lsh и diferyn, ond y mwyaf poblogaidd yw OpenSSH. Gosod y cleient OpenSSH ar Ubuntu:
sudo apt install openssh-client
Gosod gweinydd:
sudo apt install openssh-server
Dechrau'r daemon SSH (sshd) ar y gweinydd Ubuntu:
sudo systemctl start sshd
Cychwynnwch yr ellyll ar bob cist yn awtomatig:
sudo systemctl enable sshd
Dylid nodi bod rhan gweinydd OpenSSH yn cynnwys rhan y cleient. Hynny yw, drwodd openssh-server gallwch gysylltu â gweinyddwyr eraill. Ar ben hynny, o'ch peiriant cleient, gallwch chi gychwyn twnnel SSH o weinydd pell i westeiwr trydydd parti, ac yna bydd y gwesteiwr trydydd parti yn ystyried y gweinydd pell fel ffynhonnell y ceisiadau. Nodwedd ddefnyddiol iawn ar gyfer cuddio'ch system. Gweler yr erthygl am fwy o fanylion "Awgrymiadau Ymarferol, Enghreifftiau, a Thwneli SSH".
Ar beiriant cleient, fel arfer nid yw'n gwneud unrhyw synnwyr i osod gweinydd cyflawn er mwyn atal y posibilrwydd o gysylltiad o bell â chyfrifiadur (am resymau diogelwch).
Felly, ar gyfer eich defnyddiwr newydd, yn gyntaf mae angen i chi gynhyrchu allweddi SSH ar y cyfrifiadur y byddwch chi'n cyrchu'r gweinydd ohono:
ssh-keygen -t rsa
Mae'r allwedd gyhoeddus yn cael ei storio mewn ffeil .pub ac mae'n edrych fel cyfres o gymeriadau ar hap sy'n dechrau ssh-rsa.
Yna, o dan wraidd, creu cyfeiriadur SSH ar y gweinydd yng nghyfeiriadur cartref y defnyddiwr ac ychwanegu'r allwedd gyhoeddus SSH i'r ffeil authorized_keys, gan ddefnyddio golygydd testun fel Vim:
Ar ochr y cleient, mae angen i chi nodi lleoliad yr allwedd gyfrinachol ar gyfer dilysu:
ssh-add DIR_PATH/keylocation
Nawr gallwch chi fewngofnodi i'r gweinydd o dan yr enw defnyddiwr gan ddefnyddio'r allwedd hon:
ssh [username]@hostname
Ar ôl awdurdodi, gallwch ddefnyddio'r gorchymyn scp i gopïo ffeiliau, y cyfleustodau sshfs i osod system ffeiliau neu gyfeiriaduron o bell.
Fe'ch cynghorir i wneud sawl copi wrth gefn o'r allwedd breifat, oherwydd os byddwch yn analluogi dilysu cyfrinair a'i golli, yna ni fydd gennych unrhyw ffordd i fewngofnodi i'ch gweinydd eich hun o gwbl.
Fel y soniwyd uchod, yn SSH mae angen i chi analluogi dilysu gwraidd (dyma'r rheswm pam y dechreuon ni ddefnyddiwr newydd).
Ar CentOS/Red Hat rydym yn dod o hyd i'r llinell PermitRootLogin yes yn y ffeil ffurfweddu /etc/ssh/sshd_config a'i newid:
PermitRootLogin no
Ar Ubuntu ychwanegwch y llinell PermitRootLogin no i'r ffeil ffurfweddu 10-my-sshd-settings.conf:
Ar ôl gwirio bod y defnyddiwr newydd yn dilysu gyda'i allwedd, gallwch analluogi dilysu cyfrinair i ddileu'r risg o ollyngiad cyfrinair neu rym 'n Ysgrublaidd. Nawr, er mwyn cyrchu'r gweinydd, bydd angen i ymosodwr gael allwedd breifat.
Ar CentOS/Red Hat rydym yn dod o hyd i'r llinell PasswordAuthentication yes yn y ffeil ffurfweddu /etc/ssh/sshd_config a'i newid fel hyn:
PasswordAuthentication no
Ar Ubuntu ychwanegwch y llinell PasswordAuthentication no i ffeilio 10-my-sshd-settings.conf:
Am gyfarwyddiadau ar alluogi dilysu dau ffactor trwy SSH, gweler yma.
wal dân
Mae'r wal dân yn sicrhau mai dim ond y traffig ar y porthladdoedd rydych chi'n eu caniatáu yn uniongyrchol fydd yn mynd i'r gweinydd. Mae hyn yn amddiffyn rhag ecsbloetio porthladdoedd sy'n cael eu galluogi'n ddamweiniol gyda gwasanaethau eraill, sy'n lleihau'r wyneb ymosodiad yn fawr.
Cyn gosod wal dân, mae angen i chi sicrhau bod SSH wedi'i gynnwys yn y rhestr wahardd ac na fydd yn cael ei rwystro. Fel arall, ar ôl cychwyn y wal dân, ni fyddwn yn gallu cysylltu â'r gweinydd.
Daw dosbarthiad Ubuntu gyda Mur Tân Syml (ufw), a gyda CentOS/Red Hat - firewalld.
Caniatáu SSH yn y wal dân ar Ubuntu:
sudo ufw allow ssh
Ar CentOS/Red Hat defnyddiwch y gorchymyn firewall-cmd:
Ar Ubuntu rydym yn defnyddio'r gorchymyn canlynol:
sudo ufw enable
Fail2Ban
Gwasanaeth Fail2Ban yn dadansoddi logiau ar y gweinydd ac yn cyfrif nifer yr ymgeisiau mynediad o bob cyfeiriad IP. Mae'r gosodiadau'n nodi'r rheolau ar gyfer faint o ymdrechion mynediad a ganiateir am gyfnod penodol - ac ar ôl hynny mae'r cyfeiriad IP hwn yn cael ei rwystro am gyfnod penodol o amser. Er enghraifft, gadewch i ni ganiatáu 5 ymgais ddilysu SSH a fethwyd o fewn 2 awr, yna rhwystrwch y cyfeiriad IP a roddwyd am 12 awr.
Mae gan y rhaglen ddwy ffeil ffurfweddu: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. Mae cyfyngiadau gwaharddiad wedi'u nodi yn yr ail ffeil.
Mae carchar ar gyfer SSH wedi'i alluogi yn ddiofyn gyda gosodiadau diofyn (5 ymgais, egwyl 10 munud, gwaharddiad am 10 munud).
Yn ogystal â SSH, gall Fail2Ban amddiffyn gwasanaethau eraill ar weinydd gwe nginx neu Apache.
Diweddariadau diogelwch awtomatig
Fel y gwyddoch, mae gwendidau newydd i'w cael yn gyson ym mhob rhaglen. Ar ôl i'r wybodaeth gael ei chyhoeddi, mae campau'n cael eu hychwanegu at becynnau ecsbloetio poblogaidd, sy'n cael eu defnyddio'n aruthrol gan hacwyr a phobl ifanc yn eu harddegau wrth sganio pob gweinydd yn olynol. Felly, mae'n bwysig iawn gosod diweddariadau diogelwch cyn gynted ag y byddant yn ymddangos.
Ar weinydd Ubuntu, mae diweddariadau diogelwch awtomatig yn cael eu galluogi yn ddiofyn, felly nid oes angen unrhyw gamau pellach.
Ar CentOS/Red Hat mae angen i chi osod y rhaglen dnf-awtomatig a throwch yr amserydd ymlaen:
Datblygwyd SSH ym 1995 i ddisodli telnet (porthladd 23) a ftp (porthladd 21), felly awdur y rhaglen, Tatu Iltonen porthladd dethol 22 yn ddiofyn, ac wedi ei gymeradwyo gan IANA.
Yn naturiol, mae pob ymosodwr yn ymwybodol o ba borthladd y mae SSH yn rhedeg arno - a'i sganio ynghyd â gweddill y porthladdoedd safonol i ddarganfod y fersiwn meddalwedd, i wirio cyfrineiriau gwraidd safonol, ac ati.
Mae newid porthladdoedd safonol - obfuscation - sawl gwaith yn lleihau faint o draffig sbwriel, maint y logiau a'r llwyth ar y gweinydd, a hefyd yn lleihau'r wyneb ymosodiad. Er bod rhai beirniadu'r dull hwn o "amddiffyn trwy ebargofiant" (diogelwch trwy ebargofiant). Y rheswm yw bod y dechneg hon yn wrthwynebus i'r sylfaenol amddiffyniad pensaernïol. Felly, er enghraifft, Sefydliad Cenedlaethol Safonau a Thechnoleg yr Unol Daleithiau yn "Canllaw Diogelwch Gweinyddwr" yn nodi'r angen am saernïaeth gweinydd agored: “Ni ddylai diogelwch system ddibynnu ar gyfrinachedd gweithredu ei gydrannau,” dywed y ddogfen.
Yn ddamcaniaethol, mae newid y porthladdoedd rhagosodedig yn groes i'r arfer o bensaernïaeth agored. Ond yn ymarferol, mae swm y traffig maleisus yn cael ei leihau mewn gwirionedd, felly mae hwn yn fesur syml ac effeithiol.
Gellir ffurfweddu rhif y porthladd trwy newid y gyfarwyddeb Port 22 yn y ffeil ffurfweddu / etc / ssh / sshd_config. Fe'i nodir hefyd gan y paramedr -p <port> в ssh. cleient a rhaglenni SSH sftp cefnogi'r opsiwn hefyd -p <port>.
Paramedr -p <port> gellir ei ddefnyddio i nodi rhif y porthladd wrth gysylltu â'r gorchymyn ssh yn linux. YN sftp и scp paramedr yn cael ei ddefnyddio -P <port> (cyfalaf P). Mae cyfarwyddyd llinell orchymyn yn diystyru unrhyw werth mewn ffeiliau ffurfweddu.
Os oes llawer o weinyddion, gellir awtomeiddio bron pob un o'r camau hyn i amddiffyn y gweinydd Linux mewn sgript. Ond os mai dim ond un gweinydd sydd, yna mae'n well rheoli'r broses â llaw.
Ar Hawliau Hysbysebu
Archebwch a dechreuwch ar unwaith! Creu VDS unrhyw ffurfweddiad a chydag unrhyw system weithredu o fewn munud. Bydd y cyfluniad uchaf yn caniatáu ichi ddod i ffwrdd i'r eithaf - creiddiau 128 CPU, 512 GB RAM, 4000 GB NVMe. Epig 🙂