Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
SNMP blockieren (iptables)?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Hilefoks
l33t
l33t


Joined: 29 Jan 2003
Posts: 849
Location: Emden / Deutschland

PostPosted: Thu Dec 20, 2018 9:48 am    Post subject: SNMP blockieren (iptables)? Reply with quote

Moin,

ich muss meinen Rechner abgewöhnen SNMP Pakete ins Netzwerk zu schicken.
Insbesondere auch dann, wenn diese aus einer virtuellen Maschine kommen.

Leider habe ich keine Ahnung von iptables und Co.

Kann mir jemand helfen?

MfG,
Hilefoks
_________________
- Der Computer rechnet vor allem damit, dass der Mensch denkt. -
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1305
Location: Frankfurt, Germany

PostPosted: Thu Dec 20, 2018 10:56 am    Post subject: Reply with quote

Hallo Hilefoks,

1) Wie heißt Dein Netzwerk-Interface? eth0?

2) Hänge Dich mit tcpdump oder Wireshark an Dein Netzwerk-Interface und schaue, welche Pakete Du filtern willst. Vermutlich alle ausgehenden Pakete mit Destination-Port 161 und 162? Nur IPv4? Oder auch IPv6?

3) Erzähl uns, wie Deine VMs an dem Netzwerk-.Interface hängen. Über eine Bridge?

4) Poste bitte die Ausgabe von 'ifconfig -a' und 'iptables -L -v -n', letzteres natürlich nur, wenn keine 'geheimen' Regeln ausgegeben werden.

Mike
Back to top
View user's profile Send private message
Hilefoks
l33t
l33t


Joined: 29 Jan 2003
Posts: 849
Location: Emden / Deutschland

PostPosted: Thu Dec 20, 2018 4:41 pm    Post subject: Reply with quote

mike155 wrote:
1) Wie heißt Dein Netzwerk-Interface? eth0?
Das Interface ist enp0s31f6

mike155 wrote:
2) Hänge Dich mit tcpdump oder Wireshark an Dein Netzwerk-Interface und schaue, welche Pakete Du filtern willst. Vermutlich alle ausgehenden Pakete mit Destination-Port 161 und 162? Nur IPv4? Oder auch IPv6?
IPv4 und IPv6. SNMP-Standardports blockieren wäre schon ein guter Anfang.

tcpdump etc muss leider ausfallen. Jedes weitere SNMP Paket würde hier die nächste Panikwelle auslösen. Ich befinde mich in einem Unternehmens-Netzwerk mit MS-Only-Admins und einem ganz wunderbaren Intrusion Detection System. *gr*

mike155 wrote:
3) Erzähl uns, wie Deine VMs an dem Netzwerk-.Interface hängen. Über eine Bridge?
Ehrlich gesagt hatte ich auf eine allgemeine Lösung gehofft. Aufgefallen ist es einmal mit CUPS auf der Host-Maschine, ein weiteres mal mit Ubuntu in einer VirtualBox (wahrscheinlich auch CUPS). Ich verwende aber häufiger mal neue Software und auch Docker, qemu und vieles mehr.

mike155 wrote:
4) Poste bitte die Ausgabe von 'ifconfig -a' und 'iptables -L -v -n', letzteres natürlich nur, wenn keine 'geheimen' Regeln ausgegeben werden.
Code:

$ ifconfig -a
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.34.16  netmask 255.255.0.0  broadcast 10.5.255.255
        inet6 fe84::32eb:ccee:1f1b:5925  prefixlen 64  scopeid 0x20<link>
        ether 48:4d:7e:e3:cd:db  txqueuelen 1000  (Ethernet)
        RX packets 6555314  bytes 6655652358 (6.6 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1354432  bytes 111740934 (111.7 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xf7100000-f7120000 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 15288  bytes 3681105 (3.6 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15288  bytes 3681105 (3.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



Code:

# iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination   

_________________
- Der Computer rechnet vor allem damit, dass der Mensch denkt. -
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1305
Location: Frankfurt, Germany

PostPosted: Thu Dec 20, 2018 5:16 pm    Post subject: Reply with quote

Ich verstehe was Du willst. Aber ohne dass Du mit tcpdump schaust, welche Pakete Du genau filtern willst, wird es schwierig. Erfahrungsgemäß ist das ein langwieriger Prozess:
  • Man schaut sich mit tcpdump/wireshark den Traffic an und und identifiziert Pakete, die weggefiltert werden sollen
  • Man überlegt sich passende Firewall-Regeln dazu
  • Man spielt die Regeln ein und überprüft anschließend, ob sie den gewünschten Effekt erzielen
  • Man geht wieder zu Punkt 1
Die Alternative dazu ist (und das ist das, was ich meistens mache): ich lasse erst einmal gar nichts durch und füge dann Regeln hinzu, mit denen ich einzelne Verbindungen zulasse.

Aber zu Deiner Frage: wie kann man ausgehenden SNMP-Verkehr am Interface enp0s31f6 ausfiltern:
Code:
/sbin/iptables -A OUTPUT  -o enp0s31f6 -p udp --dport 161 -j DROP
/sbin/iptables -A OUTPUT  -o enp0s31f6 -p udp --dport 162 -j DROP
/sbin/iptables -A OUTPUT  -o enp0s31f6 -p tcp --dport 161 -j DROP
/sbin/iptables -A OUTPUT  -o enp0s31f6 -p tcp --dport 162 -j DROP
/sbin/iptables -A FORWARD -o enp0s31f6 -p udp --dport 161 -j DROP
/sbin/iptables -A FORWARD -o enp0s31f6 -p udp --dport 162 -j DROP
/sbin/iptables -A FORWARD -o enp0s31f6 -p tcp --dport 161 -j DROP
/sbin/iptables -A FORWARD -o enp0s31f6 -p tcp --dport 162 -j DROP

Falls Dein Rechner aus dem Netz hinter enp0s31f6 mit SNMP überwacht wird, würde Dein Rechner mit den o.g. Regeln unsichtbar werden. In diesem Fall bräuchtest Du andere Regeln, die nur SNMP-Pakete von Deinen VMs, nicht jedoch die SNMP-Pakete von Eurer SNMP-Überwachung entfernen.

Mit folgender Anweisung werden die aktiven Regeln angezeigt:
Code:
/sbin/iptables -L -v -n
In der ersten Spalte sieht man, für wie viele Pakete eine Regel gegriffen hat. Man kann also überprüfen, ob die Regeln wirken.

Mit folgender Anweisung löscht man alle Regeln wieder - man kommt also zurück zum Anfangszustand .
Code:
/sbin/iptables -F
Back to top
View user's profile Send private message
Hilefoks
l33t
l33t


Joined: 29 Jan 2003
Posts: 849
Location: Emden / Deutschland

PostPosted: Fri Dec 21, 2018 9:39 am    Post subject: Reply with quote

Danke, das hilft schonmal.

Ich verstehe das ich am Ende mit Wireshark/tcpdump schauen muss. Aber erstmal gar nichts durchlassen und dann einzelne Verbindungen wieder freigeben ist eine gute Idee.

mike155 wrote:
Falls Dein Rechner aus dem Netz hinter enp0s31f6 mit SNMP überwacht wird, würde Dein Rechner mit den o.g. Regeln unsichtbar werden.

Mein Betriebssystem habe ich komplett selbst in der Hand - natürlich Gentoo in meinem Fall (und alles andere in VMs). Die Hardware aber natürlich nicht. Keine Ahnung was mit der Firmware (IME etc.) möglich ist.

Aber selbst wenn ich wollte könnte ich doch mit iptables nicht die Funktionen der Firmware beeinflussen, oder?
_________________
- Der Computer rechnet vor allem damit, dass der Mensch denkt. -
Back to top
View user's profile Send private message
toralf
Developer
Developer


Joined: 01 Feb 2004
Posts: 3690
Location: Hamburg

PostPosted: Fri Dec 21, 2018 9:50 am    Post subject: Reply with quote

Und wenn die Portanzahl nach oben schnellt, hilft "multiport", z.B.:
Code:
/sbin/iptables -A OUTPUT  -o enp0s31f6 -p udp  --match multiport --dports 161,162 -j DROP
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1305
Location: Frankfurt, Germany

PostPosted: Fri Dec 21, 2018 10:41 am    Post subject: Reply with quote

Quote:
Aber erstmal gar nichts durchlassen und dann einzelne Verbindungen wieder freigeben ist eine gute Idee.

Wenn Du diesen Weg gehen willst: mit
Code:
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P INPUT DROP

sperrt man sämtlichen Verkehr. Dann kann man mit ACCEPT-Regeln den Verkehr freigeben, den man durchlassen will. In den meisten Fällen muss man jetzt etliche Regeln definieren, weil man ICMP, DHCP, NTP, DNS, HTTP/HTTPS usw. benötigt.

Mit folgenden Anweisungen stellt man wieder den Ausgangszustand her:
Code:
/sbin/iptables -F
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P INPUT ACCEPT
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2042
Location: My own world! I and Gentoo!

PostPosted: Fri Dec 21, 2018 11:18 am    Post subject: Reply with quote

Bevor man die DROP Policys stellt sollte man aber vorher zumindest ESTABLISHED und RELATED TCP Pakete akzeptieren... sonst könnte man sich selbst unter Umständen direkt aussperren.

INVALID können gedroppt werden.

Dinge über das Interface lo können (in der Regel) grundlos accepted werden.
Und icmp willst du evtl ebenfalls direkt können.

Das z.B. ist ein etwas reduziertes Standardset an Regeln die ich auf meinen Servern grundsätzlich deploye... ansonsten kann es nervig und aufwendig werden... je nach verfügbaren Zugriffsmustern.

Code:

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i enp0s31f6 -p tcp --dports 22 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -p icmp -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-P OUTPUT DROP
-P INPUT DROP
-P FORWARD DROP


In der Firma nutze ich übrigens (da ich nicht der einzige bin der hier die Server managen können muss) shorewall für die Verwaltung der Firewall und Netzwerkrelated sysctl Optionen.
Privat nutze ich ein eigenes firewalling Skript das mir den Regelsatz zusammenbaut.
_________________
mfg
Steel
___________________
Sorry for my bad English.

Heim-PC: Intel i7-5820K, 32GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-3470S, 16GB RAM, Intel Graphic
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum