Server absichern

Hallo

ich hab auf meinem server nginx laufen php msql alles was man braucht als webserver…

wie sicher ich den ab vor dem censys search was muss ich da genau machen.

1 „Gefällt mir“

warte bitte bis vip da ist er hat en plan von sowas lg volume

1 „Gefällt mir“

Websites kann man auf mind. 3 Arten etwas schützen:

robots.txt im root Verzeichnis: Daran halten sich nur die bekannten und ‚seriösen‘ robots. (Und kommen einfach anonym später wieder.)

Regex Filter auf Header Einträge. Recht wirksam und vielseitig. Neben Domainnamen kann man auch Skripte und Programme wie wget filtern.

IP-Filter, am besten in der Firewall oder im Webserver oder mit php. Nachteil, die IP-Bereiche müssen bekannt sein und ändern halt oft.

Die einzige Möglichkeit einen Zugang wirklich abzusichern, ist die Verwendung eines Passwortes, Zertifikats oder ähnliches.

Censys schreibt selber, wie man sie sperren soll:
https://support.censys.io/hc/en-us/articles/360043177092-Opt-Out-of-Data-Collection

Genau das!

Darüber hinaus verwenden die HTTP-basierten Scans einen Censys -spezifischen Benutzeragenten, der Anfragen von deren Scannern filtern kann.

Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)

Wenn du deine Dienste so konfigurierst, dass Verbindungen aus den Subnetzen von Censys getrennt werden , wird verhindert, dass deren Scanner deine Dienste indizieren. Nicht entfernt werden aus Censys- Datensätzen historische Daten im Rahmen dieser Änderung.
Host- und virtuelle Host-Dienste werden in der Regel aus Censys Search innerhalb von 24 bis 48 Stunden nach ihrem letzten Beobachtungszeitstempel entfernt.

Censys Agent Adressenbereich:

162.142.125.0/24
167.94.138.0/24
167.94.145.0/24
167.94.146.0/24
167.248.133.0/24
199.45.154.0/24
199.45.155.0/24
206.168.34.0/24
2602:80d:1000:b0cc:e::/80
2620:96:e000:b0cc:e::/80
2602:80d:1003::/112
2602:80d:1004::/112

Okay, bin ich dann von allem geschützt, was scannt?
Aber gibt es da keine andere Lösung?
Wenn die IP mal geändert wird, geht das ja von vorn los wieder.

Ich will das als mein Abschlussprojekt für die Schule machen.
Wie man Nginx aufbaut, hab ich schon. Es geht mir halt nur noch darum, wie ich den richtig gut abdecke vor bösen Jungs, dass man die IP nicht zurückverfolgen kann, wie z. B. den Censys-Scanner und so weiter, was es gibt . Mein Ausbilder sagte, das bekomme ich nicht hin, dass sie ganz verschleiert ist. Er findet sie.

Deswegen fragte ich mal hier, wie ich die am besten mit was verschleiere. Vernünftig.

Natürlich bist du dann nicht geschützt, gegen alles, was scannt. Du hast gefragt, wie du dich gegen Scans von Censys schützt. Das haben wir beantwortet, wobei ich ja schon eingeschränkt habe, dass diese Massnahmen nur ein klein wenig helfen.

Wenn dein Ausbilder sagt, du bekommst das nicht hin, verneige dich voller Ehrfurcht vor ihm, denn er hat recht.

Du selber kannst deinen Server (und insbesondere deine IP) nicht vor Scanner schützen.

Was du machen kannst ist, vor deiner Website einen Proxy wie von Cloudflare schalten. Dann sehen Besucher die IP von Cloudflare und deine IP ist versteckt.

Trotzdem kann deine Website immer noch gescannt werden, z.B. nach Inhalt oder nach Sicherheitslöchern.

Ein durchschnittlicher Webseitenbetreiber muss damit leben, dass 95-99% der Zugriffe von automatisierten Systemen (Bots) kommen und nicht von Usern.

https://github.com/Kyro25/Scanner-Blocker/tree/main

block_scanners.bat

@echo off

