几天前,我已通过SSH在Ubuntu主机上安装了CSF。 一切似乎都正常,我有机会玩了几个小时。 弄清楚我如何关闭和打开端口。 一切似乎都正常。
今天,我尝试对3306 mysql端口进行限制,仅允许访问特定的IP地址。 我通过检查是否已将其从csf.conf的TCP_IN和TCP_OUT行中删除并将其插入到csf.allow中来完成此操作。
由于使用nmap扫描端口时端口似乎处于打开状态,因此该缝隙无法正常工作。 经过进一步调试,我发现现在对csf.conf和csf.allow文件所做的任何更改都不会影响端口的可用性。
我进行了进一步研究,发现ufw防火墙,iptables和csf之间可能存在一些问题,因此我停止了ufw防火墙并删除了所有iptables规则并将它们设置为默认值。
:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
:~$ sudo service ufw status
ufw stop/waiting
现在,我刚刚刷新,停止并启动了csf防火墙:csf -f,csf -x,csf -e
重新启动后,似乎sudo iptables -L将输出大量规则,其中源在任何地方,目标在任何地方。 我以前没有这方面的经验,所以我不确定是否能够提取正确的敏感信息,但是在阅读了有关信息后,我认为这不适合我的情况。
另一方面,csf -L具有不同的输出。 大多数源IP和目标IP为0.0.0.0/0。 我可以从csf -L输出中提取的是,有一个无效链。
Chain INVALID (2 references)
num pkts bytes target prot opt in out source destination
1 0 0 INVDROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
2 0 0 INVDROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
3 0 0 INVDROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x3F
4 0 0 INVDROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x03/0x03
5 0 0 INVDROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x06
6 0 0 INVDROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x05/0x05
7 0 0 INVDROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x11/0x01
8 0 0 INVDROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x18/0x08
9 0 0 INVDROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x30/0x20
10 0 0 INVDROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 ctstate NEW
和
Chain ALLOWIN (1 references)
num pkts bytes target prot opt in out source destination
1 210 10680 ACCEPT all -- !lo * [mysship] 0.0.0.0/0
Chain ALLOWOUT (1 references)
num pkts bytes target prot opt in out source destination
1 295 41404 ACCEPT all -- * !lo 0.0.0.0/0 [mysship]
MYSSHIP是我使用放在csf.allow上的SSH进行连接的IP,并且ssh端口也位于csf.conf TCP_IN,TCP_OUT列表中。