Under Construction
hmc lsfirewall
Verfügbar: ab 1.9.1.0
Mit dem Kommando „hmc lsfirewall“ können die aktuell verwendeten Firewall Regeln einer HMC angezeigt werden.
lsfirewall [-o <format>] [{-f|-j|-y}] [-F <fields>] [-s <selections>] [-4] [-6] [-v] <hmc> [<interface>|<application>|<ports>|<allowedhost>|<selection> ...]
-4 # show rules for IPv4 (default)
-6 # show rules for IPv6
Per Default werden Firewall Regeln für IPv4 angezeigt, im einfachsten Falle alle aktuellen Regeln:
$ hmc lsfirewall hmc01
APPLICATION INTERFACE PORTS ALLOWEDHOST
FCS eth0 9920:tcp,udp:9900 0.0.0.0/0.0.0.0
FCS eth1 9920:tcp,udp:9900 0.0.0.0/0.0.0.0
FCS eth2 9920:tcp,udp:9900 0.0.0.0/0.0.0.0
FCS eth3 9920:tcp,udp:9900 0.0.0.0/0.0.0.0
RMC eth0 657:udp,tcp:657 0.0.0.0/0.0.0.0
RMC eth1 657:udp,tcp:657 0.0.0.0/0.0.0.0
RMC eth2 657:udp,tcp:657 0.0.0.0/0.0.0.0
RMC eth3 657:udp,tcp:657 0.0.0.0/0.0.0.0
RPD eth0 12347:udp,udp:12348 0.0.0.0/0.0.0.0
RPD eth1 12347:udp,udp:12348 0.0.0.0/0.0.0.0
RPD eth2 12347:udp,udp:12348 0.0.0.0/0.0.0.0
RPD eth3 12347:udp,udp:12348 0.0.0.0/0.0.0.0
SLP eth0 427:udp 0.0.0.0/0.0.0.0
SLP eth1 427:udp 0.0.0.0/0.0.0.0
SLP eth2 427:udp 0.0.0.0/0.0.0.0
SLP eth3 427:udp 0.0.0.0/0.0.0.0
SecureRemoteAccess eth0 443:tcp,tcp:12443,tcp:9960 0.0.0.0/0.0.0.0
ntp eth0 123:udp 172.20.191.7/255.255.255.255
ntp eth1 123:udp 172.20.230.7/255.255.255.255
ping eth2 echo-request:icmp 0.0.0.0/0.0.0.0
ping eth3 echo-request:icmp 0.0.0.0/0.0.0.0
ssh eth0 22:tcp 0.0.0.0/0.0.0.0
$
Wird IPv6 verwendet, können, anstelle der IPv4 Regeln, durch Verwenden der Option „-6“ die Regeln für IPv6 angezeigt werden:
$ hmc lsfirewall -6 hmc01
APPLICATION INTERFACE PORTS ALLOWEDHOST
FCS eth0 9920:tcp6,udp6:9900 ::/::
FCS eth1 9920:tcp6,udp6:9900 ::/::
FCS eth2 9920:tcp6,udp6:9900 ::/::
FCS eth3 9920:tcp6,udp6:9900 ::/::
RMC eth0 657:udp6,tcp6:657 ::/::
RMC eth1 657:udp6,tcp6:657 ::/::
RMC eth2 657:udp6,tcp6:657 ::/::
RMC eth3 657:udp6,tcp6:657 ::/::
RPD eth0 12347:udp6,udp6:12348 ::/::
RPD eth1 12347:udp6,udp6:12348 ::/::
RPD eth2 12347:udp6,udp6:12348 ::/::
RPD eth3 12347:udp6,udp6:12348 ::/::
SLP eth0 427:udp6 ::/::
SLP eth1 427:udp6 ::/::
SLP eth2 427:udp6 ::/::
SLP eth3 427:udp6 ::/::
SecureRemoteAccess eth0 443:tcp6,tcp6:12443,tcp6:9960 ::/::
ssh eth0 22:tcp6 ::/::
$
Hinweis: Sollen sowohl IPv4 als auch IPv6 Regeln angezeigt werden, dann müssen die beiden Optionen „-4“ (IPv4) und „-6“ (IPv6) gleichzeitig verwendet werden.
Es wird jeweils der Applikations/Service Name, das Interface, die zugehörigen Netzwerk-Ports und die erlaubten IP-Adressen angezeigt. Die Regeln beziehen sich generell ausschließlich auf eingehenden IP-Traffic. Für ausgehenden IP-Traffic gibt es keine Regeln.
Weitere Firewall Regeln können mit den Kommandos „hmc addfirewall“ hinzugefügt bzw. mit „hmc rmfirewall“ auch wieder weggenommen werden.
Sollen nur bestimmte Regeln angezeigt werden, können entweder die Option „-s“ und „-S“ für Selektionen verwendet werden, oder die gewünschten Regeln können auch über zusätzliche Argumente ausgewählt werden. Hierbei können die Attribute application, interface, ports und allowedhost zusammen mit „=“ (exakte Übereinstimmung), „~“ (Regular Expression Match), „!=“ (Negation exakte Übereinstimmung) und „!~“ (Negation Regular Expression Match) verwendet werden.
Damit lassen sich auf einfache Weise gezielt Firewall Regeln für die Anzeige auswählen, z.B. nur Regeln für das Interface eth0 anzeigen:
$ hmc lsfirewall hmc01 interface=eth0
APPLICATION INTERFACE PORTS ALLOWEDHOST
FCS eth0 9920:tcp,udp:9900 0.0.0.0/0.0.0.0
RMC eth0 657:udp,tcp:657 0.0.0.0/0.0.0.0
RPD eth0 12347:udp,udp:12348 0.0.0.0/0.0.0.0
SLP eth0 427:udp 0.0.0.0/0.0.0.0
SecureRemoteAccess eth0 443:tcp,tcp:12443,tcp:9960 0.0.0.0/0.0.0.0
ntp eth0 123:udp 172.20.191.7/255.255.255.255
ssh eth0 22:tcp 0.0.0.0/0.0.0.0
$
Oder nur Regeln bei denen die Ports auf den regulären Ausdruck 657 matchen:
$ hmc lsfirewall hmc01 ports~657
APPLICATION INTERFACE PORTS ALLOWEDHOST
RMC eth0 657:udp,tcp:657 0.0.0.0/0.0.0.0
RMC eth1 657:udp,tcp:657 0.0.0.0/0.0.0.0
RMC eth2 657:udp,tcp:657 0.0.0.0/0.0.0.0
RMC eth3 657:udp,tcp:657 0.0.0.0/0.0.0.0
$
Bei der Variante mit der exakten Übereinstimmung kann auch der Attribut-Name weggelassen werden. Damit lassen sich die Regeln für das Interface eth0 noch einfacher durch das folgende Kommando anzeigen:
$ hmc lsfirewall hmc01 eth0
APPLICATION INTERFACE PORTS ALLOWEDHOST
FCS eth0 9920:tcp,udp:9900 0.0.0.0/0.0.0.0
RMC eth0 657:udp,tcp:657 0.0.0.0/0.0.0.0
RPD eth0 12347:udp,udp:12348 0.0.0.0/0.0.0.0
SLP eth0 427:udp 0.0.0.0/0.0.0.0
SecureRemoteAccess eth0 443:tcp,tcp:12443,tcp:9960 0.0.0.0/0.0.0.0
ntp eth0 123:udp 172.20.191.7/255.255.255.255
ssh eth0 22:tcp 0.0.0.0/0.0.0.0
$
Es können auch mehrere Ausdrücke angegeben werden, diese werden mit einem logischen ODER verknüpft. Die Regeln für das Interface eth0 oder die Applikation RMC lassen sich dann wie folgt zusammen anzeigen:
$ hmc lsfirewall hmc01 eth0 RMC
APPLICATION INTERFACE PORTS ALLOWEDHOST
FCS eth0 9920:tcp,udp:9900 0.0.0.0/0.0.0.0
RMC eth0 657:udp,tcp:657 0.0.0.0/0.0.0.0
RMC eth1 657:udp,tcp:657 0.0.0.0/0.0.0.0
RMC eth2 657:udp,tcp:657 0.0.0.0/0.0.0.0
RMC eth3 657:udp,tcp:657 0.0.0.0/0.0.0.0
RPD eth0 12347:udp,udp:12348 0.0.0.0/0.0.0.0
SLP eth0 427:udp 0.0.0.0/0.0.0.0
SecureRemoteAccess eth0 443:tcp,tcp:12443,tcp:9960 0.0.0.0/0.0.0.0
ntp eth0 123:udp 172.20.191.7/255.255.255.255
ssh eth0 22:tcp 0.0.0.0/0.0.0.0
$