በዓለም ላይ ከየትኛውም ቦታ ሆነው በSSH/RDP/ሌላ በኩል አገልጋዮቻቸውን ማግኘት ለሚፈልጉ - ትንሽ RTFM/ማጭበርበር።
ከየትኛውም መሳሪያ VPN እና ሌሎች ደወሎች እና ፉጨት ሳይኖር ማድረግ አለብን።
እና ከአገልጋዩ ጋር ብዙ ልምምድ ማድረግ እንዳይኖርብዎት።
ለዚህ የሚያስፈልግህ ነገር ቢኖር , ቀጥ ያሉ እጆች እና 5 ደቂቃ የስራ ጊዜ።
"ሁሉም ነገር በኢንተርኔት ላይ ነው" (በእሱ ላይም ቢሆን) ) ነገር ግን ወደ ተለየ አተገባበር ሲመጣ፣ ሁሉም የሚጀምረው ያ ነው...
Fedoraን እንደ ምሳሌ እንጠቀም።CentOSግን ምንም ለውጥ አያመጣም።
ይህ የማጭበርበሪያ ወረቀት ለጀማሪዎችም ሆነ ልምድ ላላቸው ባለሙያዎች ተስማሚ ነው፣ ስለዚህ አንዳንድ አስተያየቶች ይኖራሉ፣ ግን አጭር ይሆናሉ።
1. አገልጋይ
የኖክ-ሰርቨር እንጭናለን
yum/dnf install knock-serverእኛ እናዋቅረዋለን (ለምሳሌ፣ ለssh) — /etc/knockd.conf:
[options] UseSyslog interface = enp1s0f0 [SSHopen] sequence = 33333,22222,11111 seq_timeout = 5 tcpflags = syn start_command = iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT cmd_timeout = 3600 stop_command = iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT [SSHclose] sequence = 11111,22222,33333 seq_timeout = 5 tcpflags = syn command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT"የመክፈቻ" ክፍሉ ከ1 ሰዓት በኋላ በራስ-ሰር እንዲዘጋ ተዋቅሯል። በጭራሽ አታውቁም...
/etc/sysconfig/iptables:
... -A INPUT -p tcp -m state --state NEW -m tcp --dport 11111 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22222 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 33333 -j ACCEPT ...ወደፊት፡
service iptables restart service knockd startበውስጡ በሚሰራው ምናባዊ ማሽን ላይ RDP ማከል ይችላሉ Windows Server (/etc/knockd.conf; የበይነገጽ ስሙን እንደ ጣዕም ይተኩ):
[RDPopen] sequence = 44444,33333,22222 seq_timeout = 5 tcpflags = syn start_command = iptables -t nat -A PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2 cmd_timeout = 3600 stop_command = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2 [RDPclose] sequence = 22222,33333,44444 seq_timeout = 5 tcpflags = syn command = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2ትዕዛዙን በመጠቀም በአገልጋዩ ላይ ካለው ደንበኛ ሁሉንም ምቶች እንከታተላለን
iptables -S.
2. የሬኬ መመሪያ
knockd.conf:
ማንጋው ሁሉንም ነገር ይዟል (ግን በትክክል አይደለም)፣ ነገር ግን ኖክድ መልእክቶች ያሉት በጣም ስስታም ሰው ነው፣ ስለዚህ በጣም መጠንቀቅ አለብዎት።
- ስሪት
በፌዶራ ማከማቻዎች/CentOS የዛሬው የመጨረሻ ቅናሽ 0.63 ነው። UDP የሚፈልጉ ሰዎች 0.70 ፓኬቶችን መፈለግ አለባቸው። - በይነገጽ
በ Fedora/ ነባሪ ውቅር ውስጥCentOS ይህ መስመር የለምበእጅ ጨምር፣ አለበለዚያ አይሰራም። - ጊዜው አልቋል
የግል ምርጫ ጉዳይ ነው። ደንበኛው ሁሉንም አስፈላጊ እርምጃዎች ለማጠናቀቅ በቂ ጊዜ ሊኖረው ይገባል፣ እና የፖርት ስካነር ቦት መበላሸት አለበት (እና 146% የሚሆኑት ይቃኛሉ)። - ጀምር/አቁም/ትእዛዝ።
አንድ ትዕዛዝ ካለ፣ ትዕዛዝ፤ ሁለት ከሆኑ፣ ትዕዛዝ_ጀምር+ማቆሚያ_ትእዛዝ።
ስህተት ከሠራህ፣ knocked ዝም ይላል፣ ግን አይሰራም። - ፕሮፖ
በንድፈ ሀሳብ፣ UDPን መጠቀም ይችላሉ። በተግባር፣ TCP እና UDPን ቀላቅዬ ነበር፣ እና በባሊ የባህር ዳርቻ ላይ የነበረ አንድ ደንበኛ በሩን መክፈት የቻለው በአምስተኛው ሙከራ ብቻ ነው። ምክንያቱም TCP በሰዓቱ ስለደረሰ፣ UDP ግን ዋስትና የለውም። ግን እንደገና፣ የጣዕም ጉዳይ ነው። - ቅደም ተከተል
የተደበቀው ነገር ቅደም ተከተሎቹ እርስ በርስ መቆራረጥ የለባቸውም የሚለው ነው... እንዴት ማስቀመጥ እችላለሁ...
ለምሳሌ፣ ይህ፦
open: 11111,22222,33333
close: 22222,11111,33333በኪክ 11111 ክፍት የሚቀጥለውን ምት በ22222 እጠብቃለሁ። ሆኖም ግን፣ በዚህ (22222) ምት ላይ መስራት ይጀምራል። ገጠመ እና ሁሉም ነገር ይሰበራል። ከሌሎች ነገሮች በተጨማሪ በደንበኛው መዘግየት ላይ የተመሠረተ ነው። © የሚለውም እንዲሁ ነው።
iptables
በ /etc/sysconfig/iptables ውስጥ ከሆነ የሚከተለው አለ፦
*nat
:PREROUTING ACCEPT [0:0]በእርግጥ አያስቸግረንም፣ ስለዚህ ይህ ነው፡
*filter
:INPUT ACCEPT [0:0]
...
-A INPUT -j REJECT --reject-with icmp-host-prohibitedጣልቃ ይገባል።
ኖክድ በ INPUT ሰንሰለት መጨረሻ ላይ ደንቦችን ስለጨመረ ውድቅ እንሆናለን።
እና ይህንን ውድቅ ማድረግ ማለት መኪናውን ለሁሉም ነፋሶች መክፈት ማለት ነው።
ከ iptables ጋር ላለመጨቃጨቅ፣ ምን ማስቀመጥ እንዳለበት ከምን በፊት (እንደዚህ) (እነሱ ይመክራሉ) እስቲ ቀለል እናድርገው፡
- ነባሪ в CentOS/ፌዶራ የመጀመሪያው ደንቡ ("ያልተከለከለው ይፈቀዳል") በተቃራኒው ይተካል፣
- እና የመጨረሻውን ደንብ እናስወግዳለን።
ውጤቱም የሚከተለውን መሆን አለበት፦
*filter
:INPUT DROP [0:0]
...
#-A INPUT -j REJECT --reject-with icmp-host-prohibitedእርግጥ ነው፣ ከ DROP ይልቅ REJECTን መጠቀም ይችላሉ፣ ነገር ግን DROP ለቦቶች ህይወትን የበለጠ አስደሳች ያደርገዋል።
3. ደንበኛ
እዚህ ላይ ነው (ከእኔ እይታ አንጻር)፣ ከማንኛውም የባህር ዳርቻ ብቻ ሳይሆን ከማንኛውም መሳሪያም መስራት ስለሚኖርብዎት።
በመርህ ደረጃ፣ በርካታ ደንበኞች በዝርዝሩ ላይ ተዘርዝረዋል ፕሮጀክት ነው፣ ግን ልክ "ሁሉም ነገር በኢንተርኔት ላይ እንዳለ" ነው። ስለዚህ አሁን ምን እየሰራ እንደሆነ እዘረዝራለሁ።
ደንበኛ በሚመርጡበት ጊዜ፣ በፓኬቶች መካከል ያለውን የመዘግየት አማራጭ የሚደግፍ መሆኑን ያረጋግጡ። አዎ፣ እያንዳንዱ የባህር ዳርቻ የተለየ ነው፣ እና 100 ሜጋቢትስ ፓኬቶቹ በትክክለኛው ቅደም ተከተል ከተወሰነ ቦታ በትክክለኛው ጊዜ እንደሚደርሱ ዋስትና አይሰጥም።
አዎ፣ ደንበኛን ሲያዋቅሩ፣ መዘግየትን እራስዎ መምረጥ ያስፈልግዎታል። በጣም ብዙ ጊዜ ማሳለፍ እና ቦቶች ጥቃት ይሰነዝራሉ፤ በጣም ትንሽ እና ደንበኛው በሰዓቱ አያገኘውም። በጣም ብዙ መዘግየት እና ደንበኛው በሰዓቱ አያገኘውም ወይም የውይይት ግጭት ይኖራል ("Rake" ን ይመልከቱ)፤ በጣም ትንሽ እና ፓኬቶቹ በኢንተርኔት ላይ ይጠፋሉ።
የጊዜ ማብቂያ = 5s ሲኖር፣ ሙሉ በሙሉ የሚሰራ አማራጭ መዘግየት = 100..500ms ነው።
Windows
ምንም እንኳን አስቂኝ ቢመስልም፣ ለዚህ መድረክ ጥሩ የንክኪ ደንበኛ በጉግል ማግኘት በጣም ፈታኝ ነው። CLI፣ የዘገየ ድጋፍ፣ የTCP ድጋፍ እና ምንም ደወሎች እና ፉጨት የሌለበት አንዱ።
እንደ አማራጭ፣ መሞከር ይችላሉ የእኔ ጎግል በትክክል የኬክ ዋክ አይደለም።
Linux
እዚህ ሁሉም ነገር ቀላል ነው:
dnf install knock -y
knock -d <delay> <dst_ip> 11111 22222 33333ማክሮ
በጣም ቀላሉ መንገድ ወደቡን ከሆምብሬው መጫን ነው፡
brew install knock
እና የሚከተሉትን የመሳሰሉ አስፈላጊ የትእዛዝ መስመር ባች ፋይሎችን ይሳሉ፡
#!bin/sh
knock -d <delay> <dst_ip> 11111 22222 33333የ iOS
የሚሰራ አማራጭ KnockOnD ነው (ከሱቁ ነፃ)።
Android
"በፖርት ላይ ኖክ"። ማስታወቂያ አይደለም፣ ዝም ብሎ ይሰራል። እና ገንቢዎች በጣም ምላሽ ሰጪ ናቸው።
ፒ.ኤስ. ማርክዳውን ስለ ሃብር፣ እግዚአብሔር አንድ ቀን ጤና ይስጥለት...
UPD1: ይመስገን ተገኝቷል በታች Windows.
UPD2: አንድ ተጨማሪ በiptables መጨረሻ ላይ አዳዲስ ደንቦችን ማከል ሁልጊዜ ጠቃሚ እንዳልሆነ አስታወስኩት። ግን—እንደዚያ ነው።
ምንጭ: hab.com
