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.
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 😀
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 ^ _ ^
Ď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
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.
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
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 ^ _ ^
Pridané do obľúbených položiek! : D!
Vďaka!
Dakujem 😀
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.
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?
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ť.
Skutočne musíme otvoriť porty a presmerovať ich na počítač, ktorý voláme.
Škoda.
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
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 😀
Ďakujem pekne, neviete, ako mi to pomáha, chystám sa založiť server a ide mi to skvele.
pozdravy
Na to sme, aby sme pomohli 😉
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.
Ďakujem za komentár 🙂
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!! 🙂
Ďakujem za komentár 🙂
Áno, vždy sa snažíme uspokojiť tú túžbu po vedomostiach, ktoré majú naši čitatelia 😀
Zaujímavé, že som tú možnosť nepoznal.
Preskočte priamo na výkrm mojej knižnice kotletov.
Vďaka!
Potešenie pre mňa 😀
pozdravy
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
toto je skvelé…. ^ - ^
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?
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%
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.
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