当前位置: 首页 > 科技观察

Linux防火墙ufw简介

时间:2023-03-14 19:26:16 科技观察

让我们来看看Linux上的ufw(简单防火墙),给你一些见解和命令来改变你的防火墙。ufw(UncomplicatedFirewallUncomplicatedFireWall)确实简化了iptables,几年来一直是Ubuntu和Debian等系统上的默认防火墙。而且ufw非常简单,这对于新管理员来说是一个福音,否则他们可能不得不投入大量时间来学习防火墙管理。ufw也有GUI客户端(例如gufw),但ufw命令通常在命令行上执行。本文介绍了一些使用ufw的命令并研究了它的工作原理。首先,检查ufw配置的一种快速方法是查看其配置文件-/etc/default/ufw.conf使用以下命令查看其配置,使用grep抑制空行和注释(#开头的行)的显示。$grep-v'^#\|^$'/etc/default/ufwIPV6=yesDEFAULT_INPUT_POLICY="DROP"DEFAULT_OUTPUT_POLICY="ACCEPT"DEFAULT_FORWARD_POLICY="DROP"DEFAULT_APPLICATION_POLICY="SKIP"MANAGE_BUILTINS=noIPT_SYSCTL=w/etc/uconfIPT_MODULES=“nf_conntrack_ftpnf_nat_ftpnf_conntrack_netbios_ns”如您所见,默认策略是丢弃输入但允许输出。允许您接受特定连接的其他规则是单独配置的。ufw命令的基本语法如下所示,但这个概要并不意味着您只需键入ufw,而是一个快速提示,告诉您哪些参数是必需的。ufw[--dry-run][options][rulesyntax]--dry-run选项表示ufw不会运行您指定的命令,但会显示执行后的结果。但如果更改,它将显示整个规则集,因此请为多行输出做好准备。要检查ufw的状态,请运行以下命令。请注意,即使此命令也需要sudo或root帐户。$sudoufwstatusStatus:activeToActionFrom------------22ALLOW192.168.0.0/249090ALLOWAnywhere9090(v6)ALLOWAnywhere(v6)否则,您将看到以下内容:$ufwstatusERROR:You需要root才能运行此脚本加上详细选项将提供一些额外的详细信息:$sudoufwstatusverboseStatus:activeLogging:on(低)默认值:拒绝(传入),允许(传出),禁用(路由)新配置文件:skipToActionFrom------------22ALLOWIN192.168.0.0/249090ALLOWINAnywhere9090(v6)ALLOWINAnywhere(v6)您可以通过端口号轻松允许和拒绝连接:$sudoufwallow80<==允许http访问$sudoufwdeny25<==拒绝smtp访问您可以查看/etc/services文件以找到端口号和服务名称之间的联系。$grep80//etc/serviceshttp80/tcpwww#WorldWideWebHTTPsocks1080/tcp#socks代理服务器socks1080/udphttp-alt8080/tcpwebcache#WWW缓存服务http-alt8080/udpamanda10080/tcp#amandabackupservicesamanda10085680/tcp#cannaserver或者,您可以直接在命令中使用服务的名称。$sudoufwallowhttpRuleaddedRuleadded(v6)$sudoufwallowhttpsRuleaddedRuleadded(v6)进行更改后,您应该再次检查状态以查看它是否处于活动状态:$sudoufwstatusStatus:activeToActionFrom------------22ALLOW192.168.0.0/249090ALLOWAnywhere80/tcpALLOWAnywhere<==443/tcpALLOWAnywhere<==9090(v6)ALLOWAnywhere(v6)80/tcp(v6)ALLOWAnywhere(v6)<==443/tcp(v6)ALLOWAnywhere(v6)<==ufw遵循的规则存储在/etc/ufw目录中。请注意,您需要root权限才能查看这些文件,每个文件都包含大量规则。$ls-ltr/etc/ufwtotal48-rw-r--r--1rootroot1391Aug152017sysctl.conf-rw-r-----1rootroot1004Aug172017after.rules-rw-r-----1rootroot915Aug172017after6.rules-rw-r-----1rootroot1130Jan52018before.init-rw-r-----1rootroot1126Jan52018after.init-rw-r-----1rootroot2537Mar252019before.rules-rw-r-----1rootroot6700Mar252019before6.rulesdrwxr-xr-x3rootroot409611月12日08:21applications.d-rw-r--r--1rootroot313Mar1817:30ufw.conf-rw-r-----1rootroot1711Mar1910:42user.rules-rw-r-----1rootroot1530Mar1910:42user6.rules在本文前面所做的更改,在user.rules和user6中添加用于http访问的端口80和用于https访问的端口443。规则文件如下所示:#grep"80"user*.rulesuser6.rules:###tuple###allowtcp80::/0any::/0inuser6.rules:-Aufw6-user-input-ptcp--dport80-jACCEPTuser.rules:###tuple###allowtcp800.0.0.0/0any0.0.0.0/0inuser.rules:-Aufw-user-input-ptcp--dport80-j接受你哈/var/mail/root中有新邮件#grep443user*.rulesuser6.rules:###tuple###allowtcp443::/0any::/0inuser6.rules:-Aufw6-user-input-ptcp--dport443-jACCEPTuser.rules:###tuple###allowtcp4430.0.0.0/0any0.0.0.0/0inuser.rules:-Aufw-user-input-ptcp--dport443-jACCEPT使用ufw,您还可以轻松阻止来自一个IP地址的连接:$sudoufwdenyfrom208.176.0.50Ruleaddedstatus该命令将显示更改:$sudoufwstatusverboseStatus:activeLogging:on(low)Default:拒绝(传入),允许(传出),禁用(路由)新配置文件:skipToActionFrom------------22ALLOWIN192.168.0.0/249090ALLOWINAnywhere80/tcpALLOWINAnywhere443/tcpALLOWINAnywhereAnywhereDENYIN208.176.0.50<==new9090(v6)ALLOWINAnywhere(v6)80/tcp(v6)ALLOWINAnywhere(v6)443/tcp(v6)ALLOWINAnywhere(v6)总而言之,ufw不仅易于配置,而且易于理解