Linux ጠቃሚ ምክሮች እና ዘዴዎች፡ አገልጋይ፣ ክፍት

በዓለም ላይ ከየትኛውም ቦታ ሆነው በ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

በDDoS ጥበቃ፣ VPS VDS አገልጋዮች ለጣቢያዎች አስተማማኝ ማስተናገጃ ይግዙ 🔥 አስተማማኝ የድር ጣቢያ ማስተናገጃ በዲዶኤስ ጥበቃ፣ በቪፒኤስ ቪዲኤስ አገልጋዮች ይግዙ | ProHoster