Joka (Diskussion | Beiträge) |
|||
Zeile 1: | Zeile 1: | ||
{{article | {{article | ||
|type=Anleitung | |type=Anleitung | ||
+ | |os=Linux | ||
|service=Service:Housing und Hosting | |service=Service:Housing und Hosting | ||
|targetgroup=Angestellte,Studierende,Gäste | |targetgroup=Angestellte,Studierende,Gäste | ||
Zeile 9: | Zeile 10: | ||
|marker=Stub | |marker=Stub | ||
}} | }} | ||
− | + | Auf Servern im Hostingmodell OS setzt das IMT auf eine lokale Firewall auf dem Server, die mittels nftables realisiert wird. | |
+ | In dieser Anleitung werden konkrete Beispiele gegeben, um die Firewall wie gewünscht zu manipulieren. | ||
+ | == nftables == | ||
+ | Einen kurzen Überblick gibt es hier: https://wiki.nftables.org/wiki-nftables/index.php/Quick_reference-nftables_in_10_minutes | ||
− | == | + | === Struktur der IMT Regeln === |
− | + | Wir legen für ipv6 und ipv4 verschiedene Tabellen in nftables an. Diese heissen ip und ip6. | |
− | + | Im Normalfall sind für Kunden folgende Zeilen relevant: | |
+ | <syntaxhighlight lang="text"> | ||
+ | chain custom_rules { | ||
+ | tcp dport { mysql, 9200, 9300, 27017-27019 } jump log-reject comment "No remote access to mysql, mongodb, elasticsearch" | ||
+ | tcp dport ssh counter jump ssh comment "jump to ssh chain once" | ||
+ | tcp dport ssh counter jump admin_access comment "jump to ssh chain once" | ||
+ | tcp dport ssh counter jump log-reject comment "Drop everything ssh that was not allowed yet" | ||
+ | counter accept comment "Hosted Server accepts everything that is not explicitly filtered" | ||
+ | } | ||
+ | </syntaxhighlight> | ||
− | + | Somit wird automatisch der komplette Zugriff auf den Host freigegeben, der nicht in den Ports (22,3306,9200,9300,27017-27019) liegt. | |
− | + | Wollen Sie den Zugriff weiter einschränken, können Sie das über eine Datei in /etc/nftables.d realisieren. Es liegt bereits eine Beispieldatei im Ordner, an der Sie sich orientieren können. | |
− | === | + | === SSH Zugriff === |
− | + | Obwohl Sie ohne Probleme auch den SSH-Zugriff selber anlegen könnten, wäre es ratsam, diesen mit dem IMT abzustimmen, da in der Regel die Datacenter Firewall keinen SSH Zugriff von überall erlaubt, sondern nur von speziellen Jump-Hosts. | |
− | == | + | == docker == |
− | + | Falls Sie Docker auf Ihrem Server einsetzen wollen, dann sagen Sie uns bitte bescheid, damit wir docker korrekt konfigurieren können. Sonst kann es dazu führen, dass eine Änderung an den Regeln Anwendungen, die in docker Containern laufen, unerreichbar macht. | |
− | == | + | == Externe Firewalls == |
− | + | Bitte beachten Sie, dass ihr Server hinter weiteren Firewalls steht. Nur weil ein Port auf dem Server geöffnet wurde, heißt nicht, dass dieser automatisch aus dem Internet erreichbar ist. Bitte besprechen Sie das weitere Vorgehen mit dem IMT. | |
− | |||
− | |||
− | |||
− | |||
== Siehe auch == | == Siehe auch == | ||
− | + | [[Hosting - OS]] |
Version vom 1. März 2022, 16:48 Uhr
Anleitung | |
---|---|
Linux | |
Informationen | |
Betriebssystem | Linux |
Service | Housing und Hosting |
Interessant für | Angestellte, Studierende und Gäste |
Linux Portalseite |
This article is a stub. You can help us by expanding it. |
Auf Servern im Hostingmodell OS setzt das IMT auf eine lokale Firewall auf dem Server, die mittels nftables realisiert wird. In dieser Anleitung werden konkrete Beispiele gegeben, um die Firewall wie gewünscht zu manipulieren.
nftables[Bearbeiten | Quelltext bearbeiten]
Einen kurzen Überblick gibt es hier: https://wiki.nftables.org/wiki-nftables/index.php/Quick_reference-nftables_in_10_minutes
Struktur der IMT Regeln[Bearbeiten | Quelltext bearbeiten]
Wir legen für ipv6 und ipv4 verschiedene Tabellen in nftables an. Diese heissen ip und ip6. Im Normalfall sind für Kunden folgende Zeilen relevant:
chain custom_rules {
tcp dport { mysql, 9200, 9300, 27017-27019 } jump log-reject comment "No remote access to mysql, mongodb, elasticsearch"
tcp dport ssh counter jump ssh comment "jump to ssh chain once"
tcp dport ssh counter jump admin_access comment "jump to ssh chain once"
tcp dport ssh counter jump log-reject comment "Drop everything ssh that was not allowed yet"
counter accept comment "Hosted Server accepts everything that is not explicitly filtered"
}
Somit wird automatisch der komplette Zugriff auf den Host freigegeben, der nicht in den Ports (22,3306,9200,9300,27017-27019) liegt. Wollen Sie den Zugriff weiter einschränken, können Sie das über eine Datei in /etc/nftables.d realisieren. Es liegt bereits eine Beispieldatei im Ordner, an der Sie sich orientieren können.
SSH Zugriff[Bearbeiten | Quelltext bearbeiten]
Obwohl Sie ohne Probleme auch den SSH-Zugriff selber anlegen könnten, wäre es ratsam, diesen mit dem IMT abzustimmen, da in der Regel die Datacenter Firewall keinen SSH Zugriff von überall erlaubt, sondern nur von speziellen Jump-Hosts.
docker[Bearbeiten | Quelltext bearbeiten]
Falls Sie Docker auf Ihrem Server einsetzen wollen, dann sagen Sie uns bitte bescheid, damit wir docker korrekt konfigurieren können. Sonst kann es dazu führen, dass eine Änderung an den Regeln Anwendungen, die in docker Containern laufen, unerreichbar macht.
Externe Firewalls[Bearbeiten | Quelltext bearbeiten]
Bitte beachten Sie, dass ihr Server hinter weiteren Firewalls steht. Nur weil ein Port auf dem Server geöffnet wurde, heißt nicht, dass dieser automatisch aus dem Internet erreichbar ist. Bitte besprechen Sie das weitere Vorgehen mit dem IMT.