Tip & trik Linux: server, buka

Pikeun maranéhanana anu kudu nyadiakeun sorangan, maranéhanana dipikacinta, kalawan aksés ka server maranéhanana ti mana di dunya via SSH / RDP / séjén, a RTFM leutik / spur.

Urang kedah ngalakukeun tanpa VPN sareng lonceng sareng whistles sanés, tina alat naon waé anu aya.

Sarta ku kituna anjeun teu kudu olahraga teuing jeung server.

Kabéh nu peryogi pikeun ieu ngetok, leungeun lempeng jeung 5 menit gawé.

"Sagala aya dina Internét," tangtosna (malah dina Habré), tapi lamun datang ka palaksanaan husus, ieu tempat dimimitian ...

Kami bakal latihan nganggo Fedora / CentOS sabagé conto, tapi éta henteu masalah.

Spur cocog pikeun pamula sareng ahli dina masalah ieu, janten bakal aya koméntar, tapi bakal langkung pondok.

1. Server

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

  • ngonpigurasikeunana (contona dina 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

    Bagian "muka" disetel ka otomatis nutup saatos 1 jam. Anjeun pernah nyaho...

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

  • payun:

    service iptables restart
    service knockd start

  • Anjeun tiasa nambahkeun RDP kana virtual Windows Server spinning jero (/etc/knockd.conf; ngagantikeun ngaran panganteur pikeun nyocogkeun ka rasa anjeun):

    [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

    Urang ngalacak sagala najong urang ti klien dina server jeung paréntah iptables -S.

2. Pituduh ka garu

knockd.conf:

Mana ogé ngandung sagalana (tapi ieu teu akurat), tapi knockd mangrupakeun sobat anu rada pelit pesen, jadi Anjeun kudu ati pisan.

  • vérsi
    Dina repositori Fedora / CentOS, sambel panganyarna pikeun dinten ayeuna nyaéta 0.63. Saha anu hoyong UDP - milarian 0.70 pakét.
  • interface
    Dina konfigurasi standar Fedora / CentOS garis ieu leungit. Tambahkeun ku leungeun anjeun, lamun henteu eta moal jalan.
  • séép waktos
    Di dieu anjeun bisa milih nurutkeun rasa anjeun. Perlu yén klien ngabogaan cukup waktu pikeun sakabéh tajongan - sarta bot scanner port bakal ngarecah (jeung 146% bakal nyeken).
  • ngamimitian / eureun / paréntah.
    Upami aya hiji paréntah, teras paréntah, upami aya dua, teras start_command + stop_command.
    Lamun nyieun kasalahan, knockd bakal tetep jempé, tapi moal jalan.
  • protokol
    Sacara téoritis, UDP tiasa dianggo. Dina prakna, kuring nyampur tcp sareng udp, sareng klien ti pantai di Bali tiasa muka gerbang ngan kalima kalina. Kusabab TCP anjog nalika diperlukeun, tapi UDP teu kanyataan. Tapi ieu masalah rasa, deui.
  • ngaleles
    rake tersirat nyaeta urutan teu kudu motong ... kumaha nempatkeun eta ...

Contona, ieu:

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

Ku tajongan 11111 kabuka bakal ngadagoan tajongan salajengna dina 22222. Sanajan kitu, sanggeus ieu (22222) tajongan eta bakal ngamimitian digawé. nutup jeung sagalana bakal megatkeun. Ieu gumantung kana reureuh klien urang ogé. hal saperti ©.

iptables

Upami dina /etc/sysconfig/iptables ieu:

*nat
:PREROUTING ACCEPT [0:0]

Éta henteu ngaganggu urang, janten ieu:

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

Éta ngaganggu.

Kusabab knockd nambihan aturan ka tungtung ranté INPUT, urang bakal nampik.

Sareng mareuman nolak ieu hartosna muka mobil ka sadaya angin.

Supaya henteu leungit dina iptables naon anu kedah diselapkeun sateuacan naon (sapertos ieu jelema nyarankeun) hayu urang nyieun leuwih basajan:

  • standar on CentOS / Fedora kahiji aturan ("anu teu dilarang diijinkeun") bakal diganti ku sabalikna,
  • sarta kami nyabut aturan panungtungan.

hasilna kedah kieu:

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

Anjeun tiasa, tangtosna, ulah REJECT tinimbang DROP, tapi kalawan DROP hirup bakal leuwih senang keur bot.

3. Klién

Tempat ieu mangrupikeun anu paling pikaresepeun (tina sudut pandang kuring), sabab anjeun kedah damel henteu ngan ukur ti pantai, tapi ogé tina alat naon waé.

Sacara prinsip, sajumlah klien didaptarkeun dina website proyék, tapi ieu ti séri anu sami "sadayana aya dina Internét." Ku alatan éta, kuring bakal daptar naon anu tiasa dianggo dina jari kuring di dieu sareng ayeuna.

Nalika milih klien, anjeun kedah mastikeun yén éta ngadukung pilihan reureuh antara pakét. Leres, aya bédana antara pantai sareng 100 megabit henteu pernah ngajamin yén pakét bakal sumping dina urutan anu leres dina waktos anu pas ti lokasi anu ditangtukeun.

Sareng enya, nalika nyetél klien, anjeun kedah milih reureuh sorangan. Teuing waktosna - bot bakal nyerang, sakedik teuing - klien moal gaduh waktos. Teuing reureuh - klien moal nyieun dina waktu atawa bakal aya konflik idiots (tingali "rakes"), teuing saeutik - pakét bakal leungit dina Internet.

Kalayan waktosna = 5s, reureuh = 100..500ms mangrupikeun pilihan anu tiasa dianggo

Windows

Perkara teu sabaraha lucu keur disada, éta rada non-trivial mun Google sambel klien jelas pikeun platform ieu. Sapertos anu CLI ngarojong reureuh, TCP - sarta tanpa bows.

Alternatipna, anjeun tiasa nyobian ieu nya. Tétéla Google abdi teu jajan.

Linux

Sadayana saderhana di dieu:

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

MacOS

Cara panggampangna nyaéta masang port ti homebrew:
brew install knock
sareng tarik file bets anu dipikabutuh pikeun paréntah sapertos:

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

ios

Pilihan anu tiasa dianggo nyaéta KnockOnD (gratis, ti toko).

Android

"Sambel di Pelabuhan" Henteu iklan, tapi ngan ukur dianggo. Jeung pamekar anu cukup responsif.

PS markdown on Habré, tangtosna, Allah ngaberkahan anjeunna someday...

UPD1: hatur nuhun ka ka jalma alus kapanggih klien gawe handapeun Windows.
UPD2: Hiji deui lalaki alus ngingetkeun kuring yén nempatkeun aturan anyar dina tungtung iptables henteu salawasna mangpaat. Tapi - eta gumantung.

sumber: www.habr.com

Tambahkeun komentar