Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Diskussionen zur Bedienung von KeyHelp.
Post Reply
blackpanther
Posts: 26
Joined: Mon 9. Apr 2018, 13:32

Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by blackpanther »

Vorweg, sollte der Thread an einer falschen stelle platziert worden sein, erbitte ich eine verschiebung, vielen dank.

---

Hallo zusammen, anbei habe ich eine Frage.

Ich betreibe auf meiner Maschine einen TS3 Server, und einen IRC Chat. (Unrealircd)

Auf der maschine ist unter anderem Keyhelp in der Aktuellen Version installiert.

Schon seit ettlichen Monaten ist es schon so, das ich irgendwellche scriptkiddys habe, die sich auf den IRC aufschalten, und dann blödsinn anstellen.
Es sind grundsätzlich ausländische IP's die das tun.

Einfach her gehen, und "/Gline nickname grund" reicht nicht, da unter anderem im sekunden tackt die nicknames geändert werden.
Zudem sind sie im nu wieder offline, und kommen mit anderen ips wieder.

Dabei wird unter anderem auch mein TS3 Server in beschlag genommen.

Ich habe schon ettliches in bezug auf IP Sperren versucht, und ganze netze schon geblockt, aber das hilft nichts, weil dann einfach proxys aus anderen netzen kommen, zu derer ich dann wieder händisch prüfen muss, wie ist derer iprange u.s.w.

Das alles wird mir mit der zeit echt zu umständlich, und ich möchte eine erweiterung für die Firewall implementieren.

Jetzt kann man argumentieren, das ich den chatserver ja mittels Passwort versehen könnte, und wer das passwort nicht kennt, kommt nicht drauf.

Soweit richtig, aber ich habe mir ja in bezug auf die erweiterung ja etwas gedacht, zumal man es ja auch noch auf andere ports anwenden könnte.

Hauptsächlich wird der IRC als Plattform von mir und einigen freunden benutzt, um ein Schriftlich, also Textbasiertes Rollenspiel zu schreiben.

Ich stelle mir Folgendes vor:

(Folgende angaben sind nur beispiele)

IP: 123.123.123.123 hostname: irgend.ein.hostname.com

Der "Client" bzw. Anfragende Rechner, nimmt kontakt zu meinem server auf, indem er den IRC Port anspricht, z.b. 506667 bzw. 506697.

(Ja, ich weiss, die standard Ports lauten 6667 bzw. 6697, aber ich habe unter anderem andere ports nehmen müssen, und auch das zeigt keine wirkung, weil sich dann jemand tatsächlich die mühe macht, und nutzt einen portscanner, und dann geht die sache wieder von vorne los)

Als Beispiel, baut der anfragende client jene verbindung auf.

Die Firewall bräuchte eine änderung, damit folgendes Script zum einsatz kommen kann:

"check_dns.sh"

Mit Folgenden Inhalt:

Code: Select all

#!/bin/bash
host_ip="$1"
expected_hostname="$2"

# Perform nslookup
nslookup_output=$(nslookup "$host_ip")
echo "nslookup output: $nslookup_output"
nslookup_hostname=$(echo "$nslookup_output" | awk '/name =/ {gsub(/.*name = /,""); print}' | tr -d '\n')
echo "nslookup hostname: $nslookup_hostname"
nslookup_hostname=${nslookup_hostname::-1}
echo "trimmed nslookup hostname: $nslookup_hostname"

# Perform dig -x
dig_output=$(dig -x "$host_ip" +short)
echo "dig output: $dig_output"
dig_hostname=$(echo "$dig_output" | sed 's/\.$//')
echo "dig hostname: $dig_hostname"

# Compare hostnames
if [ "$nslookup_hostname" = "$expected_hostname" ] && [ "$dig_hostname" = "$expected_hostname" ]; then
    echo "ALLOW"
else
    echo "DENY"
fi
Wenn der Server, bzw. die Firewall bemerkt, das ein connect an einem bestimmten port durchgeführt wird, übergibt die Firewall 2 Daten an das script: IP + Hostname

Nun komme ich zu meinem "Problem" denn bis hier hin, ist es "Theorie".

die Praxis, würde laut "Chatgpt" in etwa so aussehen:

Code: Select all

iptables -A INPUT -p tcp --dport 506667 -m state --state NEW -m string --string "dynamic.kabel-deutschland.de" --algo bm -m conntrack --ctstate NEW -m comment --comment "Allow access to SSH only for matching dynamic.kabel-deutschland.de hostnames" -j `./check_dns.sh %d %h | grep -q ALLOW && echo "ACCEPT" || echo "DROP"`
nun muss man sich allerdings vorstellen, das hier mehrere "Regeln" erstellt werden müssen, zum einen Vodafone, in meinem Fall Kabeö-Deutschland (Das würde mich unter anderem betreffen)

Und dann nochmal für andere ISP's, hier u.a. Telekom via:

"dyn.telekom.de"

Dann muss noch eine weitere, wichtige zeile aufgenommen werden:

Code: Select all

iptables -A INPUT -p tcp --dport 506667 -m state --state NEW -m conntrack --ctstate NEW \
-m comment --comment "Drop access to SSH for all other hostnames" \
-j DROP
Mit diesem Code, wurde festgelegt, das alles was nicht zu den festgelegten ISP's passt, gedropped werden soll.
Am oberen beispiel, haben wir die IP 123.123.123.123 und als hostname: irgend.ein.hostname.com das Script (dns_check.sh) prüft nun IP + Hostname.

Die IP muss hierbei zum hostname passen, und auch umgekehrt, zumal die IP Daten geprüft werden, ob sie zum Hostname gehören, und meiner vorgabe entsprechen, bzw. wenn alles gut ist, ein "ALLOW" kommt, wonach der jenige passieren darf.

Die Firewall stellt diese daten dem script zur verfügung, und wartet die entsprechende antwort ab, und reagiert dann entsprechend.
Max. ca. 2 sekunden.

Und nun komme ich zu dem teil, wo ich jetzt nicht weiter komme - wie gesagt, das ist bis hierhin erstmal "Theorie" im Händischen also "Manuell" in der Shell klappt das ja mit der prüfung.

Ich habe nur das problem, das ich die anweisung nicht in die Firewall interegieren kann, weil das Keyhelp system, oder viel mehr das Design für die einstellungen der Firewall regeln keine "erweitereten" regelungen zulassen.

Daher wollte ich wissen, wie kann ich dennoch an mein ziel kommen ?

Ich habe lange zeit gebraucht, mithilfe von chatgpr, dieses Script auf die beine zu stellen, und ich habe noch andere erweiterungen, die ich gene implementieren möchte, aber grundsätzlich müsste ich generell erstmal diese "Regel" implementieren, damit es gescheid funktionieren kann.

Über einen Hinweis, wie ich das einbinden kann, wäre ich sehr dankbar, ich hoffe das ich mit diesem Konstruckt längerfristig ruhe haben werde, da ich den zugang zum Server besser steuern kann, ohne mich selbst dabei auszusperren, aber
jene fern zu halten, die da nichts verloren haben.

Möglicherweise ist meine anfrage auch zu speziell, und es hat vieleicht gründe gehabt, warum das Firewall Design geändert wurde, denn ich meine mich Dunkel noch errinnern zu können, das das Alte Firewall system (Design) wesentlich mehr einstellungen zugelassen hat, als das jetzige Design.
User avatar
Jolinar
Community Moderator
Posts: 3610
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by Jolinar »

Daß du den TS3 und den IRC hinter ein VPN packst, wäre keine Option?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by OlliTheDarkness »

Jolinar wrote: Mon 19. Jun 2023, 20:48 Daß du den TS3 und den IRC hinter ein VPN packst, wäre keine Option?
Wäre auch mein Rat gewesen.

WS oder OVPN sind in weniger als 5 Minuten eingerichtet , zur Auth nutzt entspannt ne Certfile oder einfach User + Pass oder alles in Combi (Cert+User+Pass).

Nachteil der ganzen Geschichte, je nach dem wie die kleinen Pissnelken drauf sind, könnten Sie vieleicht richtig schlechte Laune bekommen und dem Server auf Millionen andere Arten zusetzen, weil sie an die Luft gesetzt hast ^^
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
Alexander
Keyweb AG
Posts: 3842
Joined: Wed 20. Jan 2016, 02:23

Re: Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by Alexander »

