几天前,我通过SSH在我的Ubuntu主机上安装了CSF。一切似乎都很好,我有机会玩了几个小时。弄清楚如何关闭和打开端口。一切似乎都很顺利。
今天我试图限制我的3306mysql端口,只允许访问特定的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将输出一个庞大的规则列表,其中source与anywhere相同,destination与anywhere相同。我之前没有这方面的经验,所以我不确定我是否能够提取出正确的敏感信息,但在阅读后,我认为这不适合我的情况。
另一方面,csf-L有不同的输出。大多数源和目标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]

myship是我使用SSH连接的ip,我已将其放在csf.allow中,SSH端口也可以在csf.conf TCP_IN,TCP_OUT列表中找到。

最佳答案

嗯,对我来说,我改变了政策,放弃了,然后我允许我想要的一切,看看:

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

你可以用-s(源)或-d(目的地)添加你想要的IP@!

关于linux - 从TCP_IN删除端口不会从CSF上的外部流量关闭它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39229038/

10-17 03:06