OPNsense Forum

International Forums => German - Deutsch => Topic started by: pumuckl on November 17, 2019, 06:00:23 pm

Title: http > https Dienste: Nginx
Post by: pumuckl on November 17, 2019, 06:00:23 pm
Hallo,

Ich möchte 2-3 http Dienste die über das Web erreichbar sind von http zu https umleiten.

zum beispiel Motioneye, Anleitungen wie man es am Client mit macht hab ich schon gesehen.

ich möchte das aber gleich direkt an der opnsense machen.

Gibt es da Ausführliche Anleitungen?

also wie ich dern Reverse Proxy einrichte und Anleitungen für die opnsese Erweiterung Nginx generell

grüsse
Title: Re: http > https Dienste: Nginx
Post by: superwinni2 on November 17, 2019, 06:18:01 pm
Geht mit nginx sicher auch...
Ich würde für den Fall jedoch auf HAProxy setzen.

Gesendet von meinem LG-H815 mit Tapatalk

Title: Re: http > https Dienste: Nginx
Post by: pumuckl on November 17, 2019, 06:43:00 pm
nehme ich auch

gib es ein beispiel oder howto für eine http >https Weiterleitung
Title: Re: http > https Dienste: Nginx
Post by: superwinni2 on November 17, 2019, 09:06:07 pm
Naja.. eigentlich nicht wirklich schwer...

Ein Frontend anlegen
mit Port 80


Eine Bedingung anlegen:
Wenn die Verbindung nicht verschlüsselt ist


Eine Regel anlegen:
Wenn Verbindung nicht verschlüsselt dann "http-request redirect" mit "scheme https code 301"


Dann die Regel dem Frontend hinzufügen und es sollte funktionieren
Title: Re: http > https Dienste: Nginx
Post by: fabian on November 17, 2019, 09:24:58 pm
Im nginx plugin ist es einfach nur ne checkbox. Kann sein, dass das ne advanced Einstellung ist. Also einfach oben mal auf advanced umschalten.
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on November 17, 2019, 10:00:34 pm
ich hab mich mal daran gehalten:
https://forum.opnsense.org/index.php?topic=11995.0 (https://forum.opnsense.org/index.php?topic=11995.0)


Das ist mein Server hab ihn so angelegt wie er im LAN erreichbar ist:
motioneye   10.10.10.18   xxxx    motioneye
SSL und Überprüfen Sie das SSL-Zertifikat hab ich nicht angehakt weil die Seite http ist.


Dann hab ich ein Backend erstellt und meinen Server ausgewählt.

Frontend ist vermutlich der Öffentliche Dienst
Mir ist da nicht klar was ich als Hörende Adressen eintragen soll

intern: 10:10:10:18:80 ?
extern www.xxxxxxserver.duckdns.org:80 ?  (wenn ich diese Adresse eingebe hängt der Haproxy,hab entfernt)

ab hier möchte ich verschlüsseln, hab mal alles Standard gelassen und 100 Verbindungen erlaubt

hab eine Bedingung erstellt:

   
Code: [Select]
Datenverkehr ist http
Regel erstellt:

Code: [Select]
Bedingungen Auswählen: Datenverkehr ist http 
Funktion ausführen http-request redirect 
HTTP-Umleitung scheme https code 301

habe diese Einstellungen angewendet

Wenn ich 10.10.10.18 aufrufe

Code: [Select]
Die Server-IP-Adresse von _ wurde nicht gefunden.
Der Proxy dürft arbeiten weil
10.10.10.18:8080 (geht ins lere) gibt folgende Ausgabe


Code: [Select]
10.10.10.18 hat die Verbindung abgelehnt.

Was fehlt noch?

_________________________
edit 1:
der HaProxy läuft nicht

Das Frontend bzw die listen Adressen sind Falsch

was muss ich da für Adressen eingeben?
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on November 20, 2019, 12:26:17 pm
HaProxy läuft jetzt
Konnte den Dienst nicht öffnen,  weil ich kein Zertifikat habe.

