Klepanie na port: Najlepšie zabezpečenie, ktoré môžete mať na svojom počítači alebo serveri (nasadenie + konfigurácia)

Pozoruhodné prístavy (v angličtine klepanie portov) Je nepochybne prax, že všetci, ktorí spravujeme servery, by sme mali dobre vedieť, tu podrobne vysvetľujem, čo to je a ako to implementovať a nakonfigurovať 😉

Niektorí z nás, ktorí spravujeme server, majú práve teraz prístup SSH k tomuto serveru zmeníme predvolený port SSH a už nepoužíva port 22 a ostatní to jednoducho nechajú tak (niečo sa neodporúča), ale server povolil prístup SSH cez nejaký port a to už je „zraniteľnosť“.

s Klepanie na prístav môžeme dosiahnuť nasledovné:

1. Prístup SSH nie je povolený žiadnym portom. Ak máme napríklad SSH nakonfigurovaný pre port 9191, bude tento port (9191) zatvorený pre všetkých.
2. Ak niekto chce mať prístup na server pomocou SSH, zjavne to nebude môcť, pretože port 9191 je uzavretý ..., ale ak použijeme „magickú“ alebo tajnú kombináciu, otvorí sa tento port, napríklad:

1. Telnetujem na port 7000 servera
2. Urobím ďalší telnet na port 8000 servera
3. Urobím ďalší telnet na port 9000 servera
4. Server zistí, že niekto vytvoril tajnú kombináciu (dotykové porty 7000, 8000 a 9000 v tomto poradí) a otvorí port 9191, aby vyžiadal prihlásenie pomocou SSH (otvorí ho iba pre adresu IP, z ktorej bola táto kombinácia uspokojivá) .
5. Teraz, aby som zavrel SSH, som iba telnetoval na port 3500
6. Urobím ďalší telnet na port 4500
7. A nakoniec ďalší telnet na port 5500
8. Vykonaním tejto ďalšej tajnej kombinácie, ktorú server zistí, sa port 9191 opäť uzavrie.

Inými slovami, vysvetlenie tohto problému ešte jednoduchšie ...

s Klepanie na prístav náš server môže mať určité porty zatvorené, ale keď server zistí, že z X IP bola urobená správna kombinácia portov (konfigurácia predtým definovaná v konfiguračnom súbore) zjavne vykoná určitý príkaz (príkaz definované aj v konfiguračnom súbore).

Je to pochopené nie? 🙂

Ako nainštalovať démona pre klepanie portov?

Robím to s balíkom kopnutý, čo nám umožní veľmi, veľmi jednoduchým a rýchlym spôsobom implementovať a nakonfigurovať Klepanie na prístav.

Nainštalujte balík: knockd

Ako nakonfigurovať klepanie portov pomocou knockd?

Po nainštalovaní ho nakonfigurujeme, preto upravíme (ako root) súbor /etc/knockd.conf:

nano /etc/knockd.conf

Ako vidíte v tomto súbore, predvolená konfigurácia už existuje:

 Vysvetlenie predvolených nastavení je naozaj jednoduché.

- Najprv, UseSyslog znamená, že na zaznamenanie činnosti (denníka) použijeme / Var / log / syslog.
- Po druhé, v časti [OpenSSH] Práve tam budú samozrejme smerovať pokyny na otvorenie SSH. Najprv tu máme postupnosť portov (tajná kombinácia), ktorá je nakonfigurovaná predvolene (port 7000, port 8000 a nakoniec port 9000). Je zrejmé, že porty je možné meniť (v skutočnosti odporúčam), rovnako ako nemusia byť 3, môžu byť viac alebo menej, záleží to na vás.
- po tretie, seq_timeout = 5 znamená čas čakania na uskutočnenie kombinácie tajných portov. Predvolene je nastavená na 5 sekúnd, to znamená, že akonáhle začneme vykonávať klepanie na port (tj. Keď telnetujeme na port 7000), máme na dokončenie správnej sekvencie maximálne 5 sekúnd, ak uplynie 5 sekúnd a nedokončili sme klepanie na port, potom to bude jednoducho akoby bola sekvencia neplatná.
- štvrtý, povel netreba to moc vysvetlovat. Bude to jednoducho príkaz, ktorý server vykoná, keď zistí kombináciu definovanú vyššie. Príkaz, ktorý je nastavený v predvolenom nastavení, je otvoriť port 22 (zmeňte tento port pre svoj SSH) iba na adresu IP, ktorá vytvorila správnu kombináciu portov.
- piaty, tcpflags = syn V tomto riadku určíme typ paketov, ktoré server rozpozná ako platné pre klepajúci port.

