Portok kopogása: A számítógépen vagy a kiszolgálón elérhető legjobb biztonság (Telepítés + Konfiguráció)

Feltűnő kikötők (angolul kikötői kopogás) Kétségtelen, hogy mindannyian, akik kiszolgálókat kezelünk, jól ismerjük, itt részletesen elmagyarázom, mi ez, és hogyan kell ezt megvalósítani és konfigurálni 😉

Jelenleg azok, akik kiszolgálót kezelünk, SSH-hozzáféréssel rendelkeznek ehhez a szerverhez, van, akinek megváltoztatjuk az SSH alapértelmezett portját és már nem használja a 22-es portot, mások pedig csak így hagyják (valami nem ajánlott), azonban a szervernek engedélyezett az SSH-hozzáférés bizonyos portokon keresztül, és ez már „sebezhetőség”.

a Kikötői kopogás a következőket érhetjük el:

1. Az SSH-hozzáférést egyetlen port sem engedélyezi. Ha SSH-t konfiguráltunk a 9191-es portra (például), akkor a (9191) -portot mindenki számára bezárják.
2. Ha valaki SSH-n keresztül akar hozzáférni a szerverhez, akkor nyilvánvalóan nem lesz képes rá, mivel a 9191-es port zárva van ... de ha „varázslatot” vagy titkos kombinációt használunk, akkor a port megnyílik, például:

1. Telnetezek a szerver 7000-es portjához
2. Újabb telnetet hajtok végre a szerver 8000-es portjára
3. Újabb telnetet hajtok végre a szerver 9000-es portjára
4. A szerver észleli, hogy valaki elkészítette a titkos kombinációt (érintse meg a 7000, 8000 és 9000 portokat ebben a sorrendben), és megnyitja a 9191 portot, hogy SSH-n keresztül kérje a bejelentkezést (csak annak az IP-nek nyitja meg, amelyből a kombináció kielégítő lett) .
5. Az SSH bezárása érdekében csak a 3500-as portra telnetáltam
6. Újabb telnetet teszek a 4500-as portra
7. És végül egy újabb telnet az 5500-as portra
8. A kiszolgáló által észlelt másik titkos kombináció végrehajtása ismét bezárja a 9191-es portot.

Más szóval, ennek még egyszerűbb magyarázata ...

a Kikötői kopogás lehet, hogy a szerverünk bizonyos portokat bezár, de amikor a szerver ezt észleli X IP a helyes portkombináció készült (korábban egy konfigurációs fájlban definiált konfiguráció) nyilvánvalóan végrehajt bizonyos parancsokat (parancs konfigurációs fájlban is definiálva).

Nem értik? 🙂

Hogyan telepítsünk egy démont a Port Knockinghoz?

A csomaggal csinálom kockott, amely lehetővé teszi számunkra a megvalósítást és konfigurálást nagyon, nagyon egyszerű és gyors módon Kikötői kopogás.

Telepítse a csomagot: knockd

Hogyan konfigurálható a port kopogása a knockd-vel?

A telepítés után folytatjuk a konfigurálást, ehhez szerkesztjük (rootként) a fájlt /etc/knockd.conf:

nano /etc/knockd.conf

Amint láthatja a fájlban, már van alapértelmezett konfiguráció:

 Az alapértelmezett beállítások elmagyarázása nagyon egyszerű.

- Első, syslog használata azt jelenti, hogy a tevékenység (napló) rögzítésére használjuk / Var / log / syslog.
- Másodszor, a szakaszban [openSSH] Nyilvánvalóan oda fognak menni az SSH megnyitására vonatkozó utasítások, először megvan a portok sorrendje (a titkos kombináció), amely alapértelmezés szerint konfigurálva van (7000-es, 8000-es és végül 9000-es port). Nyilvánvaló, hogy a portok megváltoztathatók (sőt én ajánlom), valamint nem feltétlenül 3-nak kell lenniük, többé-kevésbé lehetnek, ez rajtad múlik.
- Harmadszor, seq_timeout = 5 azt az időt jelenti, amikor meg kell várni a titkos portkombináció megvalósulását. Alapértelmezés szerint 5 másodpercre van állítva, ez azt jelenti, hogy ha elkezdjük a port kopogtatását (vagyis amikor telnetezünk a 7000-es portra), akkor legfeljebb 5 másodperc áll rendelkezésünkre a helyes sorrend befejezéséhez, ha eltelt 5 másodperc, és mi még nem fejezte be a port kopogtatását, akkor egyszerűen olyan lesz, mintha a sorrend érvénytelen lenne.
- Negyedszer, parancs nem kell sok magyarázat. Ez egyszerűen az a parancs lesz, amelyet a szerver végrehajt, amikor észleli a fent definiált kombinációt. Az alapértelmezés szerint beállított parancs az, hogy a 22. portot nyitja meg (változtassa meg ezt a portot az SSH-porthoz), csak arra az IP-re, amely a portok helyes kombinációját hozta létre.
- Ötödik, tcpflags = syn Ezzel a sorral határozzuk meg a csomagok típusát, amelyeket a szerver érvényesnek ismer fel a kopogtató portra.

Aztán van egy szakasz az SSH bezárására, amely szerint az alapértelmezett konfiguráció nem más, mint ugyanaz a portok sorozata fent, de ellentétes sorrendben.

Itt van egy konfiguráció néhány módosítással:

 Hogyan lehet elindítani a knockd démont?

Elindításához először módosítanunk kell (rootként) a fájlt / etc / default / knockd:

nano /etc/default/knockd

Itt megváltoztatjuk a 12. sort, amely így szól: «START_KNOCKD = 0»És változtassuk meg ezt a 0-ról 1-re:START_KNOCKD = 1«

Miután ez megtörtént, egyszerűen elindítjuk:

service knockd start

És voila, konfigurálva van és működik.

Kikötő kopogtatva felütéssel és futással!

Amint az az előző konfigurációból kiderül, ha az 1000-es, majd a 2000-es és végül a 3000-es portra koppintás történik, akkor megnyílik a 2222-es port (az SSH-m), itt pedig egy másik port-kopogást végrehajtó számítógép:

Miután megnyomom az [Enter] gombot a Knock No.1, a No.2 és végül a No.3 porton, megnyílik a port, itt van a napló:

Amint láthatja, az 1000-es port kopogtatásakor az 1. stádiumot regisztrálták, majd 2000 a 2. és végül a 3-es lesz, amikor ezt végrehajtja, a .conf fájlban deklarált parancs végrehajtásra kerül, és ennyi.

Ezután a port bezárásához csak 9000, 8000 és végül 7000 kopogtatása lenne, itt van a napló:

És itt a használat magyarázata véget ér

Amint láthatja, a Portkopogás valóban érdekes és hasznos, mert bár nem egyszerűen egy portot szeretnénk megnyitni egy bizonyos portkombináció után, a szerver által végrehajtandó parancs vagy parancs megváltozhat, vagyis ... Portot nyitva kijelenthetjük, hogy megölünk egy folyamatot, leállítunk egy olyan szolgáltatást, mint az apache vagy a mysql, stb ... a határ a képzelet.

A portok kopogása csak akkor működik, ha van fizikai kiszolgálója, vagy ha a virtuális kiszolgáló KVM technológiájú. Ha a VPS (virtuális kiszolgáló) OpenVZ, akkor a port kopogása nem hiszem, hogy az Ön számára működik, mert nem tudja közvetlenül kezelni az iptable-eket

Nos, és eddig a cikk ... messze nem vagyok szakértő ebben a kérdésben, de meg akartam osztani veletek ezt a nagyon érdekes folyamatot.

Üdvözlet 😀


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   eronamoJAZZ dijo

    Kiváló cikk, nagyon érdekes, és nem tudtam, hogy létezik ... nagyon jó lenne, ha folyamatosan cikkeket adna ki az újoncok rendszergazdáinak és egyéb 😀

    Üdvözlet és köszönet ^ _ ^

    1.    KZKG ^ Gaara dijo

      Köszönöm a megjegyzést.
      Igen ... az, hogy a Fico DNS-ről szóló cikkeivel nem akarok lemaradni a LOL-ról !!!

      Semmi komolyan. Néhány hónappal ezelőtt hallottam valamit a Port Knocking-ról, és ez azonnal felkeltette a figyelmemet, de mivel azt hittem, hogy akkor nagyon összetett lesz, nem úgy döntöttem, hogy bemegyek, csak tegnap néztem át néhány csomagot a repóból, amit felfedeztem úgy döntött, hogy kipróbálja, és itt van a bemutató.

      Mindig is szerettem műszaki cikkeket írni, néhány nem biztos, hogy elég érdekes, de ... remélem, mások are

      Üdvözlet

    2.    Mario dijo

      Helló, tudom, hogy ez a cikk már egy ideje létezik, de elindítom a lekérdezésemet, hátha valaki megoldja helyettem.
      Az a tény, hogy a málnámra kopogtatva próbáltam javítani a biztonságot, amikor a helyi hálózaton kívülről csatlakozom hozzá. Ahhoz, hogy ez működjön, meg kellett nyitnom a 7000-9990 útválasztó portjainak sorát, amelyek a géphez irányultak. Biztonságos megnyitni ezeket a portokat az útválasztón, vagy éppen ellenkezőleg, ha nagyobb biztonságot próbálok elérni, akkor az ellenkezőjét csinálom?

      A köszöntés és köszönet.

  2.   valaha dijo

    Remek, évek óta vagyok rendszergazda, és nem ismertem.
    Egy kérdés ... hogy csinálod a "kopogtatásokat"?
    Telnetezel azokon a portokon? Mit válaszol neked a telnet? Vagy van valami "kopogtató" hullámparancs?
    Nagyszerű cikk. Látványos. Nagyon köszönöm

    1.    KZKG ^ Gaara dijo

      A tesztet telnet-tel végeztem, és minden csodát tett ... de érdekes módon van egy "kopogtató" parancs, tegyen egy kopog az ember így láthatja 😉

      A telnet valójában egyáltalán nem reagál rám, az iptables a DROP politikával egyáltalán nem válaszol, és a telnet ott marad, hogy várjon valamilyen választ (amely soha nem fog megérkezni), de a knockd démon felismeri a kopogást akkor is, ha senki sem válaszol azt 😀

      Köszönöm szépen a megjegyzését, öröm tudni, hogy a cikkeim továbbra is kedvelik a ^ _ ^ -t

  3.   st0rmt4il dijo

    Hozzáadva a Kedvencekhez! : D!

    Köszönöm!

    1.    KZKG ^ Gaara dijo

      Köszönöm 😀

  4.   vadász dijo

    Ó, biztonság, az a kellemes érzés, amikor a számítógépet rögzítjük a vízvezetékhez, majd napokkal / hetekkel később megpróbálunk csatlakozni valamilyen távoli helyről, ahova nem tudunk hozzáférni, mert a tűzfal "senki számára" módban van, ezt hívjuk a vár a sziszadminok szempontjából. 😉

    Ezért olyan hasznos ez a bejegyzés, mert a knockd segítségével bárhonnan elérheti, amely csomagot küldhet a helyi hálózatára, és a támadók elvesztik az érdeklődésüket, amikor látják, hogy az ssh port zárva van, nem hiszem, hogy durva erőt fognak ütni hogy kinyissa a kikötőt.

  5.   Manuel dijo

    Hé, a cikk remek.

    Egy dolog: a helyi hálózaton kívülről történő kapcsolódást szolgálja?

    Ezt azért mondom, mert a router zárt portokkal rendelkezik, levonva azt, amelyik megfelel a szerverre átirányított ssh-nek.

    Úgy képzelem, hogy ahhoz, hogy a helyi hálózaton kívülről működjön, meg kell nyitni az útválasztó Port kopogásnak megfelelő portjait, és ezeket is át kell irányítani a szerverre.

    Mmm ...

    Nem tudom, mennyire biztonságos ezt megtenni.

    Mit gondolsz?

    1.    KZKG ^ Gaara dijo

      Nem igazán vagyok biztos, nem hajtottam végre a tesztet, de azt hiszem, igen, nyissa meg a portokat az útválasztón, különben nem tudja megütni a szervert.

      Hajtsa végre a tesztet anélkül, hogy megnyitná a portokat az útválasztón, ha az nem működik Önnek, akkor kár, mert egyetértek veled, nem tanácsos ezeket a portokat megnyitni az útválasztón.

      1.    Manuel dijo

        Valóban meg kell nyitnunk a portokat és át kell irányítanunk azokat a számítógépre, amelyet hívunk.

        Kár.

  6.   rabba08 dijo

    Nagyszerű, köszönöm szépen! Most kezdem a hálózatépítést tanulni, és ezek az oktatóanyagok nagyszerűek nekem! köszönöm, hogy időt szán az ismeretek megosztására

    1.    KZKG ^ Gaara dijo

      Sokat tanultam az évek során a globális Linux közösséggel ... néhány évig én is szerettem volna hozzájárulni, pontosan ezért írok 😀

  7.   január 981 dijo

    Köszönöm szépen, nem tudod, hogyan segít nekem, épp egy szervert állítok fel, és ez nagyon jól megy nekem.

    Üdvözlet

    1.    KZKG ^ Gaara dijo

      Erre szolgálunk, hogy segítsünk 😉

  8.   Jean ventura dijo

    Kiváló cikk! Nem volt tudomásom erről, és ez sokat segít nekem (a KVM-et használó RackSpace-t használom, így nekem úgy áll, mint egy kesztyű!). Hozzáadva a kedvencekhez.

    1.    KZKG ^ Gaara dijo

      Köszönöm a hozzászólást 🙂

  9.   Algave dijo

    Mint általában DesdeLinux kiváló bejegyzéseket hoz nekünk oktatóanyagokkal, amelyek valóban hasznosak a gyakorlatban is, köszönjük a megosztásokat!! 🙂

    1.    KZKG ^ Gaara dijo

      Köszönöm a megjegyzést 🙂
      Igen, mindig megpróbáljuk kielégíteni azt a tudásszomjat, amely olvasóinkban have

  10.   Timbleck dijo

    Érdekes, nem tudtam a lehetőséget.
    Menj egyenesen a chop könyvtáram hizlalásához.
    Köszönöm!

    1.    KZKG ^ Gaara dijo

      Öröm számomra 😀
      Üdvözlet

  11.   Frederick. A. Valdés Toujague dijo

    Üdvözlet KZKG ^ Gaara !!! Megszorítottad. Óriási cikk a szerverek biztonságához. Nincs @% * & ^ elképzelés arról, hogy létezik ilyen. Meg fogom próbálni. Köszönöm

  12.   Fehér ^ nyaklánc dijo

    ez nagyszerű…. ^ - ^

  13.   LearnLinux dijo

    Helló, elmagyaráznád, hogyan kell telepíteni a CentOS 5.x-be?

    Letöltöttem a fordulatszámot:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

    Telepítve:
    rpm -i knock-0.5-3.el5.rf.x86_64.rpm

    Konfigurálja a konfigurációs fájlt 15 másodperces időtartammal, és azt a portot, amelyet az ssh által a vps-hez való csatlakozáshoz használok

    A démon kezdődik:
    / usr / sbin / knockd &

    Telnetezek, és semmit sem zár be a port, alapértelmezés szerint a port nyitva van, de nem zár be.

    Csinálok valamit rosszul?

  14.   helló dijo

    Hmmm, ezekre a portokra a telnet kéréseket megismerheti a helyi hálózatunk rendszergazdája vagy a szolgáltatónk. Nem? Ez blokkolná a külső embereket, de nem őket, így ha aktiválni akarják a portunkat, megtehetnék, mert látja a kéréseket teszünk, mmm mondjuk véd, de nem 100%

    1.    Roberto dijo

      Lehet, de nem hiszem, hogy elképzelni fogják, hogy bizonyos telnet végrehajt X műveletet. Hacsak nem látják, hogy ugyanazokat a telnet mintákat követik.

  15.   Pablo Andres Diaz Aramburo dijo

    Érdekes cikk, van egy kérdésem. Azt hiszem, hiba történt a konfigurációs fájl képében, mert ha jól elemzi, akkor a parancs mindkét sorában az ACCEPT-t használja az Iptables-ben. Szerintem az egyiknek ELFOGADNAK, a másiknak pedig ELutasítania kell.

    Egyébként kiváló kezdeményezés. Nagyon köszönöm, hogy időt szánt arra, hogy elmagyarázza másoknak a tudását.

    Üdvözlet