在Ubuntu系统中,可以使用多种工具和方法来监控防火墙的状态和活动。以下是一些常用的方法和工具:
查看防火墙状态:
sudo ufw status
或者使用更详细的版本:
sudo ufw status verbose
输出结果里,Status: active
意味着防火墙正在运行,而Status: inactive
则表示防火墙未开启。
查看防火墙规则:
sudo ufw show raw # 查看原始规则
sudo ufw show added # 查看已添加的规则
如果要查看按端口排序的规则:
sudo ufw status numbered
查看应用程序配置文件:
sudo ufw app list
若要查看某个应用程序的详细配置:
sudo ufw app info "应用名称"
查看端口开放情况:
sudo ufw status | grep "ALLOW"
或者使用netstat
命令(需要先安装net-tools
):
sudo netstat -tulpn | grep LISTEN
查看防火墙日志:
sudo tail -f /var/log/ufw.log
如果防火墙日志功能未开启,可以使用以下命令启用:
sudo ufw logging on
查看所有规则:
sudo iptables -L -v -n
sudo iptables -L INPUT -v -n
sudo iptables -L -v -n --line-numbers
日志记录: 可以配置iptables规则来记录特定类型的网络流量。例如,记录所有进入和离开的TCP流量:
iptables -A INPUT -p tcp -j LOG --log-prefix "IPTABLES_LOG: "
iptables -A OUTPUT -p tcp -j LOG --log-prefix "IPTABLES_LOG: "
这些规则会将匹配的流量记录到系统日志中,可以使用journalctl
或dmesg
命令查看这些日志。
查看所有规则:
sudo nft list ruleset
sudo nft list table ip filter
sudo nft list chain ip filter input
日志记录:
nft add table ip filter
nft add chain ip filter log_traffic { type filter hook input priority 0 \; }
nft add rule ip filter log_traffic tcp dport 80 -j log prefix "IPTABLES_LOG: "
nft add rule ip filter log_traffic tcp sport 80 -j log prefix "IPTABLES_LOG: "
这些规则会将匹配的流量记录到系统日志中。
iftop:实时显示网络接口上的流量。
sudo apt-get install iftop # Debian/Ubuntu
sudo iftop -i eth0
nload:显示网络接口的实时流量统计。
sudo apt-get install nload # Debian/Ubuntu
nload
vnstat:记录并报告网络接口的流量统计。
sudo apt-get install vnstat # Debian/Ubuntu
sudo systemctl start vnstat
vnstat -i eth0
通过上述方法,您可以有效地监控Ubuntu系统中的防火墙状态和活动,确保系统的安全性。