Habe dann diese Anleitung gefunden:

   https://www.google.com/amp/s/blog.bagro.se/lets-encrypt-with-haproxy-on-opnsense/amp/
   (https://www.google.com/amp/s/blog.bagro.se/lets-encrypt-with-haproxy-on-opnsense/amp/)

Mein Problem:

Ich kann kein Zertifikat erstellen,  weil ich keinen Server laufen habe . Der mit lets encrypt angesprochenen wird.

Wie komme ich am besten zu einen brauchbaren Zertifikat.
Kann ich das Zertifikat für die opnsense Webseite gui verwenden?

Title: Re: http > https Dienste: Nginx
Post by: CoolTux on November 20, 2019, 12:31:26 pm
Wenn Du HA Proxy als Reverse Proxy verwendest kannst Du doch auf der OPNSense Firewall das Letsencrypt Packet installieren und entsprechend einrichten. Mit dem Packet wird alles automatisch nach konfiguration für ein Zertifikat gemacht. Das Zertifikat landet dann in Deinem Zertifikatsordner.

System -> Trust -> Authories
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on November 20, 2019, 01:00:23 pm
ich schaffe es nicht ein Zertifikat zu erstellen, bzw das es ausgestellt ist.

Code: [Select]
Certificate Options
 Aktiviert

 Common Name                 xxxxxxserver.duckdns.org
 Beschreibung                    zertifikat
 Alternative Namen
 et's Encrypt Settings
 LE-Konto zert1
 Überprüfungsmethode        zert1
 Automatische Erneuerung     x

 Erneuerungsintervall          60
Sicherheitseinstellungen
 Key Length 4096

 OCSP Must Staple

Erweiterte Einstellungen
 Automations                        auto
 Alles entfernen
 DNS Alias Mode                   not usin


xxxxxxserver.duckdns.org geht auf die ip von meinen router
von da hab ich nur wenige ports auf die opnsense weitergeleitet.

port 80 ist nicht dabei


wenn ich das zertifikat erstellen will bekomme ich diese Fehler:

Code: [Select]
[Wed Nov 20 12:56:08 CET 2019] Please check log file for more details: /var/log/acme.sh.log
[Wed Nov 20 12:56:08 CET 2019] _on_issue_err
[Wed Nov 20 12:56:08 CET 2019] skip dns.
[Wed Nov 20 12:56:08 CET 2019] dns_entries
[Wed Nov 20 12:56:08 CET 2019] _clearupdns
[Wed Nov 20 12:56:08 CET 2019] No need to restore nginx, skip.
[Wed Nov 20 12:56:08 CET 2019] pid
[Wed Nov 20 12:56:08 CET 2019] Create domain key error.
[Wed Nov 20 12:56:08 CET 2019] Add '--force', and try again.
[Wed Nov 20 12:56:08 CET 2019] Domain key exists, do you want to overwrite the key?
[Wed Nov 20 12:56:08 CET 2019] ACME_DIRECTORY='https://acme-staging-v02.api.letsencrypt.org/directory'
[Wed Nov 20 12:56:08 CET 2019] Using config home:/var/etc/acme-client/home
[Wed Nov 20 12:56:08 CET 2019] Creating domain key
[Wed Nov 20 12:56:08 CET 2019] Read key length:
[Wed Nov 20 12:56:08 CET 2019] _saved_account_key_hash is not changed, skip register account.
[Wed Nov 20 12:56:08 CET 2019] d
[Wed Nov 20 12:56:08 CET 2019] _currentRoot='/var/etc/acme-client/challenges'
[Wed Nov 20 12:56:08 CET 2019] Check for domain='xxxxxxserver.duckdns.org'
[Wed Nov 20 12:56:08 CET 2019] d='xxxxxxserver.duckdns.org'
[Wed Nov 20 12:56:07 CET 2019] Le_LocalAddress
[Wed Nov 20 12:56:07 CET 2019] _chk_alt_domains
[Wed Nov 20 12:56:07 CET 2019] _chk_main_domain='xxxxxxserver.duckdns.org'
[Wed Nov 20 12:56:07 CET 2019] _on_before_issue
[Wed Nov 20 12:56:07 CET 2019] ACME_VERSION='2'
[Wed Nov 20 12:56:07 CET 2019] ACME_NEW_NONCE='https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce'
[Wed Nov 20 12:56:07 CET 2019] ACME_AGREEMENT='https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf'
[Wed Nov 20 12:56:07 CET 2019] ACME_REVOKE_CERT='https://acme-staging-v02.api.letsencrypt.org/acme/revoke-cert'
[Wed Nov 20 12:56:07 CET 2019] ACME_NEW_ACCOUNT='https://acme-staging-v02.api.letsencrypt.org/acme/new-acct'
[Wed Nov 20 12:56:07 CET 2019] ACME_NEW_ORDER='https://acme-staging-v02.api.letsencrypt.org/acme/new-order'
[Wed Nov 20 12:56:07 CET 2019] ACME_NEW_AUTHZ
[Wed Nov 20 12:56:07 CET 2019] ACME_KEY_CHANGE='https://acme-staging-v02.api.letsencrypt.org/acme/key-change'
[Wed Nov 20 12:56:07 CET 2019] ret='0'
[Wed Nov 20 12:56:07 CET 2019] _CURL='curl -L --silent --dump-header /var/etc/acme-client/home/http.header -g '
[Wed Nov 20 12:56:07 CET 2019] timeout=
[Wed Nov 20 12:56:07 CET 2019] url='https://acme-staging-v02.api.letsencrypt.org/directory'
[Wed Nov 20 12:56:07 CET 2019] GET
[Wed Nov 20 12:56:07 CET 2019] _init api for server: https://acme-staging-v02.api.letsencrypt.org/directory
[Wed Nov 20 12:56:07 CET 2019] Using ACME_DIRECTORY: https://acme-staging-v02.api.letsencrypt.org/directory
[Wed Nov 20 12:56:07 CET 2019] DOMAIN_PATH='/var/etc/acme-client/home/xxxxxxserver.duckdns.org'
[Wed Nov 20 12:56:07 CET 2019] ACME_DIRECTORY='https://acme-staging-v02.api.letsencrypt.org/directory'
[Wed Nov 20 12:56:07 CET 2019] Using stage ACME_DIRECTORY: https://acme-staging-v02.api.letsencrypt.org/directory


Brauche ich eine Domain um ein Zertifikat zu bekommen?

______________________________________________________
Edit1:

vermutlich muss ich Port 80 und 443 vom Router zu Firewall weiter leiten.

bzw Opensense als DMZ im Router setzen

Damit die Let's Encryp Erweiterung einen Antwort bekommt.
Title: Re: http > https Dienste: Nginx
Post by: CoolTux on November 20, 2019, 04:31:17 pm
Wie Du schon richtig erkannt hast musst Du Port 80 auf die Firewall weiterleiten lassen. Von da an gibt es dann in "wenn Du HA Proxy" in der Letsencrypt Konfig angegeben hast einen Eintrag in der HA Proxy Konfig damit Deine Domain gecheckt werden kann.
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on November 23, 2019, 02:32:35 pm
Irgendwie klappt das mit dem Zertifikat noch nicht.

Hab folgende Ports geöffnet und zur Opnsese weitergeleitet.

Code: [Select]
          IPv4 TCP * * Diese Firewall 42520 * * HTTP_HAproxy    
  IPv4 TCP * * Diese Firewall 80 (HTTP) * * HTTP_HAproxy

oder geht das so gar nicht?

Brauche ich eine registrierte Domain oder geht das auch mit dem dns dienst von duckdns?




Title: Re: http > https Dienste: Nginx
Post by: pumuckl on November 28, 2019, 06:20:55 pm
Ich konnte mit dem Nginx Plugin nach dieser Anleitung:

https://docs.opnsense.org/manual/how-tos/nginx.html (https://docs.opnsense.org/manual/how-tos/nginx.html)

es einrichten das wenn ich die IP der  Firewall auf port 8080 aufrufe ich zu meinen Server weitergeleitet werde.

Edit Location:
Code: [Select]
root / 0 1HTTP Server:
Code: [Select]
127.0.0.1 1 8080 8443

Port 8443 ist aber nicht erreichbar

bzw wie richte ich ab hier den reverse proxy ein?


Title: Re: http > https Dienste: Nginx
Post by: fabian on November 28, 2019, 06:54:30 pm
Hast du Zertifikat etc. auch konfiguriert? Ohne wird TLS nicht funktionieren.

Ansonsten ist der Port in der Firewall offen?
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on November 28, 2019, 08:41:47 pm
hab ein Selbst signiertes Zertifikat erstellt via trust und certificates

https://www.thomas-krenn.com/de/wiki/Selbstsignierte_SSL_Zertifkate_mit_OPNsense_erstellen (https://www.thomas-krenn.com/de/wiki/Selbstsignierte_SSL_Zertifkate_mit_OPNsense_erstellen)

 :'( Damit hab mich erfolgreich ausgesperrt

Wenn ich den Zugriff wieder hergestellt habe, wie erstelle ich am besten ein Zertifikat für meine opnsense und andere Dienste bzw reicht ein Zertifikat für den https proxy?

geht das  via trust und certificates über haut noch oder sollte ich das lets encrypt plugin nehmen. `

gibt es eine Anleitung für das  lets encrypt plugin?

 grüsse und thx
Title: Re: http > https Dienste: Nginx
Post by: fabian on November 28, 2019, 11:18:12 pm
Ja, geht noch über trust aber LE wäre besser. Für LE muss dein Server auf Port 80 hören oder du musst DNS konfigurieren.

Für LE gibt es eine Checkbox (könnte advanced sein) im Server um die Challenge umzuleiten (acme plugin).

Das kann bei richtiger Konfiguration zertifikate ausstellen und die können dann in den nginx eingespielt werden.
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on November 29, 2019, 08:42:12 am
Ja, geht noch über trust aber LE wäre besser. Für LE muss dein Server auf Port 80 hören oder du musst DNS konfigurieren.

Für LE gibt es eine Checkbox (könnte advanced sein) im Server um die Challenge umzuleiten (acme plugin).

Das kann bei richtiger Konfiguration Zertifikate ausstellen und die können dann in den nginx eingespielt werden.

Opnsense Port 80 und 443 sind durch das GUI blockiert
Nginx läuft auf der sense und hört auf 8080

Let's Encryptist auch auf der sense installiert und unter den erweiterten Einstellungen kann man einen Port einstellen zb 40350 muss der in der Firewall geöffnet oder weitergeleitet werden?

Ich habe eine Selfhost Domain und einen duck dns beides wird via dyndns auf meine IP  weitergeleitet.

Ich denke mit Le sollte beides gehen.

Also der common name bei LE wäre zb irgendwas-Selfhost.de der wird dann auf meine IP geleitet.
Versucht LE dann auf meier Sense zu schreiben?

Oder wird über Nginx da schon auf meinen Server auf port 80 zugegriffen? Was müsste da dann lauschen?

Title: Re: http > https Dienste: Nginx
Post by: fabian on November 30, 2019, 10:09:13 am
Du kannst den Port vom Web interface ändern. Dann kann nginx die Ports 80 und 443 verwenden und LE funktioniert.

LE gibt nun mal vor, dass es Port 80 für die Challenge HTTP 01 sein muss.

Der Port Om LE wird verwendet, weil intern vom LE plugin ein kleiner Webserver zur Verarbeitung der Challenge gestartet wird der diese bearbeitet. HAProxy und nginx leiten ACME Anfragen an diesen weiter. Dieser muss von außen nicht direkt erreichbar sein. Nur Port 80 mit nginx oder HAProxy plugin.
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on December 02, 2019, 02:29:59 pm
Ich habs irgendwie geschafft

In das LE plugin hab ich meine Domain eingetragen.


Den Opnsese GUI https Port habe ich geändert

Aber es gibt noch die Antiaussperr NAT  die http 80 auf den neuen https  Port der Opnsese weiterleitet.

nginx läuft jetzt auf 8080,

Wie kann ich die anti aussperr NAT ändern?

Beim Aufrufen meines Servers habe ich folgende Meldung:

Code: [Select]
NET::ERR_CERT_COMMON_NAME_INVALID

Dieser Server konnte nicht beweisen, dass er 10.10.10.1 ist. Sein Sicherheitszertifikat stammt von XXXXXserver.duckdns.org. Mögliche Gründe sind eine fehlerhafte Konfiguration oder ein Angreifer, der Ihre Verbindung abfängt.

Wo muss ich die IP beim zertifikat hinzufügen?

schönen Advent beginn
Title: Re: http > https Dienste: Nginx
Post by: fabian on December 02, 2019, 08:39:48 pm
Die IP-Adresse kannst du in ein LE-Zertifikat eintragen - da musst du den Hostnamen verwenden.

Die Umleitung wird dort konfiguriert, wo du auch den Port änderst. Da gibt's ne Checkbox für die Port 80 Weiterleitung.
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on December 03, 2019, 09:47:56 am
Das mit Port 80 Hab ich hinbekommen.

Beim Zertifikat und bei den URL Pattern hab ich noch Probleme:

Das ist die Einstellung von meinem Zertifikat:
Code: [Select]
Suche

Aktiviert
Common Name           Multi-Domain (SAN)     Beschreibung        Ausstellungs-/Erneuerungsdatum  Letzter Acme-Status Letzter Acme-Durchlauf Befehle
xxxxserver.duckdns.org                 Let's Encrypt: Zertifikat 2.12.2019, 14:08:38 Überprüfung Ok 2.12.2019, 22:36:44

Ich kann bei Common Name nicht den Hostnamen  angeben, weil mindestens ein Punkt vorhanden sein muss
Eine IP kann man auch nicht angeben.

wenn ich den Hostname , oder die IP bei Multi-Domain eingebe wird das Zertifikat Fehler haft.

oder muss ich sense.localdomain oder so ähnlich im Zertifikat angeben?

Code: [Select]
Hostname  sense

 Domain   localdomain


Wenn ich bei URL Pattern was anderes als / eingebe wir mein server nicht gefunden
ich hab folgendes probiert:

Code: [Select]
/server
/server/
Match Type alle ausprobiert
und so im Browser eingegeben
Code: [Select]
meineip/server
meineip/server

ode rmuss ich da mit den Präfix machen ?
Title: Re: http > https Dienste: Nginx
Post by: fabian on December 03, 2019, 07:37:34 pm
Du brauchst dann mehrere HTTP Server (nginx) für unterschiedliche Hostnamen.

Zum Beispiel:

firewall.example.net
app.example.net

Von außen kannst du dann für beide jeweils ein Zertifikat ausstellen lassen. Dann kannst du über firewall.example.net auf die FW über HTTPS zugreifen.

Das App-Zertifikat wird dann nur für deine Applikation verwendet.
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on December 10, 2019, 07:41:55 pm
zwischen durch ein  Danke schön

Ich hab mittlerweile 2 sub  Domains bei selfhost erstellt, so wie zwei http server und locations.


Bei mir hakt es noch mit den Locations

wie funktioniert das matchen vom URL Pattern?

was muss ich bei  URL Pattern und Match Type eingeben

in den Anleitungen zu nginx und opnsese steht dazu nichts Ausseer das / als matched

das funktioniert nicht:
URL Pattern
Code: [Select]
server1.xxxxxx.selfhost.co
/server1.xxxxxx.selfhost.co


kann ich dann auch noch eine Location erstellen die alle andere anfragen blockt?
oder ist das nicht notwendig

mfg
Title: Re: http > https Dienste: Nginx
Post by: fabian on December 10, 2019, 07:50:48 pm
/ heist eigentlich alles. Die Hostnamen werden über verschiedene HTTP Server voneinander getrennt. Da können gerne mehrere auf Port 80  oder 443 antworten, solange es das gleiche Protokoll ist.
alles was im location block gemacht wird, bezieht sich auf dem Pfad. Zum Beispiel für das OPNsense blog allein würdest du den folgenden teil als location match angeben:https://opnsense.org/blog/
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on December 10, 2019, 08:13:04 pm
Ich rufe die URL exakt wie im URL Pattern angegeben auf, bzw hat die url kopiert und eingefügt.

Bei beiden Varianten bekomme ich den Fehler "Not Found"

Code: [Select]

Beschreibung       URL Pattern                                 Match Type          WAF Enabled    Force HTTPS       Befehle
server1    https://server1.xxxxxx.selfhost.co/server1/         Exakte Übereinstimmung ("=") 0      1


Code: [Select]

Beschreibung       URL Pattern                                 Match Type          WAF Enabled    Force HTTPS       Befehle
server1    server1.xxxxxx.selfhost.co/server1/         Exakte Übereinstimmung ("=") 0      1


was ist hier noch Falsch?
Title: Re: http > https Dienste: Nginx
Post by: fabian on December 10, 2019, 10:34:22 pm
Dass du immer noch die volle URL rein schreibst. Du bist mit der location im http Server relativ zu diesem.

Nochmal: nur den resourcenpfad in dieses Feld eingeben. Kein Protokoll, keinen Port und keinen Hostnamen.
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on December 11, 2019, 08:50:05 am
so hatte ich es schon zu beginn versucht
URL Pattern:
Code: [Select]
/server1/
url richtiger aufruf:
Code: [Select]
https://xxxxxx.selfhost.co/server1/dann bekomme ich nur den Fehler angezeigt:
Code: [Select]
{"error": "not found"}

wenn ich die url falsch eingebe sieht es aber so aus:
url:
Code: [Select]
https://xxxxxx.selfhost.co/serverxxxxx/
Code: [Select]
Not Found
The resource you want to access is not available.

Please contact the webmaster if you think this is an error.

Web Application Protection by OPNsenseOPNsense Logo


die weiterleitung auf meinem Server funktioniert nur wenn ich / als Pattern eingebe, was auch klar ist.

muss ich bei der Location noch was angeben? 
URL Rewriting, Pfadpräfix, File System Root ,  Index File oder Automatic Index
Title: Re: http > https Dienste: Nginx
Post by: fabian on December 11, 2019, 05:30:55 pm
Die upstreams aber die wirst du schon haben.
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on December 11, 2019, 08:59:21 pm
so funktionierts ja
Code: [Select]
/danach werde ich auf meinen upstream server weitergeleitet


so nicht:
Code: [Select]
/server1/
also denke ich das das Problem bei der Location liegt
Title: Re: http > https Dienste: Nginx
Post by: fabian on December 11, 2019, 09:51:00 pm
mit der location gibts du an, auf welchen pfad du matchen willst - das wird  dann trotzdem so an den server weitergeleitet.

/server1/ als match bedeutet, dass du alles was gleich /server1/ ist oder darunter liegt, so an den server um upstream weiterleiten willst.

also www.example.com/server1/test geht an testip:80/server1/test. Alles wofür es keine spezielle Location gibt, landet im http server und damit vermutlich im nirgendwo.

Was du haben willst.

Willst du VHosts trennen, geht das anders:

HTTP Server 1 (server1.example.com) -> Location H1 (Match /) -> Upstream (1)
HTTP Server 2 (server2.example.com) -> Location H2 (Match /) -> Upstream (1)

(1) die können theoretisch ident sein, wenn beide webseiten am selben server liegen.
Title: Re: http > https Dienste: Nginx
Post by: pumuckl on December 12, 2019, 08:07:22 am
Das War eine Zangengeburt, jetzt funktionierte es und das Zertifikat passt auch.


Location: URL Pattern:  "/"

Beim HTTP Server habe ich bei Servername, die Domain meiner Anwendung anstatt von  "localhost" eingetragen.

vielen Dank Fabian

Ich hätte jetzt noch Fragen zur Sicherheit:

Meine 2 Webanwendungen werden von nginx mit Benutzer und Passwort(35 Zeichen) abgefragt .

Fasche Anfragen führen zu einem error not found.


Ich hab eine Limit Zone angelegt mit 10MB und 10 Zugriffen/Sekunde.

Schützt mich das von ddos und brut force?


Auf meine Webanwendungen greife <5 Personen / Geräte zu

Ist das sicher genug oder sollte ich noch etwas machen?

grüsse
Title: Re: http &gt; https Dienste: Nginx
Post by: fabian on December 13, 2019, 06:27:13 am
Mehr wirst du kaum machen können da es sonst nur noch die IP ACLs gibt. Gegen DDoS kannst du genau genommen gar nix machen.