Portknocking: Den bedste sikkerhed, du kan have på din computer eller server (Implementering + konfiguration)

Slående porte (på engelsk port banker) Det er utvivlsomt en praksis, at alle os, der administrerer servere, skal kende godt, her forklarer jeg detaljeret, hvad dette er, og hvordan man implementerer og konfigurerer dette 😉

Lige nu har de af os, der administrerer en server, SSH-adgang til den server, nogle vi ændrer standardporten til SSH og det bruger ikke længere port 22, og andre lader det bare være sådan (noget anbefales ikke), men serveren har aktiveret SSH-adgang gennem en port, og dette er allerede en 'sårbarhed'.

med Port banker vi kan opnå følgende:

1. SSH-adgang er ikke aktiveret af nogen port. Hvis vi har konfigureret SSH til port 9191 (for eksempel), lukkes den port (9191) for alle.
2. Hvis nogen ønsker at få adgang til serveren med SSH, vil de naturligvis ikke være i stand, da port 9191 er lukket ... men hvis vi bruger en 'magisk' eller hemmelig kombination, åbnes den port, for eksempel:

1. Jeg telnet til port 7000 på serveren
2. Jeg laver endnu et telnet til port 8000 på serveren
3. Jeg laver endnu et telnet til port 9000 på serveren
4. Serveren registrerer, at nogen har lavet den hemmelige kombination (berøringsporte 7000, 8000 og 9000 i den rækkefølge) og åbner port 9191, så SSH anmoder om login (den åbner den kun for den IP, hvorfra kombinationen blev oprettet tilfredsstillende).
5. Nu for at lukke SSH telnet jeg bare til port 3500
6. Jeg laver endnu et telnet til port 4500
7. Og endelig endnu et telnet til port 5500
8. Udførelse af denne anden hemmelige kombination, som serveren registrerer, lukker port 9191 igen.

Med andre ord at forklare dette endnu mere simpelt ...

med Port banker vores server kan have visse porte lukket, men når serveren registrerer det fra X IP blev den korrekte portkombination lavet (konfiguration, der tidligere er defineret i en konfigurationsfil) udfører selvfølgelig en vis kommando (comando også defineret i konfigurationsfil).

Forståes det ikke? 🙂

Hvordan installeres en dæmon til Port Knocking?

Jeg gør det med pakken bankede, som giver os mulighed for på en meget, meget enkel og hurtig måde at implementere og konfigurere Port banker.

Installer pakken: knockd

Hvordan konfigureres Port Knocking med knockd?

Når det er installeret, fortsætter vi med at konfigurere det, for dette redigerer vi (som rod) filen /etc/knockd.conf:

nano /etc/knockd.conf

Som du kan se i den fil, er der allerede en standardkonfiguration:

 At forklare standardindstillingerne er virkelig simpelt.

- Først UseSyslog betyder, at vi vil bruge til at registrere aktivitet (log) / Var / log / syslog.
- For det andet i afsnittet [åbenSSH] Det er her, hvor instruktionerne til åbning af SSH naturligvis vil gå, først har vi rækkefølgen af ​​porte (den hemmelige kombination), der er konfigureret som standard (port 7000, port 8000 og endelig port 9000). Det er klart, at portene kan ændres (faktisk anbefaler jeg det), så godt som de ikke behøver at være 3, de kan være mere eller mindre, det afhænger af dig.
- Tredje, seq_timeout = 5 betyder tiden til at vente på, at den hemmelige havnekombination finder sted. Som standard er det indstillet til 5 sekunder, det betyder, at når vi først begynder at udføre porten banke (det vil sige, når vi telnet til port 7000), har vi maksimalt 5 sekunder til at afslutte den korrekte rækkefølge, hvis der går 5 sekunder og vi har ikke afsluttet porten banke så vil det simpelthen være som om sekvensen var ugyldig.
- for det fjerde kommando det behøver ikke meget forklaring. Dette vil simpelthen være den kommando, som serveren udfører, når den registrerer den ovenfor definerede kombination. Den kommando, der er indstillet som standard, er, hvad den gør, kun åbne port 22 (skift denne port til din SSH) til IP, der lavede den korrekte kombination af porte.
- Femte, tcpflags = syn Med denne linje specificerer vi typen af ​​pakker, som serveren vil genkende som gyldige for baneporten.

Så er der sektionen for at lukke SSH, at standardkonfigurationen ikke er mere end den samme rækkefølge af porte ovenfor, men i den modsatte rækkefølge.

Her er en konfiguration med nogle ændringer:

 Hvordan starter man knockd-dæmonen?

For at starte det skal vi først ændre (som rod) filen / etc / default / knockd:

nano /etc/default/knockd

Der ændrer vi linje nummer 12, der siger: «START_KNOCKD = 0»Og ændre det 0 til 1, ville vi have:«START_KNOCKD = 1«

Når dette er gjort nu, starter vi det simpelthen:

service knockd start

Og voila, det er konfigureret og fungerer.

Port banke med banket op og kører!

Som du kan se i den foregående konfiguration, hvis der laves en portbank til port 1000, derefter til 2000 og endelig til 3000, åbnes port 2222 (min SSH), og her er en anden computer, der udfører portbank:

Når jeg først har trykket på [Enter] på Knock No.1, på No.2 og endelig på No.3, åbnes porten, her er loggen:

Som du kan se, blev banke 1000 registreret, når du banker på port 1, så i 2000 vil det være trin 2 og endelig ved 3 med 3000, når du gør dette, udføres kommandoen, som jeg erklærede i .conf, og det er det.

For at lukke porten ville det kun være at banke 9000, 8000 og endelig 7000, her er loggen:

Og godt her slutter forklaringen på brugen 😀

Som du kan se, er Port Knocking virkelig interessant og nyttigt, for selvom vi ikke bare ønsker at åbne en port efter en bestemt kombination af porte, kan kommandoen eller ordren, som serveren udfører, variere, det vil sige ... i stedet for åbner en port, vi kan erklære for at dræbe en proces, stoppe en tjeneste som apache eller mysql osv ... grænsen er din fantasi.

Portknocking fungerer kun, når du har en fysisk server, eller når den virtuelle server er KVM-teknologi. Hvis din VPS (virtuel server) er OpenVZ, så synes jeg ikke, det fungerer for dig, fordi du ikke kan manipulere iptables direkte

Nå og indtil videre artiklen ... Jeg er ikke langt en ekspert i denne sag, men jeg ville dele med dig denne meget interessante proces.

Hilsner 😀


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   erunamoJAZZ sagde han

    Fremragende artikel, den er ganske interessant, og jeg vidste ikke, den eksisterede ... det ville være dejligt, hvis du bliver ved med at lægge artikler til newbie sysadmin og lignende stuff

    Hilsner og tak ^ _ ^

    1.    KZKG ^ Gaara sagde han

      Tak for kommentaren.
      Ja ... det er, at jeg med artiklerne om DNS fra FICO ikke ønsker at blive efterladt LOL !!!

      Intet seriøst. For flere måneder siden hørte jeg noget om Port Knocking, og det fangede straks min opmærksomhed, men da jeg troede, at det ville være meget komplekst på det tidspunkt, besluttede jeg ikke at gå ind, lige i går gennemgik nogle pakker fra repoen, jeg opdagede knockd og besluttede at prøve det, og her er vejledningen.

      Jeg har altid ønsket at lægge tekniske artikler, nogle er måske ikke interessante nok, men ... jeg håber andre er are

      hilsen

    2.    Mario sagde han

      Hej, jeg ved, at denne artikel har eksisteret i nogen tid, men jeg sender min forespørgsel for at se, om nogen kan løse det for mig.
      Faktum er, at jeg har implementeret portbanking til min hindbær for at forsøge at forbedre sikkerheden, når jeg opretter forbindelse til den uden for det lokale netværk. For at dette kunne fungere, måtte jeg åbne rækkevidden af ​​porte på 7000-9990-routeren, der dirigerede til maskinen. Er det sikkert at åbne disse porte på routeren, eller tværtimod, når jeg prøver at have mere sikkerhed, gør jeg det modsatte?

      Hilsner og tak.

  2.   nogensinde sagde han

    Godt, jeg har været sysadmin i årevis og kendte ham ikke.
    Et spørgsmål ... hvordan laver man "bankerne"?
    Telnet du mod disse porte? Hvad svarer telnet dig? Eller er der en "banke" bølgekommando?
    Fantastisk cool er artikel. Spektakulær. Mange tak

    1.    KZKG ^ Gaara sagde han

      Jeg lavede testen med telnet, og alt fungerede vidundere ... men nysgerrigt er der en 'bankkommando', gør en mand banke så du kan se 😉

      Telnet reagerer ikke rigtig på noget, iptables med DROP-politikken gør, at det slet ikke reagerer, og telnet forbliver der og venter på et svar (som aldrig kommer), men knockd-dæmonen genkender banket, selvom ingen reagerer 😀

      Mange tak for din kommentar, det er en fornøjelse at vide, at mine artikler stadig kan lide ^ _ ^

  3.   st0rmt4il sagde han

    Føjet til favoritter! : D!

    Tak!

    1.    KZKG ^ Gaara sagde han

      Tak 😀

  4.   djæger sagde han

    Ahh sikkerhed, den behagelige følelse af når vi fastgør pc'en til lod, og derefter dage / uger senere forsøger at oprette forbindelse fra et fjerntliggende sted, vi ikke kan få adgang til, fordi firewallen er i "ingen for nogen" -tilstand, dette kaldes at blive uden for slot med hensyn til sysadminer. 😉

    Derfor er dette indlæg så nyttigt, med knockd kan du få adgang fra hvor som helst, der kan sende en pakke til dit lokale netværk, og angribere mister interessen, når de ser, at ssh-porten er lukket, jeg tror ikke, de vil banke brute force for at åbne porten.

  5.   manual sagde han

    Hej, artiklen er fantastisk.

    Én ting: tjener det til at oprette forbindelse uden for det lokale netværk?

    Jeg siger dette, fordi jeg har routeren med portene lukket minus den, der svarer til ssh, der omdirigeres til serveren.

    Jeg forestiller mig, at for at det skal fungere uden for det lokale netværk, vil det være nødvendigt at åbne routerens porte svarende til Port Knocking og få disse til også at omdirigere til serveren.

    Mmm ...

    Jeg ved ikke, hvordan det er sikkert.

    Hvad synes du?

    1.    KZKG ^ Gaara sagde han

      Jeg er ikke særlig sikker, jeg har ikke foretaget testen, men jeg tror ja, du skal åbne porte på routeren, ellers kunne du ikke banke på serveren.

      Udfør testen uden at åbne porte på routeren, hvis det ikke virker for dig, er det en skam, for jeg er enig med dig, det anbefales ikke at åbne disse porte på routeren.

      1.    manual sagde han

        Vi skal faktisk åbne portene og omdirigere dem til den computer, vi ringer til.

        Medlidenhed.

  6.   rabba08 sagde han

    Stor tak meget! Jeg er lige begyndt at studere netværk, og disse tutorials er gode for mig! tak for at du tog dig tid til at dele viden

    1.    KZKG ^ Gaara sagde han

      Jeg har lært meget gennem årene med det globale Linux-samfund ... i et par år har jeg også ønsket at bidrage, det er netop derfor, jeg skriver 😀

  7.   janus 981 sagde han

    Mange tak, du ved ikke, hvordan det hjælper mig, jeg er ved at oprette en server, og det går godt for mig.

    hilsen

    1.    KZKG ^ Gaara sagde han

      Det er det, vi er for at hjælpe 😉

  8.   Jean ventura sagde han

    Fremragende artikel! Jeg havde intet kendskab til dette, og det hjælper mig meget (jeg bruger RackSpace, der bruger KVM, så det passer mig som en handske!). Tilføjet til favorit.

    1.    KZKG ^ Gaara sagde han

      Tak for din kommentar 🙂

  9.   Algave sagde han

    Som altid DesdeLinux bringer os fremragende indlæg med tutorials, der er virkelig nyttige at sætte i værk, tak fordi du deler!! 🙂

    1.    KZKG ^ Gaara sagde han

      Tak for din kommentar 🙂
      Ja, vi prøver altid at tilfredsstille den tørst efter viden, som vores læsere har 😀

  10.   Timbleck sagde han

    Interessant, jeg vidste ikke muligheden.
    Gå direkte til opfedning af mit huggebibliotek.
    Tak!

    1.    KZKG ^ Gaara sagde han

      En fornøjelse for mig 😀
      hilsen

  11.   Frederik. A. Valdés Toujague sagde han

    Hilsen KZKG ^ Gaara !!! Du klemte. Enorm artikel til sikre servere. Ingen @% * & ^ idé om, at sådan en ting eksisterer. Jeg prøver det. tak skal du have

  12.   Hvid ^ halskæde sagde han

    dette er godt…. ^ - ^

  13.   LearnLinux sagde han

    Hej, kunne du forklare, hvordan du installerer det i CentOS 5.x?

    Jeg har downloadet omdrejningstallet:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

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

    Konfigurer konfigurationsfilen med 15 sekunders tid og den port, som jeg bruger til at forbinde med ssh til min vps

    Dæmonen begynder:
    / usr / sbin / knockd &

    Jeg telnet og intet porten lukker ikke, som standard er porten åben, men den lukker ikke.

    Gør jeg noget forkert?

  14.   Hej sagde han

    Mmmm, telnetanmodninger til disse porte kunne læres af administratoren af ​​vores lokale netværk eller af vores tjenesteudbyder, nej? Det ville blokere eksterne mennesker, men ikke dem, så hvis de vil aktivere vores havn, kunne de gøre det, fordi de ser de anmodninger, vi fremsætter, mmm lad os sige, at det beskytter, men ikke 100%

    1.    Roberto sagde han

      Det kunne være, men jeg tror ikke, de vil forestille sig, at visse telnet udfører X-handlinger. Medmindre de ser, at de samme telnetmønstre følges.

  15.   Pablo Andres Diaz Aramburo sagde han

    Interessant artikel, jeg har et spørgsmål. Jeg tror, ​​der er en fejl i billedet af konfigurationsfilen, for hvis du analyserer godt, i begge linjer i kommandoen bruger du ACCEPT i Iptables. Jeg synes, at man skal acceptere, og en anden skal afvises.

    Ellers fremragende initiativ. Mange tak, fordi du tog dig tid til at forklare din viden til andre.

    hilsen