Naha, sazkirina serverek li ser mêvandariyek çend hûrdeman û çend klîkên mişkê ye. Lê tavilê piştî destpêkirinê, ew xwe di nav hawîrdorek dijminane de dibîne, ji ber ku ew mîna keçek bêguneh li dîskoyek rocker ji tevahiya Înternetê re vekirî ye. Skaner dê zû wê bibînin û bi hezaran botên xweber bi nivîsbarî vedîtin ku di lêgerîna qelsî û mîhengên nerast de torê dişoxilînin. Hin tişt hene ku divê hûn tavilê piştî destpêkirinê bikin da ku parastina bingehîn misoger bikin.
Yekem tiştê ku hûn hewce ne bikin ev e ku bikarhênerek ne-root biafirînin. Mesele ew e ku bikarhêner root îmtiyazên bêkêmasî yên di pergalê de, û ger hûn destûrê bidin wî rêveberiya dûr, wê hingê hûn ê nîvê xebatê ji hacker re bikin, navek bikarhênerek derbasdar ji wî re bihêlin.
Ji ber vê yekê, hûn hewce ne ku bikarhênerek din biafirînin, û rêveberiya dûr bi riya SSH-ê ji bo root-ê neçalak bikin.
Bi fermanê bikarhênerek nû tê afirandin useradd:
useradd [options] <username>
Dûv re bi fermanê şîfreyek jê re tê zêdekirin passwd:
passwd <username>
Di dawiyê de, pêdivî ye ku ev bikarhêner li komeke ku xwedî maf e ku emrên bi îmtiyazên bilindkirî bicîh bîne were zêde kirin. sudo. Bi belavkirina Linux ve girêdayî, dibe ku ev komên cûda bin. Mînakî, di CentOS û Red Hat de bikarhênerek li komekê tê zêdekirin wheel:
usermod -aG wheel <username>
Li ser Ubuntuyê li komê tê zêdekirin sudo:
usermod -aG sudo <username>
Bişkojkên li şûna şîfreyên SSH
Hêza hovane an rijandina şîfreyê vektorek êrîşek standard e, ji ber vê yekê çêtir e ku hûn piştrastkirina şîfreyê di SSH (Secure Shell) de neçalak bikin û li şûna wê verastkirina mifteyê bikar bînin.
Ji bo pêkanîna protokola SSH bernameyên cûda hene, wek lsh и dropbear, lê ya herî populer OpenSSH e. Sazkirina xerîdar OpenSSH li Ubuntu:
sudo apt install openssh-client
Sazkirina serverê:
sudo apt install openssh-server
Destpêkirina Daemon SSH (sshd) li ser serverek Ubuntu:
sudo systemctl start sshd
Li ser her bootê bixweber daemon dest pê bikin:
sudo systemctl enable sshd
Divê were zanîn ku beşa servera OpenSSH beşa muwekîlê dihewîne. Yanî bi rêya openssh-server hûn dikarin bi serverên din ve girêbidin. Wekî din, ji makîneya muwekîlê xwe hûn dikarin tunelek SSH-ê ji serverek dûr berbi mêvandarek partiya sêyemîn vekin, û dûv re jî mêvandarê sêyemîn dê servera dûr wekî çavkaniya daxwazan bihesibîne. Ji bo maskkirina pergala we fonksiyonek pir hêsan. Ji bo bêtir agahdarî, gotara xwe bibînin. "Serişteyên pratîk, mînak û tunelên SSH".
Bi gelemperî ti xal tune ku serverek bêkêmasî li ser makîneya xerîdar were saz kirin da ku pêşî li girêdana dûr a bi komputerê bigire (ji ber sedemên ewlehiyê).
Ji ber vê yekê, ji bo bikarhênerê xweya nû, hûn pêşî hewce ne ku bişkokên SSH-ê li ser komputera ku hûn ê jê bigihîjin serverê biafirînin:
ssh-keygen -t rsa
Mifteya giştî di pelê de tê hilanîn .pub û dişibihe rêzek tîpên rasthatî ku bi wan dest pê dike ssh-rsa.
Dûv re, wekî root, pelrêça SSH li ser serverê di pelrêça malê ya bikarhêner de biafirînin û mifteya giştî ya SSH li pelê zêde bikin. authorized_keysbi karanîna edîtorek nivîsê ya mîna Vim:
Li milê xerîdar, hûn hewce ne ku cîhê mifteya veşartî ji bo pejirandinê diyar bikin:
ssh-add DIR_PATH/keylocation
Naha hûn dikarin bi karanîna vê mifteyê di bin navê bikarhêner de têkevin serverê:
ssh [username]@hostname
Piştî destûrnameyê, hûn dikarin fermana scp bikar bînin ku pelan, karûbar kopî bikin sshfs ji bo sazkirina ji dûr ve pergala pelan an pelrêçan.
Tête pêşniyar kirin ku hûn çend kopiyên hilanînê yên mifteya taybet çêbikin, ji ber ku heke hûn pejirandina şîfreyê neçalak bikin û wê winda bikin, hûn ê qet rê nedin ku hûn têkevin servera xwe.
Wekî ku li jor hatî behs kirin, di SSH-ê de hûn hewce ne ku ji bo rootê erêkirinê neçalak bikin (ji bo vê yekê me bikarhênerek nû çêkir).
Li ser CentOS / Red Hat em rêzê dibînin PermitRootLogin yes di pelê veavakirinê de /etc/ssh/sshd_config û biguherîne:
PermitRootLogin no
Li ser Ubuntu rêzê lê zêde bike PermitRootLogin no ji bo pelê veavakirinê 10-my-sshd-settings.conf:
Piştî ku hûn piştrast bikin ku bikarhênerê nû bi karanîna mifteya xwe ve hatî pejirandin, hûn dikarin erêkirina şîfreyê neçalak bikin da ku xetera rijandina şîfreyê an hêza hov ji holê rakin. Naha, ji bo gihîştina serverê, êrîşkar dê hewce bike ku mifteya taybet bistîne.
Li ser CentOS / Red Hat em rêzê dibînin PasswordAuthentication yes di pelê veavakirinê de /etc/ssh/sshd_config û bi vî awayî biguherînin:
PasswordAuthentication no
Li ser Ubuntu rêzê lê zêde bike PasswordAuthentication no pelê kirin 10-my-sshd-settings.conf:
Ji bo rêwerzên li ser ka meriv çawa rastkirina du-faktorî bi SSH-ê çalak dike, binêre vir.
Firewall
Firewall piştrast dike ku tenê seyrûsefera li ser portên ku hûn rasterast destûr didin dê biçin serverê. Ev li dijî karanîna benderên ku bi xeletî ji hêla karûbarên din ve têne çalak kirin diparêze, ku rûyê êrîşê pir kêm dike.
Berî sazkirina dîwarek agir, hûn hewce ne ku pê ewle bin ku SSH di navnîşa derxistinê de ye û dê neyê asteng kirin. Wekî din, piştî destpêkirina dîwarê agir, em ê nikaribin bi serverê ve girêdayî bin.
Dabeşkirina Ubuntu bi Firewall-a Bêtevlîhev tê (wow), û bi CentOS / Red Hat - firewalld.
Destûrkirina SSH di dîwarê agir de li ser Ubuntu:
sudo ufw allow ssh
Li ser CentOS / Red Hat em fermanê bikar tînin firewall-cmd:
xizmeta Fail2Ban têketinên serverê analîz dike û ji her navnîşana IP-ê hejmara hewildanên gihîştinê dihejmêre. Mîheng qaîdeyên ji bo çend hewildanên gihîştinê di navberek diyarkirî de têne destûr kirin diyar dikin - piştî ku ev navnîşana IP-ê ji bo demek diyarkirî tê asteng kirin. Mînakî, em bi riya SSH-ê di nav heyama 5 saetan de destûr didin 2 hewildanên erêkirinê yên neserkeftî, piştî ku em vê navnîşana IP-yê 12 demjimêran asteng dikin.
Bername du pelên mîhengê hene: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. Di dosyaya duyemîn de qedexeyên qedexekirinê hatine diyarkirin.
Girtîgeha ji bo SSH-ê bi mîhengên xwerû (5 hewildan, navber 10 hûrdem, qedexekirina 10 hûrdeman) ji hêla xwerû ve tê çalak kirin.
[DEFAULT] neguhêzkirin = bantime = 10 m dema peydakirinê = 10 m maxretry = 5
Ji bilî SSH, Fail2Ban dikare karûbarên din ên li ser servera webê ya nginx an Apache biparêze.
Nûvekirinên ewlehiyê yên otomatîkî
Wekî ku hûn dizanin, qelsiyên nû bi berdewamî di hemî bernameyan de têne dîtin. Piştî ku agahdarî têne weşandin, îstîsmar li pakêtên îstîsmarê yên populer têne zêdekirin, ku bi berfirehî ji hêla hackers û ciwanan ve têne bikar anîn dema ku hemî serveran li pey hev dişopînin. Ji ber vê yekê, pir girîng e ku gava ku ew berdest bibin nûvekirinên ewlehiyê saz bikin.
Pêşkêşkerên Ubuntu xwedan nûvekirinên ewlehiyê yên otomatîkî ne ku ji hêla xwerû ve têne çalak kirin, ji ber vê yekê gavên zêde hewce ne hewce ne.
Li ser CentOS / Red Hat hûn hewce ne ku serîlêdanê saz bikin dnf-otomatîk û demjimêrê veke:
SSH di 1995-an de hate pêşve xistin ku şûna telnet (port 23) û ftp (port 21) bigire, ji ber vê yekê nivîskarê bernameyê Tatu Iltonen e. ji hêla xwerû ve porta 22 hilbijart, û ji hêla IANA ve hate pejirandin.
Bi xwezayî, hemî êrîşkar dizanin ku SSH li ser kîjan portê dimeşe - û wê ligel portên standard ên din bişopînin da ku guhertoya nermalavê bibînin, şîfreyên root standard kontrol bikin, û hwd.
Guhertina benderên standard - guheztin - qebareya seyrûsefera nebaş, mezinahiya têketin û barkirina serverê çend caran kêm dike, û di heman demê de rûbera êrîşê jî kêm dike. Tevî ku hinek rexne li vê rêbaza "parastina bi nepenîtiyê" (ewlehî bi rêya nepenîtiyê). Sedem ew e ku ev teknîk li dijî bingehîn e parastina mîmarî. Ji ber vê yekê, wek nimûne, Enstîtuya Neteweyî ya Standard û Teknolojiyê ya Dewletên Yekbûyî "Rêberê Ewlekariya Server" Di belgeyê de dibêje: "Ewlehiya pergalê divê xwe bispêre nepeniya pêkanîna pêkhateyên wê hewcedariya mîmariya serverek vekirî destnîşan dike."
Di teorîyê de, guhertina benderên xwerû berevajî pratîkên mîmariya vekirî ye. Lê di pratîkê de, qebareya seyrûsefera xerab bi rastî kêm dibe, ji ber vê yekê ev pîvanek hêsan û bandorker e.
Hejmara portê dikare bi guheztina rêwerzê ve were mîheng kirin Port 22 di pelê veavakirinê de / etc / ssh / sshd_config. Ew jî ji hêla pîvanê ve tê nîşandan -p <port> в ssh. Xerîdar û bernameyên SSH sftp di heman demê de pîvanê piştgirî bikin -p <port>.
Parîsê -p <port> dikare were bikar anîn ji bo destnîşankirina jimareya portê dema ku bi karanîna fermanê ve girêdayî ye ssh li Linux. LI sftp и scp parametre tê bikaranîn -P <port> (sermaye P). Diyarkirina wê ji rêzika fermanê her nirxek di pelên vesazkirinê de derbas dike.
Ger gelek server hebin, hema hema hemî van kiryaran ji bo parastina serverek Linux-ê dikarin di skrîptekê de otomatîk bibin. Lê heke tenê serverek hebe, wê hingê çêtir e ku meriv pêvajoyê bi destan kontrol bike.
Li Mafên Malperê
Ferman bike û tavilê dest bi xebatê bike! Afirandina VDS her veavakirin û bi her pergala xebitandinê di nav deqîqeyek de. Veavakirina herî zêde dê bihêle ku hûn teqînek hebe - 128 core CPU, 512 GB RAM, 4000 GB NVMe. Pir destanî :)