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
$