Molaidhean & cleasan Linux: frithealaiche, fosgail suas

Dhaibhsan a dh’ fheumas cothrom a thoirt dhaibh fhèin, an luchd-gràidh, air na frithealaichean aca bho àite sam bith san t-saoghal tro SSH/RDP/eile, RTFM/spor bheag.

Feumaidh sinn dèanamh às aonais VPN agus glagan is fìdeagan eile, bho inneal sam bith a tha ri làimh.

Agus gus nach fheum thu cus eacarsaich a dhèanamh leis an fhrithealaiche.

Chan eil agad ach airson seo cnag, gàirdeanan dìreach agus 5 mionaidean de dh'obair.

“Tha a h-uile dad air an eadar-lìn,” gu dearbh (eadhon air Habré), ach nuair a thig e gu buileachadh sònraichte, seo far a bheil e a’ tòiseachadh...

Cleachdaidh sinn cleachdadh Fedora / CentOS mar eisimpleir, ach chan eil sin gu diofar.

Tha an spor freagarrach airson an dà chuid luchd-tòiseachaidh agus eòlaichean anns a 'chùis seo, agus mar sin bidh beachdan ann, ach bidh iad nas giorra.

1. Frithealaidh

  • stàlaich knock-server:
    yum/dnf install knock-server

  • rèiteachadh e (mar eisimpleir air 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

    Thathas an dùil gun dùin am pàirt “fosglaidh” gu fèin-ghluasadach às deidh 1 uair. Chan eil fios agad a-riamh ...

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

  • air adhart:

    service iptables restart
    service knockd start

  • faodaidh tu RDP a chuir ris an Windows Server brìgheil a’ snìomh a-staigh (/etc/knockd.conf; cuir ainm an eadar-aghaidh a rèir do bhlas):

    [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

    Bidh sinn a’ cumail sùil air a h-uile breab bhon neach-dèiligidh air an fhrithealaiche leis an àithne iptables -S.

2. Stiùireadh air racaichean

cnoc.conf:

Tha a h-uile càil anns a 'mhana cuideachd (ach tha seo mearachdach), ach tha caraid air a leagail le teachdaireachdan gu math teann, agus mar sin feumaidh tu a bhith gu math faiceallach.

  • dreach
    Anns na tasgaidhean Fedora / CentOS, is e 0.63 an ìre as ùire a chaidh a leagail airson an-diugh. Cò a tha ag iarraidh UDP - coimhead airson pacaidean 0.70.
  • eadar-aghaidh
    Anns an rèiteachadh bunaiteach Fedora / CentOS an loidhne seo neo-làthaireach. Cuir ris le do làmhan, air neo cha obraich e.
  • A 'gabhail fois
    An seo faodaidh tu taghadh a rèir do bhlas. Tha e riatanach gu bheil ùine gu leòr aig an neach-dèiligidh airson a h-uile breab - agus brisidh am port sganair bot (agus sganaidh 146%).
  • tòiseachadh/stad/àithne.
    Ma tha aon àithne ann, an uairsin àithne, ma tha dhà ann, an uairsin start_command + stop_command.
    Ma nì thu mearachd, fanaidh tu sàmhach, ach chan obraich e.
  • ròp
    Gu teòiridheach, faodar UDP a chleachdadh. Ann an cleachdadh, mheasg mi tcp agus udp, agus cha b 'urrainn don neach-dèiligidh bhon tràigh ann am Bali an geata fhosgladh ach an còigeamh turas. Leis gun do ràinig TCP nuair a bha feum air, ach chan eil UDP na fhìrinn. Ach tha seo na chùis blas, a-rithist.
  • Sreath
    Is e an ràcan follaiseach nach bu chòir na sreathan a bhith eadar-ghearradh ... mar a chuireas tu e ...

Mar eisimpleir, seo:

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

Le breab 11111 fosgailte feitheamh ris an ath bhreab aig 22222. Ach, às dèidh seo (22222) tòisichidh e ag obair dùin agus brisidh gach ni. Tha seo an urra ri dàil an neach-dèiligidh cuideachd. A leithid de rudan ©.

iptables

Ma tha e ann an /etc/sysconfig/iptables tha seo:

*nat
:PREROUTING ACCEPT [0:0]

Chan eil e gu mòr a’ cur dragh oirnn, mar sin seo e:

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

Tha e a’ cur bacadh air.

Leis gu bheil knockd a’ cur riaghailtean ri deireadh an t-sreath INPUT, gheibh sinn diùltadh.

Agus tha a bhith a 'cur dheth a' dhiùltadh seo a 'ciallachadh a bhith a' fosgladh a 'chàr gu gach gaoth.

Gus nach tèid thu air chall ann an iptables dè a chuireas tu a-steach ro dè (mar seo daoine moladh) dèanamaid nas sìmplidhe:

  • bunaiteach air CentOS / Fedora a 'chiad fhear thèid a chaochladh a chuir an àite na riaghailt (“rud nach eil ceadaichte”),
  • agus bheir sinn air falbh an riaghailt mu dheireadh.

Bu chòir an toradh a bhith:

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

Faodaidh tu, gu dearbh, REJECT a dhèanamh an àite DROP, ach le DROP bidh beatha nas spòrsail dha botaichean.

3. Cliant

Is e an t-àite seo an rud as inntinniche (bho mo shealladh), oir feumaidh tu a bhith ag obair chan ann a-mhàin bho tràigh sam bith, ach cuideachd bho inneal sam bith.

Ann am prionnsabal, tha grunn luchd-dèiligidh air an liostadh air làrach pròiseact, ach tha seo bhon aon sreath "tha a h-uile dad air an eadar-lìon." Mar sin, nì mi liosta de na tha ag obair aig mo chorragan an seo agus an-dràsta.

Nuair a thaghas tu neach-dèiligidh, feumaidh tu dèanamh cinnteach gu bheil e a’ toirt taic don roghainn dàil eadar pacaidean. Tha, tha eadar-dhealachaidhean eadar tràighean agus chan eil 100 megabits a-riamh a’ gealltainn gun ruig pacaidean san òrdugh cheart aig an àm cheart bho àite sònraichte.

Agus tha, nuair a bhios tu a 'stèidheachadh neach-dèiligidh, feumaidh tu an dàil a thaghadh thu fhèin. Cus ùine a-mach - bheir botaichean ionnsaigh, ro bheag - cha bhi ùine aig an neach-dèiligidh. Cus dàil - cha dèan an neach-dèiligidh e ann an ùine no bidh còmhstri eadar-dhealaichte (faic “ràcan”), ro bheag - thèid na pacaidean air chall air an eadar-lìn.

Le ùine a-mach = 5s, tha dàil = 100..500ms na roghainn gu tur ag obair

Windows

Ge bith dè cho èibhinn ‘s a tha e, tha e gu math neo-bheag dha Google mar neach-dèiligidh soilleir airson an àrd-ùrlar seo. Mar sin gu bheil an CLI a ’toirt taic do dàil, TCP - agus às aonais boghaichean.

Air neo, faodaidh tu feuchainn seo e. A rèir choltais chan e cèic a th’ ann an Google.

Linux

Tha e sìmplidh an seo:

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

MacOS

Is e an dòigh as fhasa am port a chuir a-steach bhon dachaigh:
brew install knock
agus tarraing na faidhlichean baidse riatanach airson òrdughan mar:

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

iOS

Is e roghainn obrach KnockOnD (an-asgaidh, bhon stòr).

Android

"Cnoc air puirt" Chan e sanasachd, ach tha e dìreach ag obair. Agus tha an luchd-leasachaidh gu math freagairteach.

PS markdown air Habré, gu dearbh, beannaich Dia e uaireigin ...

UPD 1: taing dha do dhuine maith fhuaradh neach-dèiligidh ag obair fo Windows.
UPD 2: fear eile duine math chuir mi nam chuimhne nach eil e an-còmhnaidh feumail riaghailtean ùra a chuir aig deireadh iptables. Ach - tha e an urra.

Source: www.habr.com

Cuir beachd ann