Lupanje vrata: najbolja sigurnost koju možete imati na računalu ili poslužitelju (implementacija + konfiguracija)

Upadljive luke (na engleskom luko kuca) Nesumnjivo je praksa koju bismo svi koji upravljamo poslužiteljima trebali dobro znati, ovdje detaljno objašnjavam što je to i kako to implementirati i konfigurirati 😉

Trenutno mi koji upravljamo poslužiteljem imamo SSH pristup tom poslužitelju, neki mijenjamo zadani port SSH i više ne koristi port 22, a drugi ga jednostavno ostavljaju tako (nešto se ne preporučuje), međutim poslužitelj je omogućio SSH pristup putem nekog porta i to je već 'ranjivost'.

s Lupanje luke možemo postići sljedeće:

1. SSH pristup ne omogućuje nijedan port. Ako imamo konfiguriran SSH za port 9191 (na primjer), taj će port (9191) biti zatvoren za sve.
2. Ako netko želi pristupiti poslužitelju putem SSH-a, očito neće moći, budući da je port 9191 zatvoren ... ali, ako koristimo 'čarobnu' ili tajnu kombinaciju, taj će se port otvoriti, na primjer:

1. Ja telefoniram na priključak 7000 poslužitelja
2. Radim još jedan telnet za priključenje 8000 poslužitelja
3. Radim još jedan telnet za priključak 9000 poslužitelja
4. Poslužitelj otkrije da je netko napravio tajnu kombinaciju (dodirni portovi 7000, 8000 i 9000 tim redoslijedom) i otvorit će port 9191 kako bi SSH zatražio prijavu (otvorit će ga samo za IP s kojeg je kombinacija napravljena zadovoljavajući).
5. Sada da zatvorim SSH, samo sam telnet na port 3500
6. Učinit ću još jedan telnet do porta 4500
7. I na kraju još jedan telnet za port 5500
8. Izvođenjem ove druge tajne kombinacije koju poslužitelj otkrije ponovno će zatvoriti port 9191.

Drugim riječima, objasniti ovo još jednostavnije ...

s Lupanje luke naš poslužitelj može imati zatvorene određene luke, ali kad poslužitelj to otkrije X IP napravljena je ispravna kombinacija porta (prethodno definirana u konfiguracijskoj datoteci) izvršit će određenu naredbu na sebi očito (naredba također definirano u konfiguracijskoj datoteci).

Nije li razumljivo? 🙂

Kako instalirati demon za lupanje lukom?

Ja to radim s paketom nadignut, što će nam omogućiti na vrlo, vrlo jednostavan i brz način implementacije i konfiguriranja Lupanje luke.

Instalirajte paket: knockd

Kako konfigurirati lupanje luke knockd-om?

Jednom instalirani nastavljamo ga konfigurirati, za to uređujemo (kao root) datoteku /etc/knockd.conf:

nano /etc/knockd.conf

Kao što vidite u toj datoteci već postoji zadana konfiguracija:

 Objašnjenje zadanih postavki zaista je jednostavno.

- Prvo, KoristiteSyslog znači da ćemo zabilježiti aktivnost (zapisnik) koji ćemo koristiti / var / log / syslog.
- Drugo, u odjeljku [openSSH] Tamo će očito ići upute za otvaranje SSH-a, prvo imamo redoslijed portova (tajna kombinacija) koji je konfiguriran prema zadanim postavkama (port 7000, port 8000 i na kraju port 9000). Očito se luke mogu mijenjati (zapravo to preporučujem), kao što ne moraju nužno biti 3, mogu biti više ili manje, ovisi o vama.
- Treće, seq_timeout = 5 znači vrijeme čekanja da se dogodi tajna kombinacija luka. Prema zadanim postavkama postavljeno je na 5 sekundi, to znači da nakon što počnemo izvoditi kucanje u luku (to jest, kada telefoniramo na priključak 7000) imamo najviše 5 sekundi da završimo ispravan niz, ako prođe 5 sekundi i nismo dovršili kucanje u luci, tada će jednostavno biti kao da je slijed nevaljan.
- Četvrti, naredba ne treba puno objašnjenja. Ovo će jednostavno biti naredba koju će poslužitelj izvršiti kada otkrije prethodno definiranu kombinaciju. Naredba koja je prema zadanim postavkama postavljena za rad je otvaranje porta 22 (promijenite ovaj port za svoj SSH port) samo na IP koji je napravio ispravnu kombinaciju portova.
- Peto, tcpflags = sinh Ovim retkom određujemo vrstu paketa koje će poslužitelj prepoznati kao važeće za kucajući port.

Zatim postoji odjeljak za zatvaranje SSH-a, koji kaže da zadana konfiguracija nije ništa drugo do isti slijed gornjih priključaka već u suprotnom redoslijedu.

Evo konfiguracije s nekim izmjenama:

 Kako pokrenuti knockd daemon?

Da bismo ga pokrenuli, prvo moramo izmijeniti (kao root) datoteku / etc / default / knockd:

nano /etc/default/knockd

Tamo mijenjamo redak broj 12 koji kaže: «START_KNOCKD = 0»A da promijenimo 0 na 1, imali bismo:«START_KNOCKD = 1«

Jednom kad je to gotovo, jednostavno ga pokrećemo:

service knockd start

I voila, konfigurirano je i radi.

Kucanje u luku s kucanjem i trčanjem!

Kao što možete vidjeti u prethodnoj konfiguraciji, ako se lupanje porta izvrši na port 1000, zatim na 2000 i na kraju na 3000, tada će se otvoriti port 2222 (moj SSH), pa evo još jedno računalo koje izvršava kucanje porta:

Jednom kad pritisnem [Enter] na Knocku br. 1, br. 2 i konačno na br. 3, otvorit će se port, evo dnevnika:

Kao što vidite, kada je kucnuo port 1000, registriran je stupanj 1, tada će u 2000 biti stupanj 2 i na kraju u 3 s 3000, kada se to izvršava, naredba koju sam proglasio u .conf se izvršava i to je to.

Tada bi zatvaranje luke značilo samo kucanje 9000, 8000 i konačno 7000, evo dnevnika:

I ovdje završava objašnjenje upotrebe use

Kao što vidite, Kucanje luka je zaista zanimljivo i korisno, jer iako ne želimo jednostavno otvoriti port nakon određene kombinacije portova, naredba ili nalog koji će poslužitelj izvršiti može se razlikovati, to jest ... umjesto otvaranje porta možemo proglasiti da ubijamo proces, zaustavljamo uslugu poput apachea ili mysqla itd ... ograničenje je vaša mašta.

Lupanje vrata radi samo kada imate fizički poslužitelj ili kada je virtualni poslužitelj KVM tehnologija. Ako je vaš VPS (virtualni poslužitelj) OpenVZ, onda lupanje porta, mislim da vam to ne ide jer ne možete izravno manipulirati iptables

Pa i do sada članak ... Ja nisam daleko stručnjak u ovom pitanju, ali želio sam podijeliti s vama ovaj vrlo zanimljiv postupak.

