APP下载

Linux 系统中的防火墙设置心得

2019-11-25山东李瑞祥刘杨青汤彧

网络安全和信息化 2019年11期
关键词:端口命令防火墙

■山东 李瑞祥 刘杨青 汤彧

出于网络安全的考虑,一台Linux 服务器只需要开启它所提供网络服务的端口号,除此之外的端口一律不需要开启。这就要靠Linux 系统的防火墙来实现。

刚开始接触Linux 的朋友,可能对于开启防火墙有所顾忌,主要是担心开启后正常的网络服务也不能提供了。这样本来是为了提高系统的安全性,但是最后却造成系统不能正常工作了,会被领导追究责任。

其实只要根据操作规范来开启防火墙是不会对系统的正常服务造成影响的,而是相当于给系统增加一道铜墙铁壁,可以有效地防范来自外网的攻击,下面我们就分三步来分享开启和使用防火墙的心得。

关掉firewalld,开启iptables

我们所使用的Linux 系统为CentOS 7

系统自带的是firewalld,这个不符合我们的使用习惯,所以就先停止该程序,并设置为禁止开机自启动,命令如下:

然后编辑/etc/sysconfig 目录下面的iptables 文件,设置开放的端口。

相关的设置如下所示:

最初在iptables这个配置文件里面只有一行,关于开放22端口(SSH 服务)的:

-A INPUT -p tcp-m state --state NEW -m tcp --dport 22 -j ACCEPT

我们可以根据这一行进行其他端口的开放,比如我们知道需要开启80 端口,就可以加一行:

-A INPUT -p tcp -m state --state NEW -m tcp--dport 80 -j ACCEPT

在Linux 系统的/etc/services 文件中,列出了常用服务所使用的端口号,我们可以对照查看,那么对于不是很常见的端口号,我们该如何来准确的开启,下面还有两个心得。

图1 使用netstat 命令查看rsyslog 服务端口号

图2 查看其使用了TCP 和UDP 协议

根据客户端的提示

比如我们在Linux 服务器中安装了MySQL 数据库,然后需要通过客户端连接到这个MySQL 数据库上,

这时在客户端软件上就可以看到在需要使用3306端口号进行访问,这时候就可以在iptables 文件里面添加一个3306 的端口号,使用的是TCP 协议,一般网络程序大多数使用的TCP 协议:

-A INPUT -p tcp -m state --state NEW -m tcp--dport 3306 -j ACCEPT

但是也有一些使用的是UDP 端口,如下所示。

通过netstat 命令查看程序所使用的端口号

比如我们在这台Linux服务器上运行了rsyslog服务,用来记录网络中各台交换机的日志信息,那么rsyslog 服务具体是使用的什么端口号呢,就可以使用netstat 命令来查看,如图1所示。

从第二行中就可以看到,rsyslog 使用是UDP 的514 端口,要想开放这个服务,就可在iptables 里面这样写:

当然有些可能既使用了TCP 协议又使用了UDP 协议,比如zabbix,通过netstat 命令查看,就会发现它同时使用了TCP 和UDP 协议,如图2 所示。

如果要提供zabbix 服务,就需要在Iptables 配置文件添加如下两行:

结论

通过在Linux 系统中开启防火墙可有效提升系统安全性,而且开启防火墙并不会影响系统的正常服务。以上是我们实际操作过程中总结的心得,供大家参考。

猜你喜欢

端口命令防火墙
管理Windows10的PowerShell命令行使用记录
一种有源二端口网络参数计算方法
一种端口故障的解决方案
“一封家书”寄深情 筑牢疫情“防火墙”
全民总动员,筑牢防火墙
隔离型三端口变换器的H∞鲁棒控制
安装和启动Docker
构建防控金融风险“防火墙”
现有网络架构及迁移方案
移防命令下达后