Du kannst in dem Fall die KeyHelp-Firewall deaktivieren und pflegst fortan deine eigenen Regeln unabhängig von der Maske im KeyHelp. Achtung, auch an einen Serverreboot und eventuellen reset der Regeln denken.
Möglicherweise ist meine anfrage auch zu speziell, und es hat vieleicht gründe gehabt, warum das Firewall Design geändert wurde, denn ich meine mich Dunkel noch errinnern zu können, das das Alte Firewall system (Design) wesentlich mehr einstellungen zugelassen hat, als das jetzige Design.
Ja, weil es für den Otto-Normal-Benutzer absoluter Overkill war. Das alte System setzte tieferes Wissen in Bezug auf IPtables etc. voraus. Zumal die Iptables Profis ohnehin viel schneller über die CLI bzw. mit Scripten waren, als sich es mühselig über die alte Maske zurecht zu klicken. Das neue System setzt quasi nur noch voraus, das man wissen muss, das die Reihenfolge von Regeln eine Rolle spielt.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
blackpanther
Posts: 26
Joined: Mon 9. Apr 2018, 13:32

Re: Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by blackpanther »

Hallo zusammen.

Zunächst erstmal danke, für eure antworten.

Ich bin selbst ehrlich gesagt nicht ganz so tief in sachen IT, bzw. schon, aber mit VPN hab ich bisher noch nie was zu schaffen gehabt.
Wäre das etwas, was man "lokal" auf dem Server - hierbei handelt es sich um einen Ded. Root Server ?

Ich habe die Kiste seit 2012, und ich sag mal so, wenn ich die schotten dicht mache, und sie würden es anderweitig versuchen zugang zu gelangen, "könnte" das möglicherweise klappen, denn den Vertrag den ich habe hat zur damaligen zeit bis heute keinerlei schutzmaßnahmen.

Damals als ich den Server bei OVH (Is Genug 2G) bzw. "Kimsufi" bezogen habe, gab es die maschiene mit den derzeitig heutig bekanten schutzsystemen nicht.

Ich habe mich im nachhinein aber auch schon nach anderen anbietern umgesehen, aber es gibt da gewisse "probleme" und das finde ich (Preisgestaltung) ganz schön happig.

Meine maschine ist ein AMD Atom, 1.86GHz 4 kerne, 2 gb ram, 2 tb hdd, mit einer 100 mbit anbindung.
Gehostet in Frankreich.

2012 hat das ganze um die 4,50 € gekostet.

Aktuell durch div. Preisanpassungen liege ich bei rund 6,60 € (Gerundet)

Für den Preis findet man keinen Dedicated Server.

Ich habe um bei dem preis zu bleiben, max. eine VM, bzw Cloud (für mich ist cloud nachwievor VM, da des kind nur nen anderen namen bekommen hat, aber ist ja im moment nebensächlich).

Da würde ich max. eine VM mit 1 cpu bekommen, und max. 1-2 gb ram teil weise 4 gb, aber "nur" eine sehr kleine Festplatte, ab 25 gb aufwärts, und das ist zu wenig.

Mir bleiben da leider nicht viele optionen, und weit über 50-80 €/Monat ist schon echt ne menge holz, zumal es sich lediglich um "kleine" Hobby projekte handelt, die ich - schweren herzens - auch offline nehmen könnte wenns zu bunt wird.

Aber noch ist es dafür ja nicht soweit.

Ehe ich es vergesse, sowas wie CF habe ich bei mir ebenfalls nicht, der server bekommt die ganze Traffic lutsche direkt ab.
blackpanther
Posts: 26
Joined: Mon 9. Apr 2018, 13:32

Re: Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by blackpanther »

Alexander wrote: Tue 20. Jun 2023, 09:45 Du kannst in dem Fall die KeyHelp-Firewall deaktivieren und pflegst fortan deine eigenen Regeln unabhängig von der Maske im KeyHelp. Achtung, auch an einen Serverreboot und eventuellen reset der Regeln denken.

[...]
Gibt es da keine andere möglichkeit, zu einer "ergänzung" z.b. das es mehrere configdaten geben könnte, in sachen FW ?
Ich arbeite ansich gerne mit dem interface von KH, weil es tatsächlich einfach und simpel ist, lediglich ist "neue" FW Design im moment ein wenig "unhändlich" für meinen gebrauch, zumal es sich ja nur um ein paar zeilen code handeln würde, wie ich es ja im beitrag aufgezeigt habe.
User avatar
Tobi
Community Moderator
Posts: 2831
Joined: Thu 5. Jan 2017, 13:24

Re: Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by Tobi »

blackpanther wrote: Tue 20. Jun 2023, 18:32 zumal es sich ja nur um ein paar zeilen code handeln würde, wie ich es ja im beitrag aufgezeigt habe.

