Wéi benotzen ech Port Knocking Fir SSH Service a Linux ze sécheren


Port Knocking ass eng flott Technik fir den Zougang zu engem Hafen ze kontrolléieren andeems se nëmmen legitim Benotzer Zougang zum Service erlaben deen op engem Server leeft. Et funktionnéiert sou datt wann déi richteg Sequenz vu Verbindungsversuche gemaach gëtt, d'Firewall gären den Hafen opmaacht deen zougemaach gouf.

D'Logik hannert Hafen klappen ass SSH Service ze sécheren. Fir Demonstratiounszwecker benotze mir Ubuntu 18.04.

Schrëtt 1: Installéieren a konfiguréieren knockd

Fir unzefänken, loggt Iech op Ärem Linux System un an installéiert den knockd Daemon wéi gewisen.

$ sudo apt install knockd

Eemol installéiert, öffnen d'knockd.conf Konfiguratioun mat Ärem vim Kommandozeil Texteditor.

$ sudo vim /etc/knockd.conf

D'Standard Konfiguratiounsdatei erschéngt wéi follegt.

Ënnert der [openSSH] Sektioun musse mir d'Standard-Klappsequenz - 7000,8000,9000 - op eppes anescht änneren. Dëst ass well dës Wäerter scho bekannt sinn a kënnen d'Sécherheet vun Ärem System kompromittéieren.

Fir Testzwecker hu mir d'Wäerter op 10005, 10006, 10007 gesat. Dëst ass d'Sequenz, déi benotzt gëtt fir den SSH Hafen vun engem Client System opzemaachen.

An der drëtter Zeil - Ufank mam Kommando, änneren -A op -I just nom /sbin/iptables Kommando a virum INPUT .

A schlussendlech, ënner der [closeSSH] Sektioun, ännert erëm d'Standardsequenz op Är gewënschte Wiel. Dëst ass d'Sequenz déi benotzt gëtt fir d'SSH Verbindung zouzemaachen wann de Benotzer fäerdeg ass an aus dem Server protokolléiert.

Hei ass eis komplett Konfiguratioun.

Wann Dir fäerdeg sidd, späichert d'Ännerungen a gitt eraus.

Eng aner Konfiguratioun déi mir musse änneren ass den /etc/default/knockd. Nach eng Kéier, öffnen et mat Ärem Texteditor.

$ sudo vim /etc/default/knockd

Fannt d'Linn START_KNOCKD=0. Decommentéiert et a setzt de Wäert op 1.

Als nächst gitt op d'Linn KNOCKD_OPTS=-i eth1 Decommentéiert et an ersetzt den Default-eth1-Wäert mat der aktiver Netzwierk-Interface vun Ärem System. Fir Är Netzwierkinterface ze kontrolléieren, fuert einfach de ifconfig Kommando aus.

Fir eise System ass enp0s3 déi aktiv Netzwierkkaart.

Déi komplett Konfiguratioun ass wéi gewisen.

Späichert d'Ännerungen a gitt eraus.

Da start an aktivéiert knockd Daemon wéi gewisen.

$ sudo systemctl start knockd
$ sudo systemctl enable knockd

Fir de Status vum Knockd Daemon ze kontrolléieren, lafen de Kommando:

$ sudo systemctl status knockd

Schrëtt 2: Zoumaachen SSH Port 22 Op Firewall

Well d'Zil vum knockd Service ass den Zougang zum ssh Service ze ginn oder ze refuséieren, wäerte mir den ssh Hafen op der Firewall zoumaachen. Awer als éischt, loosst eis de Status vun der UFW Firewall kontrolléieren.

$ sudo ufw status numbered

Vun der Ausgab kënne mir kloer gesinn datt den SSH Port 22 op béid IPv4 an IPv6 Protokoller nummeréiert 5 respektiv 9 op ass.

Mir mussen dës zwou Reegelen läschen wéi gewisen, ugefaange mam héchste Wäert - deen 9 ass.

$ sudo ufw delete 9
$ sudo ufw delete 5

Elo, wann Dir probéiert Iech op de Server op afstand anzeloggen, kritt Dir e Verbindungstimeoutfehler wéi gewisen.

Schrëtt 3: Konfiguréiert e Knock Client fir mam SSH Server ze verbannen

Am leschte Schrëtt wäerte mir e Client konfiguréieren a probéieren Iech unzemellen andeems mir als éischt d'Knocksequenz schéckt, déi mir um Server konfiguréiert hunn.

Awer als éischt, installéiert knockd Daemon sou wéi Dir um Server gemaach hutt.

$ sudo apt install knockd

Wann d'Installatioun fäerdeg ass, schéckt d'Knocksequenz mat der gewise Syntax

$ knock -v server_ip knock_sequence

An eisem Fall iwwersetzt dëst op:

$ knock -v 192.168.2.105 10005 10006 10007

Dir sollt Ausgang ähnlech wéi wat mir hunn, ofhängeg vun Ärer Sequenz. Dëst weist datt d'Klappversuche erfollegräich waren.

Zu dësem Zäitpunkt sollt Dir an enger Positioun sinn fir erfollegräich op de Server mat SSH aloggen.

Wann Dir fäerdeg sidd Är Aarbecht um Remote Server ze maachen, maach den SSH Hafen zou andeems Dir d'Ofschlosskloppsequenz schéckt.

$ knock -v 192.168.2.105 10007 10006 10005

All Versuch fir op de Server aloggen ze versoen wéi bewisen.

Dëst wéckelt dëse Guide op wéi Dir den Hafen klappt fir den SSH Service op Ärem Server ze sécheren. Eng besser a méi einfach Approche wier d'Passwuert SSH Authentifikatioun mat SSH Schlësselpairen ze konfiguréieren. Dëst garantéiert datt nëmmen de Benotzer mat dem private Schlëssel sech mam Server authentifizéiere kann, op deem den ëffentleche Schlëssel gespäichert ass.