Ինչպես սահմանափակել SSH մուտքը տեղական ցանցեր Linux-ում


SSH (Secure Shell) հայտնի գործիք է, որը թույլ է տալիս օգտվողներին ապահով կերպով միանալ հեռավոր համակարգերին ցանցի միջոցով: Լռելյայնորեն, SSH-ը հասանելի է ցանկացած ցանցից, քանի դեռ առկա են համապատասխան firewall-ը և ցանցի կարգավորումները:

Այնուամենայնիվ, երբեմն դուք կարող եք սահմանափակել SSH մուտքը միայն ձեր տեղական ցանցին անվտանգության նկատառումներից ելնելով: Սա հատկապես օգտակար է տնային կամ գրասենյակային միջավայրում, որտեղ դուք չեք ցանկանում արտաքին մուտք գործել ձեր համակարգ ինտերնետի միջոցով:

Այս հոդվածում մենք կանցնենք այն քայլերին, թե ինչպես սահմանափակել SSH մուտքը տեղական ցանց Linux-ում՝ օգտագործելով firewall-ի կանոնները և SSH-ի կոնֆիգուրացիաները: Մենք կբացատրենք յուրաքանչյուր քայլը պարզ բառերով, որպեսզի համոզվենք, որ նույնիսկ սկսնակը կարող է հետևել դրան:

Ինչու՞ սահմանափակել SSH-ը տեղական ցանցին:

SSH մուտքի սահմանափակումը միայն տեղական ցանցին կարող է նվազեցնել ձեր համակարգ չարտոնված մուտքի վտանգը:

Ահա մի քանի պատճառ, թե ինչու կարող եք դա անել.

  • Անվտանգություն. Արտաքին ցանցերից SSH մուտքի սահմանափակումը թույլ չի տալիս հարձակվողներին սկանավորել կամ փորձել կոպիտ կերպով պարտադրել ձեր սերվերը ինտերնետի միջոցով:
  • Վերահսկվող մուտք. եթե դուք ունեք մի քանի սարքեր միացված նույն տեղական ցանցին, դուք դեռ կարող եք կառավարել համակարգը՝ առանց արտաքին սպառնալիքների ազդեցության:
  • Պարզություն. միայն տեղական մուտքի դեպքում դուք կարիք չեք ունենա անհանգստանալու արտաքին մուտքի համար անվտանգության լրացուցիչ շերտերի կազմաձևման մասին:

Հասկանալով տեղական ցանցը

Նախքան սկսելը, կարևոր է հասկանալ, թե ինչ է նշանակում «տեղական ցանց»: Տեղական ցանցը միևնույն ֆիզիկական կամ անլար ցանցում միացված սարքերի խումբ է, ինչպիսին է ձեր տան Wi-Fi-ը կամ գրասենյակային ցանցը:

Այս սարքերն ունեն նույն ներքին IP հասցեների տիրույթը, օրինակ՝ 192.168.x.x կամ 10.0.x.x, մինչդեռ արտաքին սարքերը (համացանցում գտնվողները) կունենան IP-ի տարբեր տիրույթ:

Քայլ 1. Ստուգեք ձեր Linux տեղական IP հասցեների տիրույթը

Ձեր տեղական ցանցի տիրույթն իմանալու համար նախ պետք է որոշեք ձեր սարքի IP հասցեն՝ օգտագործելով հետևյալ ip հրամանը, որը կցուցադրի ձեր IP հասցեն և ցանցի տվյալները:

ip a

Դուք կտեսնեք տեղեկատվություն ցանցային միջերեսների մասին: Փնտրեք 192.168.x.x կամ 10.0.x.x-ի նման մի բան, որը ձեզ կասի ձեր տեղական IP հասցեն:

Սովորաբար, ձեր տեղական IP հասցեն կլինի այս մասնավոր տիրույթներից մեկում.

192.168.x.x
10.0.x.x
172.16.x.x to 172.31.x.x

Օրինակ, եթե ձեր IP հասցեն է 192.168.122.63, ապա ձեր լոկալ ցանցի տիրույթը հավանաբար 192.168.1.0/24 է, ինչը նշանակում է, որ բոլոր սարքերը, ովքեր ունեն IP-ներ 192.168-ում: .1.xտիրույթը նույն տեղական ցանցում է:

Քայլ 2. Կարգավորեք SSH-ը՝ լսելու միայն տեղական հասցեներով

Լռելյայնորեն, SSH լսում է բոլոր հասանելի ցանցային միջերեսները: Մենք կփոխենք այն՝ լսելու միայն տեղական ցանցում։

sudo nano /etc/ssh/sshd_config

Գտեք տողը #ListenAddress-ով և ապամեկնաբանեք այն (սկզբում հանեք #-ը): Սահմանեք այն ձեր տեղական IP հասցեով:

Օրինակ, եթե ձեր տեղական IP-ն է 192.168.122.63, թարմացրեք ֆայլը հետևյալ կերպ.

ListenAddress 192.168.122.63

Վերագործարկեք SSH ծառայությունը, որպեսզի փոփոխություններն ուժի մեջ մտնեն:

sudo systemctl restart ssh
OR
sudo systemctl restart sshd

Այժմ ձեր SSH սերվերը կլսի կապերը միայն ձեր տեղական IP հասցեից: Եթե փորձեք միանալ արտաքին ցանցից, կապը կմերժվի:

Քայլ 3. Սահմանափակել SSH-ը Firewall-ի կանոններով

Թեև SSH դեյմոնը միայն տեղական հասցեներ լսելու համար կարգավորելը օգտակար է, դուք կարող եք անվտանգության լրացուցիչ շերտ ավելացնել՝ կարգավորելով firewall-ի կանոնները, ինչը երաշխավորում է, որ միայն ձեր տեղական ցանցի սարքերը կարող են միանալ SSH-ի միջոցով, նույնիսկ եթե ինչ-որ մեկը փորձում է մուտք գործել ձեր համակարգ։ օգտագործելով ձեր արտաքին IP-ն:

Օգտագործելով UFW (ոչ բարդ firewall)

Եթե դուք օգտագործում եք UFW՝ լռելյայն firewall-ը շատ Linux բաշխումների վրա, ինչպիսին է Ubuntu-ն, հետևեք հետևյալ հրամաններին.

Թույլատրել SSH միացումները միայն ձեր տեղական ցանցից, օրինակ՝ IP հասցեները 192.168.1.x տիրույթում, և մերժել SSH կապերը այլ ցանցերից: Համոզվեք, որ վերաբեռնեք firewall-ը և ստուգեք դրա կարգավիճակը:

sudo ufw allow from 192.168.1.0/24 to any port 22
sudo ufw deny 22
sudo ufw reload
sudo ufw status

Firewalld-ի օգտագործումը

SSH-ը Linux-ի տեղական ցանցին Firewalld-ով սահմանափակելու համար հետևեք այս հրամաններին.

Ձեր տեղական ցանցից SSH մուտք գործելու թույլտվություն տալու համար, օրինակ՝ 192.168.1.x տիրույթում գտնվող IP հասցեները և այլ ցանցերից SSH միացումները մերժելու համար: Համոզվեք, որ վերաբեռնեք firewall-ը և ստուգեք դրա կարգավիճակը:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port protocol="tcp" port="22" drop'
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Օգտագործելով iptables

Եթե դուք չեք օգտագործում UFW կամ Firewalld, կարող եք օգտագործել iptables-ը նմանատիպ կանոններ սահմանելու համար:

sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
sudo iptables-save | sudo tee /etc/iptables/rules.v4
sudo iptables -L

Այժմ SSH մուտքը թույլատրվում է միայն ձեր ցանցի տիրույթում գտնվող տեղական սարքերից:

Քայլ 4. Ստուգեք ձեր կոնֆիգուրացիան

SSH-ը և firewall-ը կարգավորելուց հետո ժամանակն է ստուգել կարգավորումը՝ համոզվելու համար, որ ամեն ինչ աշխատում է այնպես, ինչպես սպասվում էր:

Ձեր տեղական ցանցի սարքից փորձեք միանալ սերվերին՝ օգտագործելով SSH.

ssh [email 

Եթե դուք մուտք ունեք արտաքին ցանց (օրինակ՝ օգտագործելով բջջային տվյալներ կամ VPN), փորձեք միանալ համակարգի արտաքին IP-ին: Կապը պետք է արգելափակվի կամ մերժվի:

Լրացուցիչ խորհուրդներ

Ահա մի քանի լրացուցիչ խորհուրդներ SSH տեղական ցանցում տեղադրելու համար.

  • Ստատիկ IP. լավ գաղափար է տեղադրել ստատիկ IP հասցե այն սարքի համար, որտեղ ցանկանում եք SSH տեղադրել, հատկապես, եթե կարգավորում եք firewall-ի կանոնները՝ հիմնված տեղական IP տիրույթի վրա, ինչը կկանխի ձեր IP-ի փոփոխությունը: եթե երթուղիչը վերագործարկվի:
  • VPN մուտք. Եթե արտաքին ցանցից հեռահար մուտքի կարիք ունեք, մտածեք VPN ստեղծելու մասին, որը թույլ կտա ապահով կերպով միանալ ձեր տեղական ցանցին ինտերնետի միջոցով, իսկ SSH-ը դեռ հասանելի կլինի միայն ցանցում: տեղական ցանց.
  • Մոնիտորինգի գրանցամատյաններ. Միշտ վերահսկեք ձեր SSH մատյանները չարտոնված մուտքի փորձերի համար:

Դուք կարող եք ստուգել տեղեկամատյանները՝ օգտագործելով tail հրամանը.

sudo tail -f /var/log/auth.log
Եզրակացություն

SSH մուտքը տեղական ցանցի սահմանափակումը պարզ, բայց արդյունավետ միջոց է ձեր Linux համակարգի անվտանգությունը բարձրացնելու համար: Հետևելով այս ուղեցույցի քայլերին, դուք կարող եք կանխել արտաքին մուտքը դեպի ձեր SSH սերվեր՝ միաժամանակ պահպանելով տեղական մուտքը կառավարման և վարչական առաջադրանքների համար:

Firewall-ի կանոններով և պատշաճ կազմաձևմամբ դուք կարող եք ապահովել, որ ձեր տեղական ցանցում միայն վստահելի սարքերը կարող են միանալ SSH-ի միջոցով՝ նվազեցնելով չարտոնված մուտքի վտանգը: