¿Cómo puedo encontrar reglas y configuraciones de firewall a través de la línea de comando en Linux?

¿Cómo puedo encontrar reglas y configuraciones de firewall a través de la línea de comando en Linux?

Estoy escribiendo un script para encontrar todos los detalles del firewall, información de enrutamiento y redes importantes relacionadas a través de la línea de comando. Puedo recuperar la configuración del firewall iptables -nvL, pero no estoy seguro del resto. ¿Qué comandos debo usar para reunir todo lo demás?

Respuesta1

Puede obtener el estado de la interfaz mediante:

ifconfig

O mejor aún, use el comando "ip", por ejemplo:

ip addr

Para obtener la información de la ruta, utilice uno de estos:

route
route -n #no ptr resolving
ip route

Para reglas de firewall, use:

iptables -L # you can add -n to prevent name resolving

Para IPv6 puede agregar "-6" a los comandos "ip":

ip -6 addr
ip -6 route
...

También puede consultar "ethtool" para obtener el estado del enlace y la velocidad/dúplex:

ethtool eth0 

Respuesta2

routel

Enumere mucha información, aunque en una forma que no sea realmente legible, pero es un volcado completo de todas las tablas de enrutamiento del host y brinda suficiente información para reconstituir la configuración de IP en el host. Esta información no es lo suficientemente completa como para reconstituir el enrutamiento de políticas. Si usas eso, también necesitarás ip rule. De todos modos, como ejemplo, para IPv4 (incluso si también aparece IPv6):

# list all interfaces addresses (unicast/broadcast/anycast)
routel | grep "local"
# list all (except ipv6 link-local) addresses of interfaces
routel | grep "local" | grep "host"
# list all broadcast addresses of interfaces
routel | grep "local" | grep "link"
# list all routing entries
routel | grep -v "local" | grep -v "unspec"
# list all on-link routing entries
routel | grep -v "local" | grep -v "unspec" | grep "link"
# list all on-link routing entries that are added by the kernel, 
# (which also matches the netmask of the IP addresses).
routel | grep -v "local" | grep -v "unspec" | grep "link" | grep "kernel"
# list non-on-link routes (aka gatewayed or routed)
routel | grep -v "local" | grep -v "unspec" | grep -v "link" 

A diferencia de ip routela década de 1999 route, route enumera todas las tablas de enrutamiento, mientras que el otro solo enumera la maintabla. Si alguien usa enrutamiento de políticas, no obtendrá pistas al usar ip route, mientras que routel le deletreará el nombre de las tablas de enrutamiento.

Además, es posible que desees desechar los controles sysctl para saber si alguien habilitó el reenvío, el proxy ARP o alguna otra cosa rara. solo tirasysctl -a

Si desea indicadores o información de interfaz más completa, descargue también el archivo ip addr. Es posible que una configuración realmente especial necesite más, como ip linko ip tunnel.

En cuanto a la configuración del firewall, existe iptables-saveo iptables-save -csi quieres también contadores. Esto enumerará todas las tablas (y no solo filtercomo iptables -L o iptables -S). Incluso puede usar iptables-restorela salida de iptables-save y restaurar su configuración.

Respuesta3

El comando para imprimir reglas de iptables existentes es así:

iptables-L

Respuesta4

Puede ver si hay CSF Firewall instalado.

/etc/csf/csf.conf

información relacionada