Pozdrav 😀


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   erunamoJAZZ dijo

    Izvrstan članak, prilično je zanimljiv i nisam znala da postoji ... bilo bi sjajno ako nastavite davati članke za sysadmin početnike i to 😀

    Pozdrav i hvala ^ _ ^

    1.    KZKG ^ Gaara dijo

      Hvala vam na komentaru.
      Da ... to je da člancima o DNS-u FICO-a ne želim biti zaostao za LOL-om !!!

      Ništa ozbiljno. Prije nekoliko mjeseci čuo sam nešto o lupanju luke i to mi je odmah privuklo pažnju, ali budući da sam u to vrijeme mislio da će biti vrlo složeno, nisam odlučio ući unutra, baš jučer pregledavajući neke pakete iz repo-a otkrio sam knockd i odlučio probati, i evo vodiča.

      Uvijek sam volio stavljati tehničke članke, neki možda nisu dovoljno zanimljivi, ali ... nadam se da su drugi 😉

      pozdravi

    2.    Mario dijo

      Pozdrav, znam da ovaj članak postoji već neko vrijeme, ali pokrećem svoj upit da vidim može li ga netko riješiti umjesto mene.
      Činjenica je da sam implementirao kucanje porta na moju malinu kako bih pokušao poboljšati sigurnost kada se na nju povežem izvan lokalne mreže. Da bi ovo uspjelo, morao sam otvoriti raspon priključaka na usmjerivaču 7000-9990 usmjeravajući na stroj. Je li sigurno otvoriti ove priključke na usmjerivaču ili, naprotiv, kada pokušavam imati veću sigurnost, radim li suprotno?

      Pozdrav i hvala.

  2.   ikad dijo

    Super, godinama sam sysadmin i nisam ga poznavao.
    Jedno pitanje ... kako se radi "kucanje"?
    Telenetujete li protiv tih luka? Što vam telnet odgovara? Ili postoji neka naredba "kucanja" vala?
    Super je članak. Spektakularan. Hvala puno

    1.    KZKG ^ Gaara dijo

      Napravio sam test s telnetom i sve je učinilo čuda ... ali, znatiželjno je da postoji naredba 'kucaj', učini a čovjek kuca tako da možete vidjeti 😉

      Telnet mi zapravo uopće ne odgovara, iptables s DROP politikom čini da uopće ne reagira i telnet ostaje tamo čekajući neki odgovor (koji nikada neće stići), ali knockd daemon prepoznat će kucanje čak i ako nitko ne odgovori to 😀

      Puno vam hvala na komentaru, zadovoljstvo mi je znati da moji članci i dalje vole ^ _ ^

  3.   st0rmt4il dijo

    Dodano u Favorite! : D!

    Gracias!

    1.    KZKG ^ Gaara dijo

      Hvala 😀

  4.   dhunter dijo

    Ah, sigurnost, onaj ugodni osjećaj kada osiguravamo računalo na vodovodu, a zatim se danima / tjednima kasnije pokušavamo povezati s udaljenog mjesta kojem ne možemo pristupiti jer je vatrozid u načinu "nitko ni za koga", to se naziva zadržavanje izvan dvorca u smislu sysadmina. 😉

    Zato je ovaj post toliko koristan, s knockdom možete pristupiti s bilo kojeg mjesta koje može poslati paket na vašu lokalnu mrežu, a napadači gube interes kad vide da je ssh port zatvoren, ne mislim da će kucati grubo sila za otvaranje luke.

  5.   Manuel dijo

    Hej, članak je sjajan.

    Jedno: služi li za povezivanje izvan lokalne mreže?

    Kažem to jer imam usmjerivač sa zatvorenim priključcima minus onaj koji odgovara ssh-u koji je preusmjeren na poslužitelj.

    Pretpostavljam da će, kako bi mogao raditi izvan lokalne mreže, biti potrebno otvoriti priključke usmjerivača koji odgovaraju Port Knockingu i učiniti ih također preusmjerenima na poslužitelj.

    Mmm ...

    Ne znam koliko je sigurno to učiniti.

    Što misliš?

    1.    KZKG ^ Gaara dijo

      Nisam baš siguran, nisam izvršio test, ali mislim da da, trebali biste otvoriti priključke na usmjerivaču, inače ne biste mogli zakucati poslužitelj.

      Napravite test bez otvaranja priključaka na usmjerivaču, ako to ne uspije za vas šteta, jer se slažem s vama, nije preporučljivo otvarati ove priključke na usmjerivaču.

      1.    Manuel dijo

        Zapravo, moramo otvoriti priključke i preusmjeriti ih na računalo koje zovemo.

        Šteta.

  6.   rabba08 dijo

    Veliko hvala! Tek počinjem učiti umrežavanje i ovi vodiči su mi izvrsni! hvala što ste odvojili vrijeme za dijeljenje znanja

    1.    KZKG ^ Gaara dijo

      Tijekom godina naučio sam puno s globalnom Linux zajednicom ... već nekoliko godina želim i ja dati svoj doprinos, upravo zato pišem 😀

  7.   siječanj981 dijo

    Puno vam hvala, ne znate kako mi pomaže, sprema se postaviti poslužitelj i ovo mi ide super.

    pozdravi

    1.    KZKG ^ Gaara dijo

      Za to smo i mi, da pomognemo 😉

  8.   Jean ventura dijo

    Izvrsan članak! Nisam znao za ovo i puno mi pomaže (koristim RackSpace koji koristi KVM, tako da mi odgovara kao rukavica!). Dodano u omiljene.

    1.    KZKG ^ Gaara dijo

      Hvala na komentaru 🙂

  9.   Algave dijo

    Kao i obično DesdeLinux donosi nam izvrsne objave s uputama koje je zaista korisno provesti, hvala na dijeljenju!! 🙂

    1.    KZKG ^ Gaara dijo

      Hvala na komentaru 🙂
      Da, uvijek nastojimo utažiti tu žeđ za znanjem koju imaju naši čitatelji 😀

  10.   Timbleck dijo

    Zanimljivo, nisam znao opciju.
    Prijeđi ravno na tov moje biblioteke s kotletima.
    Gracias!

    1.    KZKG ^ Gaara dijo

      Užitak za mene 😀
      pozdravi

  11.   Frederick. A. Valdés Toujague dijo

    Pozdrav KZKG ^ Gaara !!! Stisnuo si. Strašan članak o sigurnim poslužiteljima. Nema @% * & ^ ideje da takvo što postoji. Pokusati cu. Hvala vam

  12.   Bijela ^ ogrlica dijo

    ovo je super…. ^ - ^

  13.   LearnLinux dijo

    Pozdrav, možete li objasniti kako ga instalirati u CentOS 5.x?

    Skinuo sam rpm:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

    Instalirano:
    rpm -i knock-0.5-3.el5.rf.x86_64.rpm

    Konfigurirajte konfiguracijsku datoteku s 15 sekundi vremena i port koji koristim za povezivanje ssh-om na svoj vps

    Demon započinje:
    / usr / sbin / knockd &

    Ja telnet i ništa se port ne zatvara, prema zadanim postavkama port je otvoren, ali se ne zatvara.

    Radim li nešto krivo?

  14.   bok dijo

    Mmmm, telnet zahtjeve za ove portove mogao bi naučiti administrator naše lokalne mreže ili naš davatelj usluga, ne? To bi blokiralo vanjske ljude, ali ne i njih, pa ako žele aktivirati našu luku, mogli bi to učiniti jer pogledajte zahtjeve koje podnosimo, mmm recimo da štiti, ali ne 100%

    1.    Roberto dijo

      Moglo bi biti, ali mislim da neće zamišljati da određeni telnet izvršava X akciju. Osim ako ne vide da se slijede isti telnet obrasci.

  15.   Pablo Andres Diaz Aramburo dijo

    Zanimljiv članak, imam pitanje. Mislim da postoji pogreška u slici konfiguracijske datoteke, jer ako dobro analizirate, u oba retka naredbe koristite ACCEPT u Iptables. Mislim da bi netko trebao biti PRIHVATEN, a drugi ODBIJATI.

    Inače, izvrsna inicijativa. Puno vam hvala što ste odvojili vrijeme da drugima objasnite svoje znanje.

    pozdravi