Potom je tu sekcia na uzavretie SSH, že predvolená konfigurácia nie je nič iné ako rovnaká postupnosť portov vyššie, ale v opačnom poradí.

Tu je konfigurácia s niektorými úpravami:

 Ako spustiť knockd démona?

Na jeho spustenie musíme najskôr upraviť (ako root) súbor / etc / default / knockd:

nano /etc/default/knockd

Tam zmeníme riadok číslo 12, ktorý hovorí: «START_KNOCKD = 0»A keď zmeníme túto hodnotu na 0, budeme mať:«START_KNOCKD = 1«

Keď to urobíte teraz, jednoducho to spustíme:

service knockd start

A voila, je nakonfigurovaný a funkčný.

Prístav klepanie s funkciou knockd up and running!

Ako vidíte v predchádzajúcej konfigurácii, ak sa klepanie na port vykoná na port 1000, potom na 2000 a nakoniec na 3000, otvorí sa port 2222 (môj SSH), tu je iný počítač vykonávajúci klepanie na port:

Raz stlačím [Enter] na Knock No.1, na No.2 a nakoniec na No.3 sa otvorí port, tu je log:

Ako vidíte, pri klepaní na port 1000 bola zaregistrovaná fáza 1, potom v roku 2000 to bude fáza 2 a nakoniec v 3 s 3000, pričom sa vykoná príkaz, ktorý som deklaroval v súbore .conf, a je to.

Potom by sa port uzavrel iba klepaním na 9000, 8000 a nakoniec 7000, tu je protokol:

A tu končí vysvetlenie použitia 😀

Ako vidíte, klepanie portov je skutočne zaujímavé a užitočné, pretože aj keď nechceme otvoriť port iba po určitej kombinácii portov, príkaz alebo príkaz, ktorý server vykoná, sa môže líšiť, to znamená ... namiesto otvorenie portu môžeme vyhlásiť za zabitie procesu, zastavenie služby ako apache alebo mysql, atď ... limit je vaša fantázia.

Port Knocking funguje, iba ak máte fyzický server alebo ak je virtuálnym serverom technológia KVM. Ak je váš VPS (virtuálny server) OpenVZ, potom klepanie portov Nemyslím si, že to funguje pre vás, pretože nemôžete priamo manipulovať s iptables

No a zatiaľ článok ... Nie som zďaleka odborník v tejto veci, ale chcel som sa s vami podeliť o tento veľmi zaujímavý proces.

