Mga tip ug trick sa Linux: server, ablihi

Alang sa mga kinahanglan nga maghatag sa ilang kaugalingon, sa ilang mga minahal, nga adunay access sa ilang mga server gikan sa bisan diin sa kalibutan pinaagi sa SSH / RDP / uban pa, usa ka gamay nga RTFM / spur.

Kinahanglan namon nga buhaton nga wala ang VPN ug uban pang mga kampana ug whistles, gikan sa bisan unsang aparato nga magamit.

Ug aron dili ka mag-ehersisyo pag-ayo sa server.

Ang tanan nga imong gikinahanglan alang niini mao ang nanuktok, tul-id nga mga bukton ug 5 minutos nga trabaho.

"Ang tanan anaa sa Internet," siyempre (bisan sa HabrΓ©), apan kon bahin sa usa ka espesipikong pagpatuman, dinhi kini magsugod...

Magpraktis kami gamit ang Fedora/CentOS isip usa ka pananglitan, apan dili kana igsapayan.

Ang spur angay alang sa mga nagsugod ug eksperto sa kini nga butang, mao nga adunay mga komento, apan kini labi ka mubu.

1. Server

  • i-install ang knock-server:
    yum/dnf install knock-server

  • i-configure kini (pananglitan sa 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

    Ang "pag-abli" nga bahin gitakda sa awtomatikong pagsira pagkahuman sa 1 ka oras. Wala ka kabalo...

  • /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
    ...

  • sa unahan:

    service iptables restart
    service knockd start

  • mahimo nimong idugang ang RDP sa virtual nga Windows Server nga nagtuyok sa sulod (/etc/knockd.conf; ilisan ang ngalan sa interface aron mohaum sa imong gusto):

    [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

    Among gisubay ang tanan namong mga sipa gikan sa kliyente sa server gamit ang sugo iptables -S.

2. Giya sa mga rake

knockd.conf:

Ang mana usab naglangkob sa tanan (apan kini dili tukma), apan ang knockd usa ka higala nga medyo kuripot sa mga mensahe, busa kinahanglan ka nga mag-amping.

  • bersyon
    Sa mga repositoryo sa Fedora/CentOS, ang pinakabag-o nga natuktok karon mao ang 0.63. Kinsa ang gusto sa UDP - pangitaa ang 0.70 nga mga pakete.
  • interface
    Sa default Fedora/CentOS configuration niini nga linya dili. Idugang sa imong mga kamot, kung dili kini molihok.
  • timeout
    Dinhi makapili ka sumala sa imong gusto. Kinahanglan nga ang kliyente adunay igong oras alang sa tanan nga mga sipa - ug ang port scanner bot maguba (ug 146% ang mag-scan).
  • pagsugod/paghunong/pagmando.
    Kon adunay usa ka sugo, unya sugo, kon adunay duha, unya start_command+stop_command.
    Kung masayop ka, ang pagtoktok magpabilin nga hilom, apan dili molihok.
  • prototype
    Sa teoriya, ang UDP mahimong gamiton. Sa praktis, gisagol nako ang tcp ug udp, ug ang kliyente gikan sa baybayon sa Bali nakahimo sa pag-abli sa ganghaan sa ikalimang higayon. Tungod kay ang TCP miabot kung gikinahanglan, apan ang UDP dili usa ka kamatuoran. Apan kini usa ka butang sa lami, pag-usab.
  • pagkasunodsunod
    Ang gipasabot nga rake mao nga ang mga han-ay kinahanglan nga dili mag-intersect... unsaon pagbutang niini...

Pananglitan, kini:

open: 11111,22222,33333
close: 22222,11111,33333

Pinaagi sa kick 11111 bukas maghulat alang sa sunod nga sipa sa 22222. Apan, human niini (22222) sipa magsugod kini sa pagtrabaho suod nga ug maguba ang tanan. Kini nagdepende usab sa pagkalangan sa kliyente. Ang ingon nga mga butang Β©.

iptables

Kung sa /etc/sysconfig/iptables kini mao ang:

*nat
:PREROUTING ACCEPT [0:0]

Dili kini makahasol kanamo, mao nga ania kini:

*filter
:INPUT ACCEPT [0:0]
...
-A INPUT -j REJECT --reject-with icmp-host-prohibited

Kini makabalda.

Tungod kay ang knockd nagdugang mga lagda sa katapusan sa INPUT nga kadena, kita masalikway.

Ug ang pagpalong niini nga pagsalikway nagpasabot sa pag-abli sa sakyanan sa tanang hangin.

Aron dili mawala sa iptables kung unsa ang isulud sa wala pa kung unsa (sama niini mga tawo sugyot) himoon nato nga mas simple:

  • default sa CentOS/Fedora ang una ang lagda (β€œwhat is not prohibited is permitted”) pulihan sa kaatbang,
  • ug atong tangtangon ang kataposang lagda.

Ang resulta kinahanglan nga:

*filter
:INPUT DROP [0:0]
...
#-A INPUT -j REJECT --reject-with icmp-host-prohibited

Mahimo nimo, siyempre, buhaton ang REJECT imbes nga DROP, apan sa DROP kinabuhi mahimong mas makalingaw alang sa mga bot.

3. Kliyente

Kini nga dapit mao ang labing makapaikag (gikan sa akong panglantaw), tungod kay kinahanglan ka nga magtrabaho dili lamang gikan sa bisan unsang baybayon, kondili gikan usab sa bisan unsang device.

Sa prinsipyo, daghang mga kliyente ang gilista sa site proyekto, apan kini gikan sa samang serye nga "ang tanan anaa sa Internet." Busa, akong ilista kung unsa ang nagtrabaho sa akong tudlo dinhi ug karon.

Kung nagpili usa ka kliyente, kinahanglan nimo nga sigurohon nga gisuportahan niini ang kapilian sa paglangan tali sa mga pakete. Oo, adunay mga kalainan tali sa mga baybayon ug 100 megabits dili gyud garantiya nga ang mga pakete moabut sa husto nga pagkasunud sa husto nga oras gikan sa gihatag nga lokasyon.

Ug oo, kung mag-set up sa usa ka kliyente, kinahanglan nimo nga pilion ang paglangan sa imong kaugalingon. Sobra nga timeout - ang mga bot moatake, gamay ra - ang kliyente walay oras. Sobra nga paglangan - ang kliyente dili makahimo niini sa oras o adunay panagbangi sa mga idiot (tan-awa ang "rakes"), gamay ra - ang mga pakete mawala sa Internet.

Uban sa timeout=5s, delay=100..500ms mao ang usa ka bug-os nga nagtrabaho nga kapilian

Windows

Bisan unsa pa kini kataw-anan, kini dili hinungdanon sa Google nga usa ka tin-aw nga kliyente sa pagtuktok alang sa kini nga plataporma. Ingon nga ang CLI nagsuporta sa paglangan, TCP - ug walay mga pana.

Sa laing bahin, mahimo nimong sulayan mao kini. Dayag nga ang akong Google dili usa ka cake.

Linux

Ang tanan yano dinhi:

dnf install knock -y
knock -d <delay> <dst_ip> 11111 22222 33333

MacOS

Ang labing kadali nga paagi mao ang pag-install sa pantalan gikan sa homebrew:
brew install knock
ug idrowing ang gikinahanglan nga batch files para sa mga command sama sa:

#!bin/sh
knock -d <delay> <dst_ip> 11111 22222 33333

iOS

Usa ka opsyon sa pagtrabaho mao ang KnockOnD (libre, gikan sa tindahan).

Android

"Knock sa mga Ports" Dili advertising, apan kini molihok lamang. Ug ang mga developer medyo responsive.

Ang markdown sa PS sa HabrΓ©, siyempre, panalanginan siya sa Dios sa umaabot...

UPD1: salamat sa sa maayong tawo nakit-an nagtrabaho nga kliyente ubos sa Windows.
UPD2: Usa pa maayong tawo nagpahinumdom kanako nga ang pagbutang sa bag-ong mga lagda sa katapusan sa iptables dili kanunay mapuslanon. Apan - kini nagdepende.

Source: www.habr.com

Idugang sa usa ka comment