Hoe te Gebruiken Poort Kloppen op Linux (en Waarom Moet Je niet)

0
427
Photographee.eu/Shutterstock

Poort kloppen is een manier om een server door het sluiten van firewall-poorten—zelfs de mensen die je kent zal worden gebruikt. Deze poorten worden geopend op de vraag als en slechts als de verbinding verzoek biedt het geheim kloppen.

Poort Kloppen Is een “Geheim Knock”

In de jaren 1920, toen het verbod werd in volle gang, als je wilde in een speakeasy, je had om het geheim te kennen kloppen en tik op de juiste wijze naar binnen te krijgen.

Poort kloppen is een modern equivalent. Als je wilt dat mensen toegang hebben tot services op uw computer, maar wil niet om uw firewall naar het internet, kunt u gebruik maken van poort kloppen. Hiermee kunt u sluit de poorten op uw firewall die inkomende verbindingen toelaten en hebben ze automatisch geopend wanneer er een vooraf afgesproken patroon van de verbindingspogingen is gemaakt. De volgorde van de verbindingspogingen fungeert als de geheime kloppen. Een ander geheim klop de poort sluit.

Poort kloppen is iets van een nieuwigheid, maar het is belangrijk om te weten het is een voorbeeld van de veiligheid door middel van de duisternis, en dat concept is fundamenteel gebrekkig. Het geheim van hoe om toegang te krijgen tot een systeem is veilig omdat alleen die in een specifieke groep weet het. Maar zodra die geheim is uit—hetzij omdat het geopenbaard, waargenomen, geraden of uitgewerkt—uw veiligheid is nietig. Je bent beter af het beveiligen van uw server in een andere, sterkere manieren, zoals een verplicht toets op basis van de aanmeldingen voor een SSH server.

De meest robuuste benaderingen voor cybersecurity zijn meerlagig, dus misschien poort kloppen moet één van deze lagen. Hoe meer lagen, des te beter, toch? Echter, je zou kunnen betogen dat de poort kloppen niet veel (of wat niet) een goed verhard, veilig systeem.

Cybersecurity is een breed en ingewikkeld onderwerp, maar je moet niet gebruik maken van poort kloppen als je enige vorm van verdediging.

GERELATEERD: het Maken en Installeren van SSH Sleutels Van de Linux-Shell

Het installeren van knockd

Om aan te tonen poort kloppen, we gaan gebruiken om de haven 22, dat de SSH poort. We gebruiken een tool genaamd knockd. Apt-get gebruiken om deze package installeren op uw systeem als u Ubuntu of een andere Debian-gebaseerde distributie. Op andere Linux distributies, gebruik maken van uw Linux-distributie is de package beheer tool, in plaats van.

Typ het volgende:

sudo apt-get install knockd

Je hebt waarschijnlijk al de iptables firewall geïnstalleerd op uw systeem, maar u wilt installeren in de iptables-persistent-pakket. Het zorgt voor het automatisch laden van opgeslagen iptable regels.

Typ het volgende om het te installeren:

sudo apt-get install libreoffice-persistent

Als de IPV4-configuratie scherm verschijnt, druk op de spatiebalk om te accepteren de optie “Yes”.

Druk op de spatiebalk weer in de IPv6-configuratie scherm te accepteren onder de optie “Yes” en verder gaan.

Het volgende commando geeft iptables om toe te staan opgericht en lopende verbindingen om verder te gaan. We zullen nu een andere opdracht aan de SSH poort.

Als iemand die is aangesloten via SSH als we dit commando, we willen niet dat ze worden afgesneden:

sudo iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT

Dit commando voegt een regel aan de firewall, die zegt:

  • -A: Voeg de regel toe aan de firewall-regels in de tabel. Dat is, toe te voegen aan de bodem.
  • INPUT: Dit is een regel over binnenkomende verbindingen.
  • -m conntrack: Firewall regels handelen op basis van netwerk-verkeer (pakketten) die overeenkomen met de criteria in de regel. De -m parameter oorzaken iptables gebruiken extra pakket matching modules—in dit geval, de zogenoemde conntrack werkt met de netwerkverbinding mogelijkheden voor het volgen van de kernel.
  • –cstate ESTABLISHED,RELATED: hiermee geeft u het type van de verbinding waarop de regel van toepassing zal zijn, namelijk VASTGESTELD en VERWANTE verbindingen. Een verbinding is een die al in uitvoering. Een verwante verbinding is er een die is gemaakt door een actie van een bestaande verbinding. Misschien iemand die is aangesloten wil om een bestand te downloaden; dat zou kunnen gebeuren via een nieuwe verbinding gestart door het gastland.
  • -j ACCEPT: Als het verkeer dat overeenkomt met de regel, spring naar de ACCEPT doel in de firewall. In andere woorden, het verkeer is geaccepteerd en toegestaan door de firewall.

Nu kunnen we het probleem van de opdracht aan de poort:

sudo iptables -A INPUT -p tcp –dport 22 -j REJECT

Dit commando voegt een regel aan de firewall, die zegt:

  • -A: Voeg de regel toe aan de firewall regels tafel, d.w.z. dat, toe te voegen aan de bodem.
  • INGANG: Deze regel is over binnenkomende verbindingen.
  • -p tcp: Deze regel is van toepassing op het verkeer dat gebruik maakt van het Transmission Control Protocol.
  • –dport 22: Deze regel is uitsluitend van toepassing is op TCP verkeer dat de doelen poort 22 (SSH poort).
  • -j WEIGEREN: Als het verkeer dat overeenkomt met de regel, spring naar de REJECT doel in de firewall. Dus, als het verkeer dat wordt afgewezen, is niet toegestaan door de firewall.

We moeten beginnen met het netfilter-persistent-daemon. Wij kunnen dit doen met het commando:

sudo systemctl start netfilter-permanente

We willen netfilter-persistent te gaan door middel van het opslaan en laden-cyclus, dus laadt en regelt de iptable regels.

Type de volgende commando ‘ s:

sudo netfilter-persistente opslaan

sudo netfilter-permanente herladen

U hebt geïnstalleerd, kunt u de hulpprogramma ‘ s, en de SSH poort gesloten is (hopelijk zonder het beëindigen van iemands verbinding). Nu is het tijd voor het configureren van de geheime kloppen.

Het configureren van knockd

Er zijn twee bestanden die u bewerken wilt configureren knockd. De eerste is de volgende knockd configuratie bestand:

sudo gedit /etc/knockd.conf

De gedit-editor wordt geopend met de knockd configuratie bestand geladen.

We zullen het bewerken van dit bestand aan te passen aan onze behoeften. De secties zijn we geïnteresseerd in zijn “openSSH” en “closeSSH.” De volgende vier items zijn in elke sectie:

  • volgorde: de volgorde van De poorten moet iemand de toegang tot het openen of sluiten van poort 22. De standaard poorten zijn 7000, 8000 en 9000 om het te openen, en 9000, 8000 en 7000 te sluiten. U kunt deze wijzigen of toevoegen van meer poorten aan de lijst. Voor onze doeleinden, wij blijven met de standaard instellingen.
  • seq_timeout: De periode waarin iemand heeft om toegang te krijgen tot de poorten te activeren om het te openen of te sluiten.
  • opdracht: De opdracht die is verzonden naar de iptables firewall bij het openen of sluiten van de actie wordt geactiveerd. Deze opdrachten hetzij een regel toevoegen aan de firewall (voor het openen van de poort) of meenemen (te sluiten van de poort).
  • tcpflags: Het type van het pakket elke haven moet in het geheim volgorde. Een SYN (synchroniseren) – pakket is de eerste in een TCP connectie verzoek, een zogenaamde ‘ three-way handshake.

De “openSSH” sectie kan gelezen worden als “een TCP connectie verzoek moet worden gedaan aan de poorten van de 7000, 8000 en 9000—in die volgorde en binnen 5 seconden—voor de opdracht voor het openen van poort 22 moeten worden verstuurd naar de firewall.”

De “closeSSH” sectie kan gelezen worden als “een TCP connectie verzoek moet worden gedaan aan de poorten 9000, 8000 en 7000—in die volgorde en binnen 5 seconden—voor de opdracht aan de haven 22 gestuurd te worden op de firewall.”

De Firewall-Regels

De “opdracht” vermeldingen in de openSSH en closeSSH secties blijven dezelfde, behalve voor één parameter. Dit is hoe ze zijn opgebouwd uit:

  • -A: Voeg de regel toe aan de onderkant van de lijst met firewallregels (voor de openSSH opdracht).
  • -D: Verwijder de opdracht uit de lijst met firewallregels (voor de closeSSH opdracht).
  • INGANG: Deze regel is bezig met het inkomende netwerkverkeer.
  • -s %IP -%: Het IP-adres van het apparaat een verbinding aanvraagt.
  • -p: Netwerk protocol; in dit geval zijn, de TCP.
  • –dport: De haven van bestemming; in ons voorbeeld, het haven 22.
  • -j ACCEPT: Spring naar het accepteren doel binnen de firewall. In andere woorden, laat het pakket vallen door de rest van de regels zonder zich op te stellen op het.

De knockd Configuratie Bestand Bewerkt

De bewerkingen die wij maken om het bestand zijn in het rood gemarkeerd hieronder:

Wij verlengen de “seq_timeout” tot 15 seconden. Dit is royaal, maar als iemand ‘ s handmatig te schieten in verbinding verzoeken, hij zou hebben dit veel tijd.

In de “openSSH” sectie, we veranderen de-A (toevoegen) de optie in het commando -I (insert). Deze opdracht voegt u een nieuwe firewallregel op de top van de firewall-regel lijst. Als u de -A optie voegt de firewall-regel lijst en zet het op de bodem.

Inkomend verkeer wordt getest tegen elke firewall-regel in de lijst van de top naar beneden. We hebben al een regel die wordt gesloten poort 22. Dus, als het binnenkomende verkeer wordt getest aan de hand van die regel voordat het ziet de regel die het mogelijk maakt het verkeer, wordt de verbinding geweigerd; als zij dat deze nieuwe regel eerst de verbinding toegestaan.

De nauwe commando verwijdert de regel toegevoegd door openSSH van de firewall-regels. SSH verkeer, is eens te meer behandeld door de reeds bestaande “poort 22 is gesloten” – regel.

Nadat u deze bewerkingen, het opslaan van de configuratie bestand.

GERELATEERD: Hoe om Tekst te Bewerken Bestanden Grafisch op Linux Met kde

De knockd Controle Bestand Bewerkt

De knockd de controle-bestand is in totaal eenvoudiger. Voordat we dieper in en bewerken die, hoewel, moeten we weten hoe de interne naam voor ons netwerk verbinding; om het te vinden, typ de volgende opdracht:

ip-adres

De verbinding van deze machine gebruikt voor het onderzoek in dit artikel wordt genoemd enp0s3. Maak een notitie van de naam van uw verbinding.

De volgende opdracht bewerkt de knockd controle bestand:

sudo gedit /etc/default/knockd

Hier is de knockd bestand in de gedit.

De paar bewerkingen die we nodig hebben om zijn gemarkeerd in het rood:

We veranderden de “START_KNOCKD=” post van 0 tot 1.

We hebben ook verwijderd van de hash # uit het begin van de “KNOCKD_OPTS=” entry, en vervangen “eth1” met de naam van ons netwerk verbinding, enp0s3. Natuurlijk, als uw netwerk verbinding is eth1, u zal niet veranderen.

Het Bewijs Is in de Pudding

Het is tijd om te zien of dit werkt. We beginnen de knockd daemon met dit commando:

sudo systemctrl start knockd

Nu, we springen op een andere machine proberen te verbinden. We installeerden de knockd tool op de computer, ook niet omdat we dat willen instellen port kloppen, maar omdat de knockd pakket biedt een andere tool genaamd kloppen. We gebruiken deze machine om het vuur in onze geheime volgorde en doen kloppen voor ons.

Gebruik de volgende opdracht om het verzenden van uw geheime volgorde van de verbinding verzoeken naar de havens aan de poort kloppen host-computer met het IP-adres 192.168.4.24:

klop 192.168.4.24 7000 8000 9000 -d 500

Dit vertelt klop tot doel de computer met IP-adres 192.168.4.24 en het vuur van een verzoek tot verbinding naar de poorten van de 7000, 8000 en 9000, op zijn beurt, met een -d (vertraging) van 500 milliseconden tussen hen.

Een gebruiker genaamd “dave” maakt dan een SSH verzoek om 192.168.4.24:

ssh dave@192.168.4.24

Zijn verbinding wordt geaccepteerd, zal hij voert zijn wachtwoord en zijn externe sessie begint. Zijn opdracht prompt verandert van dave@nostromo naar dave@howtogeek. Om uit te loggen van de externe computer, hij typt:

afsluiten

Zijn opdrachtprompt en keert terug naar zijn lokale computer. Hij gebruikt klop een keer, en deze keer, het richt zich op de poorten in omgekeerde volgorde uit te sluiten van de SSH-poort op de externe computer.

klop 192.168.4.24 9000 8000 7000 -d 500

Toegegeven, dit was niet een bijzonder vruchtbaar externe sessie, maar het toont aan dat het openen en sluiten van de poort via een poort te kloppen en past in een enkel screenshot.

Dus, wat deed dit er uit zien vanaf de andere kant? De systeembeheerder op de poort kloppen host gebruikt het volgende commando om nieuwe vermeldingen die komen in het systeem log boek:

tail-f /var/log/syslog

  • Je ziet drie openSSH-items. Deze zijn aan de orde zoals elke poort is gericht op de externe knock-hulpprogramma.
  • Wanneer alle drie de fasen van de trigger-reeks zijn voldaan, een optie die zegt “OPEN SESAME” is vastgelegd
  • De opdracht voor het invoegen van de regel in de iptables regels lijst is verzonden. Het maakt het mogelijk toegang via SSH op poort 22 van het specifieke IP-adres van de PC die gaf de juiste geheime klop (192.168.4.23).
  • De gebruiker “dave” verbindt voor een paar seconden, en de verbinding wordt verbroken.
  • Je ziet drie closeSSH vermeldingen. Deze zijn aan de orde zoals elke poort is gericht op de externe knock-utility—het vertelt de poort kloppen host te sluiten poort 22.
  • Na alle drie de fasen worden geactiveerd, we krijgen de “OPEN SESAME” bericht weer. De opdracht wordt verstuurd naar de firewall te verwijderen van de regel. (Waarom niet “DICHT SESAM” als het sluiten van de poort? Wie weet?)

Nu de enige regel in de iptables regels lijst over poort 22 is degene die we getypt in het begin te sluiten dat de haven. Dus, poort 22 is nu weer gesloten.

Klop Er op het Hoofd

Dat is de poort kloppen de salon truc. We behandelen het als een afleiding en doe het niet in de echte wereld. Of, als je moet, reken er niet op als je enige vorm van beveiliging.

LEES VERDER

  • “Wat Is een “Hot Nemen,” en Waar komt de Uitdrukking vandaan?
  • “Hoe Windows 7 het “Extended Security Updates” Zal Werken
  • “Windows-10 de Telefoongesprekken Zullen Alle Android-7+ Telefoons
  • “Wat Is een Patch dinsdag voor Windows, en Wanneer Is Het?
  • “Het Uitschakelen van Interactieve Pop-Up Advertenties op Uw TV, Roku