Linux tips & dolis: server, aperi

Pro iis qui se, suos suos amores providere necesse est, cum accessu ad suos ministratores a quovis in mundo per SSH/RDP/alia, parva RTFM/spurca.

Non opus est nobis facere sine VPN et aliis campanis et sibilis, ab omni artificio ad manum.

Itaque ne nimium cum servo exercere debeas.

Omnes opus est ad haec Pulsanterecta arma et V minuta opera.

"Omnia in Penitus" sane (usque ad " HabrΓ©) , sed cum ad exsecutionem specificam pervenit, hoc est ubi incipit...

Fedora/CentOS exemplo utemur, sed hoc non refert.

Calcar aptum tam incipientibus quam peritis in hac re, ut commentationes erunt, sed breviores erunt.

1. Servo

  • pulset-server install:
    yum/dnf install knock-server

  • configurare (exempli gratia in 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

    Pars "apertura" ponitur auto-prope post horam unam. Numquam scis...

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

  • prodire;

    service iptables restart
    service knockd start

  • RDP addere potes ad virtualem Windows Servo intus telarum (/etc/knockd.conf; substituere nomen interfaciendi ad gustum tuum accommodatum);

    [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

    Nos omnes calcibus ex cliente nostro indagamus cum servo cum imperio iptables -S.

2. Libri rastris

knockd.conf:

Mana quoque omnia continet (sed hoc parum est), sed amicus est pulsandus admodum avarus cum nuntiis, ut diligentissime debes esse.

  • versionem
    In repositoria Fedora/CentOS novissima pulsantibus hodie est 0.63. Qui vult UDP - expecto 0.70 facis.
  • interface
    In defalta Fedora / CentOS hanc lineam conformationem no. Manibus tuis adde, alioquin non laborabit.
  • timeout
    Hic eligere potes secundum tuum gustum. Necesse est ut cliens omnibus calcibus tempus satis habeat - et portus scanner automati destruet (et 146% scan erit).
  • satus / stop / imperium.
    Si unum est praeceptum, impera, si duo, incipis_mandatum+stare.
    Si erras, pulsans silebo, sed non laboro.
  • primus
    Cogitatione, UDP adhiberi potest. In usu, miscui xco et udp, et cliens a litore in Bali porta tantum quintum tempus aperire poterat. Quia TCP venit cum opus est, sed UDP factum non est. Sed hoc est materia saporis iterum.
  • sequentia
    Sarculus implicitus est ut sequentia non secant... ad ponendum.

Verbi gratia, hoc;

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

Per calcitrare 11111 apertus exspectabo proximum calcitrare in 22222. Sed post hoc (22222) calcitrare incipiet opus prope et omnia frangentur. Hoc etiam in mora huius pendeat. Talia sunt Β©.

iptables

Si in /etc/sysconfig/iptables hoc est:

*nat
:PREROUTING ACCEPT [0:0]

Non nobis molestum est, sic hic est;

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

Impedit eum.

Cum pulsetur addit regulas ad finem INPUT catenae, impetrabimus rejectionem.

Avertensque repellas modo currum omnibus ventis.

Ut in iptables non deerrare quid inserere ante quid (sic? populus suadeant) faciamus hoc simplicius;

  • defaltam in CentOS/Fedora primus regula ("quod non prohibetur licet") restituetur per contrarium;
  • et removemus ultimam regulam.

Eventus sit,

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

Profecto facere potes pro RORO REICIO, sed cum RORO vita magis fun pro automata erit.

3. Client

Locus est maxime interesting (ex mea parte), cum non solum ab aliquo litore, sed etiam ab omni artificio laborare debes.

Principio complures clientes inscripti sunt website Project, sed hoc ex eadem serie "omnia in interreti". Ergo quae digitis meis hic et nunc operata est, enumerabo.

Cum clientem eligens, efficere debes ut optio morae inter fasciculos sustineat. Etiam differentiae sunt inter litora et 100 megabitos numquam spondere quod fasciculi in loco dato tempore dextro ordine pervenient.

Et ita, cum clientem instituens, moram teipsum deligere debes. Nimium timeout - Automata oppugnabunt, parum - client non tempus. Nimis mora - client non faciet in tempore vel conflictus fatuorum (vide "rastri"), parum - in Interreti amittetur facis.

Cum timeout=5s, mora=100..500ms optio omnino opus est

Fenestra

Quantumvis ridiculum sonat, satis non-trivial Google est aperte pulsare clientem huius suggesti. Talis ut cli sustinet mora, TCP - et sine arcubus.

Vel, potes experiri hoc est. Videtur Google meus non crustulam esse.

Linux

Hic simplex est:

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

MacOS

Portum ab homebrew instituere facillimum est:
brew install knock
batch files traheret necessarias ad imperata similia;

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

iOS

Optio operandi est KnockOnD (liber, ex copia).

Android

"Pulsate in portubus" Aliquam non aliquam justo. Tincidunt sint et sit amet.

PS markdownum in HabrΓ©, utique Deus eum aliquando benedicat.

UPD1: gratias ut bonus homo found opus clientis sub Fenestra.
UPD2: Allium unus bonum me admonuit novas regulas in fine iptables non semper utiles esse. Sed - dependet.

Source: www.habr.com