rem Block Censys IP subnets
netsh advfirewall firewall add rule name=„Block Censys 162.142.125.0/24“ dir=in action=block remoteip=162.142.125.0/24
netsh advfirewall firewall add rule name=„Block Censys 167.94.138.0/24“ dir=in action=block remoteip=167.94.138.0/24
netsh advfirewall firewall add rule name=„Block Censys 167.94.145.0/24“ dir=in action=block remoteip=167.94.145.0/24
netsh advfirewall firewall add rule name=„Block Censys 167.94.146.0/24“ dir=in action=block remoteip=167.94.146.0/24
netsh advfirewall firewall add rule name=„Block Censys 167.248.133.0/24“ dir=in action=block remoteip=167.248.133.0/24
netsh advfirewall firewall add rule name=„Block Censys 199.45.154.0/24“ dir=in action=block remoteip=199.45.154.0/24
netsh advfirewall firewall add rule name=„Block Censys 199.45.155.0/24“ dir=in action=block remoteip=199.45.155.0/24
netsh advfirewall firewall add rule name=„Block Censys 206.168.34.0/24“ dir=in action=block remoteip=206.168.34.0/24
netsh advfirewall firewall add rule name=„Block Censys 2602:80d:1000:b0cc:e::/80“ dir=in action=block remoteip=2602:80d:1000:b0cc:e::/80
netsh advfirewall firewall add rule name=„Block Censys 2620:96:e000:b0cc:e::/80“ dir=in action=block remoteip=2620:96:e000:b0cc:e::/80
netsh advfirewall firewall add rule name=„Block Censys 2602:80d:1003::/112“ dir=in action=block remoteip=2602:80d:1003::/112
netsh advfirewall firewall add rule name=„Block Censys 2602:80d:1004::/112“ dir=in action=block remoteip=2602:80d:1004::/112

rem Block Shodan IP addresses
netsh advfirewall firewall add rule name=„Block Shodan 208.180.20.97“ dir=in action=block remoteip=208.180.20.97
netsh advfirewall firewall add rule name=„Block Shodan 198.20.69.74“ dir=in action=block remoteip=198.20.69.74
netsh advfirewall firewall add rule name=„Block Shodan 198.20.69.98“ dir=in action=block remoteip=198.20.69.98
netsh advfirewall firewall add rule name=„Block Shodan 198.20.70.114“ dir=in action=block remoteip=198.20.70.114
netsh advfirewall firewall add rule name=„Block Shodan 198.20.99.130“ dir=in action=block remoteip=198.20.99.130
netsh advfirewall firewall add rule name=„Block Shodan 93.120.27.62“ dir=in action=block remoteip=93.120.27.62
netsh advfirewall firewall add rule name=„Block Shodan 66.240.236.119“ dir=in action=block remoteip=66.240.236.119
netsh advfirewall firewall add rule name=„Block Shodan 71.6.135.131“ dir=in action=block remoteip=71.6.135.131
netsh advfirewall firewall add rule name=„Block Shodan 66.240.192.138“ dir=in action=block remoteip=66.240.192.138
netsh advfirewall firewall add rule name=„Block Shodan 71.6.167.142“ dir=in action=block remoteip=71.6.167.142
netsh advfirewall firewall add rule name=„Block Shodan 82.221.105.6“ dir=in action=block remoteip=82.221.105.6
netsh advfirewall firewall add rule name=„Block Shodan 82.221.105.7“ dir=in action=block remoteip=82.221.105.7
netsh advfirewall firewall add rule name=„Block Shodan 71.6.165.200“ dir=in action=block remoteip=71.6.165.200
netsh advfirewall firewall add rule name=„Block Shodan 188.138.9.50“ dir=in action=block remoteip=188.138.9.50
netsh advfirewall firewall add rule name=„Block Shodan 85.25.103.50“ dir=in action=block remoteip=85.25.103.50
netsh advfirewall firewall add rule name=„Block Shodan 85.25.43.94“ dir=in action=block remoteip=85.25.43.94
netsh advfirewall firewall add rule name=„Block Shodan 71.6.146.185“ dir=in action=block remoteip=71.6.146.185
netsh advfirewall firewall add rule name=„Block Shodan 71.6.158.166“ dir=in action=block remoteip=71.6.158.166
netsh advfirewall firewall add rule name=„Block Shodan 198.20.87.98“ dir=in action=block remoteip=198.20.87.98
netsh advfirewall firewall add rule name=„Block Shodan 66.240.219.146“ dir=in action=block remoteip=66.240.219.146
netsh advfirewall firewall add rule name=„Block Shodan 209.126.110.38“ dir=in action=block remoteip=209.126.110.38
netsh advfirewall firewall add rule name=„Block Shodan 104.236.198.48“ dir=in action=block remoteip=104.236.198.48
netsh advfirewall firewall add rule name=„Block Shodan 104.131.0.69“ dir=in action=block remoteip=104.131.0.69
netsh advfirewall firewall add rule name=„Block Shodan 162.159.244.38“ dir=in action=block remoteip=162.159.244.38

rem Block Shadowserver IP subnets
netsh advfirewall firewall add rule name=„Block Shadowserver 216.218.206.0/24“ dir=in action=block remoteip=216.218.206.0/24
netsh advfirewall firewall add rule name=„Block Shadowserver 74.82.47.0/24“ dir=in action=block remoteip=74.82.47.0/24

rem Block PAN Expanse IP subnets
netsh advfirewall firewall add rule name=„Block PAN Expanse 144.86.0.0/15“ dir=in action=block remoteip=144.86.0.0/15
netsh advfirewall firewall add rule name=„Block PAN Expanse 44.192.0.0/10“ dir=in action=block remoteip=44.192.0.0/10

rem Block other popular scanner IP subnets (DigitalOcean)
netsh advfirewall firewall add rule name=„Block DigitalOcean 142.93.0.0/16“ dir=in action=block remoteip=142.93.0.0/16
netsh advfirewall firewall add rule name=„Block DigitalOcean 104.248.0.0/16“ dir=in action=block remoteip=104.248.0.0/16
netsh advfirewall firewall add rule name=„Block DigitalOcean 167.99.0.0/16“ dir=in action=block remoteip=167.99.0.0/16
netsh advfirewall firewall add rule name=„Block DigitalOcean 128.199.0.0/16“ dir=in action=block remoteip=128.199.0.0/16
netsh advfirewall firewall add rule name=„Block DigitalOcean 178.128.0.0/16“ dir=in action=block remoteip=178.128.0.0/16

echo All specified scanner IPs/subnets are now blocked.
pause

Wobei ich mich grad frage, ist das Thema des Abschlussprojektes nun, wie schütze ich meinen Server vor ‚bösen Jungs‘ (also staatliche Behörden, Rechteinhaber) vor der Entdeckung meiner IP und weiteren technischen Merkmalen …

oder

wie schütze ich meinen Server vor ‚bösen Jungs‘ (Hacker, Cyberbanditen, gierige Datensammler) vor dem Einbruch in mein System.

Das sind ja 2 verschiedene Paar Stiefel :smiley:

1 „Gefällt mir“

Okay, mein Ausbilder sagte, vor so Scannern wie Censys und Shodan kann man sich schützen, auch vor Behörden und Rechtsinhabern . Er meinte, da muss ich noch lernen. Hab ihm halt eiskalt ins Gesicht gesagt: kein Problem . Ich glaub, da hab ich mich zu weit rausgelehnt, aber wenn es geht, bitte ich um jede Hilfe.

1 „Gefällt mir“

Klar, dass es da keine Tipps gibt, versteh ich voll … Hab ja schon überlegt, so Usenet-Foren zu fragen, die müssen sich ja auch irgendwie schützen.

Einen Webserver erwarten je nach Einsatz ganz unterschiedliche Bedrohungen, welche auch ganz unterschiedlich abgewehrt werden müssen. Das meiste haben wir aber oben schon erwähnt.

  1. Verschleierung der eigenen Identität: Vorschalten eines (oder mehrerer) Proxies.
  2. Angriffe per DDOS: Vorschalten eines kommerziellen Proxies, der genügend Kapazität hat, die Angriffe wegzustecken.
  3. Kommerzielle Scanner sind nicht grundsätzlich was böses und eher die Regel. Will man sie trotzdem nicht, dann wie oben beschrieben, wegfiltern.
  4. Kriminelle Angreifer, hier wird’s schwierig. Filterlisten, Fail2Ban, Logs lesen und regelmässig alles updaten, nur so als Beispiele.

Deine bisherigen Beschreibungen zu dem Projekt sind einfach zu schwammig bzw. zu allgemein gehalten, um gezielt darauf eingehen zu können!
Um Linux-Serversysteme sicher zu betreiben, sind während und nach der Installation des eigentlichen OS, verschiedene Maßnahmen sinnvoll:

  • Minimal-Installation (OS) durchführen
  • Aktualisieren der Paketlisten
  • Aktualisierung der Pakete
  • Konfiguration des Listening-Ports des SSH-Dienstes ändern (Standard = 22)
  • SSH-Anmeldung für Admin deaktivieren
  • Verschlüsselte Verbindungen mit Hilfe von Zertifikaten ausstellen (SSH-Keys)
  • Ggfs. VPN-Verbindungen etablieren
  • Erstellung eines Benutzer-Accounts mit Root-Berechtigung
  • Fail2ban installieren
  • Deaktivierung ungenutzter Dienste / Services
  • Server-Firewall installieren / konfigurieren über UFW / iptables (Firehol)
  • etc. pp.

Das wären so die grundlegenden Maßnahmen, um einen Linux-Webserver, mit Internet-Zugang, abzusichern. Natürlich sind auch noch andere Konfigurationen möglich. Dafür sollte aber das kompl. Projekt als solches erstmal granuliert definiert werden!

Ja, das glaube ich, ein Projekt ist es nicht . Ist die Doku für meine Abschlussausbildung deswegen so schwammig?

Sagen wir mal so als Beispiel : Ich würde ein Forum mit Xen oder WBB machen, das Kriminelles anbietet. Und das muss ich jetzt vor Behörden schützen. Ein Proxy habe ich mir auch schon ausgedacht, aber was ist, wenn der dann die Behörde knackt, haben sie doch dann eh die IP vom Hauptserver?

Nicht zu vergessen dem nginx zu sagen, dass dieser keine Informationen zu seiner Version etc. Heraus gibt.

https://www.cyberciti.biz/faq/hide-nginx-version-in-linux-and-unix/

Du könntest noch darüber nachdenken eine WAF mit modsecurity zu etablieren.

Zu deiner Frage bzgl. Der Verschleierung:
Ich denke es kommt ganz einfach auf den Verwendungszweck an. Für rein legale Aktivitäten bieten sich Anbieter wie Cloudflare an. Kannst du natürlich auch für andere Sachen anbieten, wobei du im Hinterkopf haben musst das auch CF inzwischen Infos heraus gibt.

Eine Proxy Lösung hört sich ansich gut an. Wenn du diesen Weg gehst, dann über einen Anbieter der mind. Nicht Mitglied der 5-Eyes ist. Den Traffic könntest du dann von der Proxy per Wireguard beispielsweise zum Webserver leiten.

Aber ich muss hier auch dazu sagen, dass ich den Sinn in einer solchen Abschlussarbeit nicht wirklich sehe. Wo ist hier die Herausforderung?

Ehrlich gesagt, glaube ich nicht, dass es ein Ausbildungziel sein kann, eine Dokumentation über die Erstellungs eines illegalen Forums mit Schutz vor dem Zugriff vor Authoritäten zu erstellen.

Der Fragesteller sollte sich vielleicht erst mal genau hinterfragen, was die Aufgabenstellung ist und vor wem man sich warum schützen soll oder muss.

Im Übrigen gibt es zum Schutz von Servern seit Jahrzehnten mannigfaltige Dokumentationen im Internet. Dazu braucht man auch keine KI zu fragen, eine normale Suchmaschine tut es auch.

3 „Gefällt mir“

Die Abschlußprpfung für FiSi’s und FiA’s ist IMMER eine Projektarbeit :bangbang:
Die Dokumentation zum eigentlichen Projekt, ist quasi das Nachschlagewerk für dich selber am Ende und natürlich für die IHK-Prüfer…

Inhalte der Projektdokumentation

  • Deckblatt ((Name des Prüflings, Ausbildungsberuf, Ausbildungs-/Praktikumsbetrieb, Thema der Projektarbeit))
  • Inhaltsverzeichnis (mit anklickbarer Seitennummerierung)
  • Thema der Projektarbeit (Projektziel) / Art des Projektes
  • Betriebliche Umfeldbeschreibung des Auftragnehmers, -gebers
  • Ausganssituation (Auftragsbeschreibung)
  • Analyse vom Ist-Zustand
  • Erstellung vom Soll-Konzept inkl. begründeter Entscheidungen bei der Auswahl der Hard-, Software und bei der Vorgehensweise der Durchführungsschritte
  • Personal-, Sachmittel-, Termin- und Kostenplanung (Ressourcenplanung)
  • Ablaufplanung
  • Darstellung der Prozessketten und/- oder Prozess-Schnittstellen
  • Umfassende Beschreibung und Begründung der Vorgehensweise, der Entscheidungen, von eventuellen Abweichungen, von Anpassungen und der erzielten Ergebnisse.
  • Auftragsergebnis (Soll - Ist Vergleich)
  • Übergabe und Abnahme der betrieblichen Projektarbeit
  • Kundendokumentation als Anlage muss vorhanden sein (Empfehlung: 1 bis 10 Seiten).
    Eine Kundendokumentation muss auch bei firmeninternen Projekten angefertigt werden.
  • Notwendige ergänzende Unterlagen, z. B. Protokolle, Gesprächsnotizen, Ablaufpläne, Quellenangaben etc., sind in einem separaten Anhang beizufügen.

Berufsspezifische Besonderheiten

  • Fachinformatiker, Fachrichtung Anwendungsentwicklung: Der Quellcode muss als Anhang zur Dokumentation beigefügt werden.
  • Kaufmännischen IT-Berufe: Der Kostenaspekt muss stärker berücksichtigt werden als bei den gewerblich-technischen Berufen.

Wichtige Hinweise

  • Die Projektdokumentation sollte 12 bis 15 DIN A4-Seiten in üblicher Schriftgröße (z. B. Arial 10 bis 12) beinhalten.
  • Zeilenabstand: 1,0 bis maximal 1,5 Zeilen
  • Deckblatt mit Projekttitel und Name des Verfassers sowie Projektbetreuers, Inhaltsverzeichnis, Abbildungsverzeichnis, Glossar, Quellenverzeichnis, Kundendokumentation und Anlagen zählen nicht zu den 15 Seiten der Projektdokumentation.
  • Fremde Quellen einschließlich Recherchen aus dem Internet sind deutlich zu kennzeichnen.
  • Alle relevanten Inhalte der betrieblichen Projektarbeit müssen als Inhalt der Projektdokumentation vorhanden sein.
  • Vertrauliche oder datenschutzrelevante Daten sind als solche zu kennzeichnen. Sofern es aus datenschutzrechtlichen Gründen erforderlich ist, können Teile der Informationen durch Schwärzen etc. unkenntlich gemacht werden.
  • Die Dokumentation muss online über die Anwendung Projektanträge Online z.B. an die IHK Rhein-Neckar als eine PDF-Datei (max. 8 MB) übermittelt werden. Für die Übermittlung sind die vor der Antragsstellung erhaltenen Zugangsdaten zu benutzen.
    Weitere Informationen zu der Anwendung: Online-Portal für die Abschlussprüfung
  • Werden Auflagen, die der Prüfungsausschuss zum genehmigten Antrag gemacht hat, bei der betrieblichen Projektarbeit nicht erfüllt, führt dies bei der Bewertung generell zu Punktabzug.
  • Zu spät eingereichte Unterlagen können zum Nichtbestehen von der Prüfung führen.

Zu guter letzt, bildet der praktische Projektanteil plus die DOKUMENTATION die GRUNDLAGE für das anschl. Fachgespräch :bangbang:

Präsentation und Fachgespräch:

Durch die Präsentation soll der Prüfling zeigen, dass er folgendes kann:

  • fachbezogene Probleme und Lösungskonzepte zielgruppengerecht darstellen
  • den für die Projektarbeit relevanten fachlichen Hintergrund aufzeigen
  • die Vorgehensweise im Projekt begründen

Beim Fachgespräch danach, werden durch die Prüfer einzelne Punkte / Inhalte abgefragt…etc. pp.

Ich dank euch allen. Ein Versuch war hier mal wert. Ich werde mal versuchen, noch einen Tec von seinem Usenetboard anzuschreiben, was die noch für Tipps haben.

Aber trotzdem mega von euch, dass ihr versucht habt, zu helfen. Ich kann es verstehen, dass da niemand helfen will. Da habe ich mir selbst für die Arbeit wahrscheinlich ein Ei gelegt.

Im Zweifel auch einfach eingestehen, dass du dir da leichtfertig zu viel vorgenommen hast. Sollte auch was wert sein. Und dazugelernt hast du ja allemal.

ChatGPT hat uns einen Szeneserver aufgesetzt und danach Scripte geschrieben zum angriff auf unsere Server .
Jetzt schreibt es uns sogar neuen Code für unser IPBoard besser gehts nicht .
Sogar Ki ist schon integriert . :stuck_out_tongue_winking_eye:

Ja leider ist das auch schon eingereicht für die Prüfung auf Deutsch gesagt ich flieg durch aber damit muss ich leben.
Hab echt gedacht hier ist Chance auf Hilfe leider selbst ein Ei gelegt.