Ich finde es immer wieder erstaunlich wie viele Personen Einblick in den geschützten Quellcode haben um solche Aussagen treffen zu können.
😂😮😵‍💫

========================================================================

Wir werden den Bedarf bei den Usern und den Powerusern hierzu genau beobachten und die einzelnen Eindrücke, Meinungen und Ideen sammeln.
Sobald sich der Handlungsbedarf konkretisiert werden wir ungefragt auf deine Vorschläge zurückkommen.

Bis dahin bitten wir jedoch von weiteren Zwischenfragen (wann ist es denn soweit?) abzusehen.
Vielen Dank für deine Mitarbeit!
👍
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
blackpanther
Posts: 26
Joined: Mon 9. Apr 2018, 13:32

Re: Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by blackpanther »

Tobi wrote: Tue 20. Jun 2023, 18:55
blackpanther wrote: Tue 20. Jun 2023, 18:32 zumal es sich ja nur um ein paar zeilen code handeln würde, wie ich es ja im beitrag aufgezeigt habe.

Ich finde es immer wieder erstaunlich wie viele Personen Einblick in den geschützten Quellcode haben um solche Aussagen treffen zu können.
😂😮😵‍💫

[..]
Hallo Tobi.

Ich glaube da hast du mich missverstanden.
Mit den wenigen Zeilen Code, meinte ich eigentlich wenige zeilen, die in Bezug zu den Firewallregeln die ich benötige eingetragen werden müssten.

Ich habe bisher noch nie mir den Quelltext der KH struktur angesehen.
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by OlliTheDarkness »

blackpanther wrote: Tue 20. Jun 2023, 19:09
Tobi wrote: Tue 20. Jun 2023, 18:55
blackpanther wrote: Tue 20. Jun 2023, 18:32 zumal es sich ja nur um ein paar zeilen code handeln würde, wie ich es ja im beitrag aufgezeigt habe.

Ich finde es immer wieder erstaunlich wie viele Personen Einblick in den geschützten Quellcode haben um solche Aussagen treffen zu können.
😂😮😵‍💫

[..]
Hallo Tobi.

Ich glaube da hast du mich missverstanden.
Mit den wenigen Zeilen Code, meinte ich eigentlich wenige zeilen, die in Bezug zu den Firewallregeln die ich benötige eingetragen werden müssten.

Ich habe bisher noch nie mir den Quelltext der KH struktur angesehen.
Und mit letzter Aussage , dich wieder ins Aus gesetzt :lol:
2 Runden und 2x KO.

Wo es nichts zu sehen gibt, siehste auch nichts :idea:
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
Alexander
Keyweb AG
Posts: 3842
Joined: Wed 20. Jan 2016, 02:23

Re: Firewall erweiterung -> Zugriff auf HOSTname ebene an PORT X

Post by Alexander »

Das Pflegen von eigenen Regeln ist mit ein paar Iptables-Grundkenntnissen nicht kompliziert. Ich würde behaupten, da war das herausfinden, wie die neue Regel aufgebaut sein müsste (dein 1. Beitrag) komplizierter.
(Okay, sehe gerade ChatGPT kam zum Einsatz, dann hielt sich der Aufwand natürlich in Grenzen ;), aber generell, Antworten von ChatGPT möchtest du nicht unhinterfragt übernehmen.)

Du Kannst dir die aktuellen Regeln über iptables "iptables-save" bzw. "ip6tables-save" als Konfigurationsdatei ausgeben lassen. Da ergänzt du deine eigenen Regeln und schmeißt die spezifischen Fail2Ban Regeln am Ende raus. Dann nimmst du den Regelimport in deinen Server-Autostart mit auf, sonst sind nach einem Reboot die Regeln zurückgesetzt.
Dann schaltest du die KeyHelp-Firewall aus und lädst deine Regeln rein.

Wenn man sich damit nicht auseinander setzen möchte - natürlich durchaus legitim - dann bittet man jemanden, der sich damit auskennt, oder nimmt man ein paar € in die Hand und lässt es den Provider seines Vertrauens in Form eines Support-Tickets sich des Ganzen annehmen.

---

Eine Implementierung ins KeyHelp dieses Features plane ich nicht, weil es das Firewall-System für die Allgemeinheit wieder komplizierter machen würde und ich mit dem derzeitigen Stand des Firewall-System sehr zufrieden bin.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Post Reply