Zdravím 😀


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   erunamoJAZZ dijo

    Vynikajúci článok, je to celkom zaujímavé a nevedel som, že existuje ... bolo by skvelé, keby ste stále dávali články pre nováčikov sysadmin a to 😀

    Zdravím a ďakujem ^ _ ^

    1.    KZKG ^ Gaara dijo

      Ďakujem za komentár.
      Áno ... je to tak, že s článkami o DNS FICO nechcem zostať pozadu LOL !!!

      Nič vážne. Pred niekoľkými mesiacmi som počul niečo o Port Knocking a okamžite ma to zaujalo, ale keďže som si v tom čase myslel, že to bude veľmi zložité, nerozhodol som sa ísť dovnútra, práve včera som si prezeral nejaké balíčky z repa a objavil som knockd a sa rozhodli vyskúšať to a tu je návod.

      Vždy som rád dával technické články, niektoré nemusia byť dosť zaujímavé, ale ... dúfam, že iné are

      pozdravy

    2.    mario dijo

      Dobrý deň, viem, že tento článok existuje už nejaký čas, ale posielam svoj dotaz, či to niekto za mňa nedokáže vyriešiť.
      Faktom je, že som implementoval klepanie portov na svoju malinu, aby som sa pokúsil vylepšiť zabezpečenie, keď sa k nemu pripájam z vonkajšej lokálnej siete. Aby to fungovalo, musel som otvoriť rozsah portov na smerovači 7000-9990 smerujúcich do stroja. Je bezpečné tieto porty na smerovači otvoriť, alebo naopak, keď sa snažím o väčšiu bezpečnosť, robím to naopak?

      Zdravím a ďakujem.

  2.   EVER dijo

    Super, roky som sysadmin a nepoznal som ho.
    Jedna otázka ... ako robíte „ťuk“?
    Telnetujete proti týmto portom? Čo ti odpovedá telnet? Alebo existuje nejaký príkaz na „zaklopanie“ vlny?
    Skvelý článok je super. Veľkolepé. Mnohokrat dakujem

    1.    KZKG ^ Gaara dijo

      Test som urobil pomocou telnetu a všetko dokázalo zázraky ... ale napodiv existuje príkaz „klepnutie“, urobte zaklopať muž aby ste videli 😉

      Telnet na mňa v skutočnosti vôbec nereaguje, iptables s politikou DROP ho nereagujú vôbec a telnet tam zostane čakať na odpoveď (ktorá nikdy nepríde), ale démon knockd rozpozná klepanie, aj keď nie jeden reaguje 😀

      Ďakujem pekne za komentár, je mi potešením vedieť, že moje články sa stále páčia ^ _ ^

  3.   st0rmt4il dijo

    Pridané do obľúbených položiek! : D!

    Vďaka!

    1.    KZKG ^ Gaara dijo

      Dakujem 😀

  4.   lovec dijo

    Aha, bezpečnosť, ten príjemný pocit, keď zabezpečíme počítač pomocou vodovodného potrubia, a potom sa o niekoľko dní / týždňov pokúšame pripojiť z nejakého vzdialeného miesta, ku ktorému nemáme prístup, pretože brána firewall je v režime „nikto pre nikoho“. Mimo hradu v zmysle sysadmins. 😉

    Preto je tento príspevok taký užitočný, pretože pomocou knockd máte prístup odkiaľkoľvek, ktorý môže poslať paket do vašej lokálnej siete, a útočníci stratia záujem, keď vidia, že port ssh je uzavretý, nemyslím si, že klepú hrubou rukou sila na otvorenie portu.

  5.   Manuel dijo

    Hej, článok je super.

    Jedna vec: slúži na pripojenie zvonku lokálnej siete?

    Hovorím to preto, lebo mám router so zatvorenými portami mínus ten, ktorý zodpovedá ssh, ktorý je presmerovaný na server.

    Predstavujem si, že aby to fungovalo mimo lokálnej siete, bude potrebné otvoriť porty smerovača zodpovedajúce Port Knocking a presmerovať ich tiež na server.

    Mmm ...

    Neviem, do akej miery je bezpečné to urobiť.

    Co si myslis?

    1.    KZKG ^ Gaara dijo

      Nie som si veľmi istý, test som neurobil, ale myslím si, že áno, mali by ste otvoriť porty na smerovači, inak by ste nemohli server zraziť.

      Vykonajte test bez otvorenia portov na smerovači, ak to nefunguje pre vás, je to škoda, pretože s vami súhlasím, nie je vhodné tieto porty na smerovači otvárať.

      1.    Manuel dijo

        Skutočne musíme otvoriť porty a presmerovať ich na počítač, ktorý voláme.

        Škoda.

  6.   raba08 dijo

    Veľmi pekne ďakujem! Práve som začal študovať sieťovú kariéru a tieto návody sú pre mňa skvelé! ďakujeme, že ste si našli čas a zdieľali vedomosti

    1.    KZKG ^ Gaara dijo

      Za tie roky som sa s globálnou komunitou Linuxu veľa naučil ... už pár rokov chcem prispievať aj ja, a preto píšem 😀

  7.   január981 dijo

    Ďakujem pekne, neviete, ako mi to pomáha, chystám sa založiť server a ide mi to skvele.

    pozdravy

    1.    KZKG ^ Gaara dijo

      Na to sme, aby sme pomohli 😉

  8.   Jean ventura dijo

    Vynikajúci článok! Nemal som o tom žiadne vedomosti a veľmi mi to pomáha (používam RackSpace, ktorý používa KVM, takže mi to vyhovuje ako uliate!). Pridané k obľúbeným.

    1.    KZKG ^ Gaara dijo

      Ďakujem za komentár 🙂

  9.   Algave dijo

    Ako zvyčajne DesdeLinux nám prináša vynikajúce príspevky s návodmi, ktoré je naozaj užitočné uviesť do praxe, vďaka za zdieľanie!! 🙂

    1.    KZKG ^ Gaara dijo

      Ďakujem za komentár 🙂
      Áno, vždy sa snažíme uspokojiť tú túžbu po vedomostiach, ktoré majú naši čitatelia 😀

  10.   Timbleck dijo

    Zaujímavé, že som tú možnosť nepoznal.
    Preskočte priamo na výkrm mojej knižnice kotletov.
    Vďaka!

    1.    KZKG ^ Gaara dijo

      Potešenie pre mňa 😀
      pozdravy

  11.   Frederick. A. Valdés Toujague dijo

    Zdravím KZKG ^ Gaara !!! Stlačili ste. Obrovský článok k zabezpečeným serverom. Žiadny @% * & ^ nápad, že také niečo existuje. Skúsim to. Ďakujem

  12.   Biely ^ náhrdelník dijo

    toto je skvelé…. ^ - ^

  13.   LearnLinux dijo

    Dobrý deň, mohli by ste vysvetliť, ako ho nainštalovať do CentOS 5.x?

    Stiahol som si rpm:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

    Nainštalované:
    rpm -i knock-0.5-3.el5.rf.x86_64.rpm

    Konfigurujte konfiguračný súbor s časom 15 sekúnd a portom, ktorý používam na pripojenie pomocou ssh k mojim vps

    Démon začína:
    / usr / sbin / knockd &

    Telnetujem a nič sa port nezatvára, štandardne je port otvorený, ale nezatvára sa.

    Robím niečo zle?

  14.   ahoj dijo

    Hmmm, žiadosti o telnet na tieto porty by sa mohol dozvedieť správca našej miestnej siete alebo náš poskytovateľ služieb, nie? Blokovalo by to externých ľudí, ale nie ich, takže ak chcú aktivovať náš port, mohli by to urobiť, pretože vidia požiadavky, ktoré robíme, mmm, povedzme, že chráni, ale nie 100%

    1.    Roberto dijo

      Mohlo by to byť, ale nemyslím si, že si budú predstavovať, že určitý telnet vykoná X akciu. Pokiaľ nevidia, že sa dodržiavajú rovnaké vzorce telnetu.

  15.   Pablo Andres Diaz Aramburo dijo

    Zaujímavý článok, mám otázku. Myslím, že na obrázku konfiguračného súboru je chyba, pretože ak robíte dobrú analýzu, v oboch riadkoch príkazu používate ACCEPT v Iptables. Myslím si, že jeden by mal PRIJAŤ a druhý by mal byť ZAMIETNUTÝ.

    Inak vynikajúca iniciatíva. Ďakujeme veľmi pekne za čas, ktorý ste venovali vysvetleniu svojich vedomostí ostatným.

    pozdravy