Adguard Server Absicherung
Hallo,
ich möchte mir Adguard Home auf ewinem Server installieren.
Der Server an sich ist bereits abgesichert mit ufw, fail2ban, keine unnötigen Ports offen, anderer SSH Port, SSH Certs, etc.
Adgaurd soll nur als DoT betrieben werden, kein DHCP etc.
Welche Sicherheitsmaßnahmen würdet Ihr ergreifen, damit nicht jeder meine Adguard Instanz mit Anfragen flutet?
Danke
ich möchte mir Adguard Home auf ewinem Server installieren.
Der Server an sich ist bereits abgesichert mit ufw, fail2ban, keine unnötigen Ports offen, anderer SSH Port, SSH Certs, etc.
Adgaurd soll nur als DoT betrieben werden, kein DHCP etc.
Welche Sicherheitsmaßnahmen würdet Ihr ergreifen, damit nicht jeder meine Adguard Instanz mit Anfragen flutet?
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7628122721
Url: https://administrator.de/forum/adguard-server-absicherung-7628122721.html
Ausgedruckt am: 22.12.2024 um 06:12 Uhr
13 Kommentare
Neuester Kommentar
Kardinalsfrage: Ist das ein öffentlicher oder ein lokaler Server?
Wenn öffentlich, richtest du dir mit der nftables einen Filter ein der TCP und UDP 53 nur von ganz bestimmten IP Adressen zulässt die nur deine eigenen Clients benutzen.
So könnte eine /etc/nftables.conf damit aussehen:
a.b.c.0/24 und d.e.0.0/16 und ggf. mehr Absender die du erlauben willst lässt du mit den entsprechenden Netz- oder Hostadressen passieren.
Wenn öffentlich, richtest du dir mit der nftables einen Filter ein der TCP und UDP 53 nur von ganz bestimmten IP Adressen zulässt die nur deine eigenen Clients benutzen.
So könnte eine /etc/nftables.conf damit aussehen:
#!/usr/sbin/nft -f
flush ruleset
define pub_iface = "eth0"
define ssh_port = 52222
define DNS_NETS = {
a.b.c.0/24, d.e.0.0/16
}
table inet drop-bad-ct-states {
chain prerouting {
type filter hook prerouting priority -150; policy accept;
# drop packets in "invalid" connection-tracking state
ct state invalid drop
# drop tcp packets for new connections that aren't syn packets
tcp flags & (fin|syn|rst|ack) != syn ct state new counter drop
# drop XMAS packets.
tcp flags & (fin|syn|rst|psh|ack|urg) == fin|syn|rst|psh|ack|urg counter drop
# drop NULL packets.
tcp flags & (fin|syn|rst|psh|ack|urg) == 0x0 counter drop
# drop new connections over rate limit
ct state new limit rate over 1/second burst 10 packets drop
}
}
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
# accept any localhost traffic
iif lo accept
# accept traffic originated from us
ct state established,related accept
# accepted ICMP types
# ip protocol icmp icmp type {echo-request, echo-reply, time-exceeded, parameter-problem, destination-unreachable } accept
ip protocol icmp icmp type {time-exceeded, parameter-problem, destination-unreachable } accept
# accept common local TCP services on public interface
# tcp dport { ssh, http, https } ct state new accept
iif $pub_iface tcp dport { $ssh_port } ct state new accept
# accepted DNS on public interface
iif $pub_iface udp saddr $DNS_NETS dport { dns } accept
iif $pub_iface tcp saddr $DNS_NETS dport { dns } accept
# accept neighbour discovery otherwise IPv6 connectivity breaks.
ip6 nexthdr icmpv6 icmpv6 type { nd-neighbor-solicit, nd-router-advert, nd-neighbor-advert } accept
# log and count dropped traffic
# log prefix "[nftables]Denied: " counter drop
# only count dropped traffic
counter drop
}
chain forward {
type filter hook forward priority 0;
}
chain output {
type filter hook output priority 0;
}
}
UFW im Einsatz kein nftables.
Leider recht sinnfreie Antwort! ☹️Es bleibt also bei der Firewall und dem o.a. Regelwerk. Ob du das per UFW, KlickiBunti oder Konf Datei eingibst ist doch völlig Wumpe. iptables werden kaum noch verwendet da der Nachfolger bekanntlich nftables sind!
Alle Debian basierten Distros (zu denen auch Ubuntu gehört) nutzen seit Bullseye nur noch nftables!
Moin,
Unabhängig davon habe ich meine privaten Instanzen mit einem Geo IP Filter versehen. Permanent ist der Zugriff aus Deutschland möglich. Temporär nehme ich zusätzlich das Land auf, in dem ich geschäftlich oder im Urlaub bin.
Gruß,
Dani
Welche Sicherheitsmaßnahmen würdet Ihr ergreifen, damit nicht jeder meine Adguard Instanz mit Anfragen flutet?
ich kann mir nicht vorstellen, dass der Service auf Port 853/tcp (DoT) geflutet wird.Unabhängig davon habe ich meine privaten Instanzen mit einem Geo IP Filter versehen. Permanent ist der Zugriff aus Deutschland möglich. Temporär nehme ich zusätzlich das Land auf, in dem ich geschäftlich oder im Urlaub bin.
Gruß,
Dani
Schwierig umzusetzten, wenn man keine feste IP hat
Die bewegt sich ja aber immer in einem größeren Bereich also machst du die Maske halt entsprechend groß. Oder blockst zumindestens mit GeoIPs nur die Länder wo du Requests haben willst.https://wiki.nftables.org/wiki-nftables/index.php/GeoIP_matching
Es gibt ja viele Wege nach Rom.... Ansonsten bleibt dir ja nur offen lassen.
Wenn es das denn nun war bitte deinen Thread auch als erledigt schliessen!
Moin,
Gruß,
Dani
Wenn ich Adguard nur über DoT nutzen will, das Adminmenü nicht dauern auffrufen will, kann ich doch alle Ports (also 53 TCP & UDP, 80, 443, und 3000) bis auf 853 TCP dicht machen, oder
Die erste Antwort lautet Ja, wenn du das SSL-Zertifikat über DNS Challenge abrufst. Wenn du dagegen HTTP Challenge nutzt, muss auch der Port 80 offen ein.Gruß,
Dani
Kollege @Dani hat es schon gesagt. Das ist richtig, die kannst du dann dichtmachen und brauchst nur noch TCP 853. Zumindestens für den Adguard wenn er seinen DoT Upstream DNS befragt. Die lokalen Clients kommen natürlich weiter mit TCP/UDP 53 auf den Adguard zu.
Nimmt dir immer deinen besten Freund für sowas den Wireshark oder auch tcpdump (apt install tcpdump) zur Hand dann kannst du das selber ganz wunderbar sehen ohne Foren befragen zu müssen... 😉
Was allerdings der HBCI Port fürs Banking dort zu suchen hast weisst vermutlich wohl nur du selber?! 🤔
https://www.iana.org/assignments/service-names-port-numbers/service-name ...
Ebenso 80, denn DoH nutzt nur 443.
Nimmt dir immer deinen besten Freund für sowas den Wireshark oder auch tcpdump (apt install tcpdump) zur Hand dann kannst du das selber ganz wunderbar sehen ohne Foren befragen zu müssen... 😉
Was allerdings der HBCI Port fürs Banking dort zu suchen hast weisst vermutlich wohl nur du selber?! 🤔
https://www.iana.org/assignments/service-names-port-numbers/service-name ...
Ebenso 80, denn DoH nutzt nur 443.
Wenn es das denn nun war bitte deinen Thread hier dann auch als erledigt schliessen!