关注主机资讯
一直在努力转载

玩转 firewalld ,会这几招就够了

相信很多小伙伴在配置服务器时,最常干的一件事便是直接关闭防火墙,为自己省去了很多麻烦,但是这也隐藏这很多风险。所以博主建议建站的小伙伴们,买到服务器之后,第一件事就是做好安全措施,保护自己的服务器,已免成为肉鸡!

一般而言,服务器到手之后都会干这几件事来保护自己的服务器:
1. 修改登录密码(废话)
2. 修改 ssh 端口
3. 配置防火墙,严格控制开放的端口
4. 使用密匙登录,禁止密码登录
5. 安装 fail2ban 防止暴利破解 ssh ftp 等服务帐号

当然今天博主主要是讲 firewalld 防火墙的配置!可能很多小伙伴都像博主一样喜欢使用 iptables 来作为防火墙,但今天博主自己的看了一下 firewalld 的一些说明,发现并没有那么难,相比 iptables ,感觉 firewalld 在规则上还要稍微简单一些!

1. 安装 firewalld

 yum -y install firewalld 

注意事项:
运行 firewalld 之前的准备,这一点真的非常重要,博主之前直接关闭防火墙也是因为这个原因,每次安装完 firewalld 之后,SSH 就连不上服务器了。。。

firewalld 默认规则已经放行 SSH 服务( 22 端口),但如果你修改过 SSH 端口,则必须先放行,否则一旦启用 firewalld 将被阻挡在外,无法连接服务器,那就只能重装系统了。。。

比如将 SSH 端口修改为了 2019,可以直接编辑 firewalld 的配置文件, 使用以下指令

 vi /etc/firewalld/zones/public.xml 

里面加入下面这条规则:

 <port protocol="tcp" port="2019"/> 

添加位置如下面所示:

 <?xml version="1.0" encoding="utf-8"?> <zone>  <short>Public</short>   <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>   <service name="dhcpv6-client"/>   <service name="ssh"/>   <port protocol="tcp" port="2019"/> </zone> 

接着输入命令: systemctl start firewalld 来启动 firewalld ,这样就不会被阻挡。

2. firewalld 常用指令

这里博主在这里一般习惯使用 service
2.1 查看 firewalld 的状态

 service firewalld status 或 systemctl status firewalld 或 firewall-cmd --state 

2.2 启动、停止、重启

 # 启动 service firewalld start 或 systemctl start firewalld  # 停止 service firewalld stop 或 systemctl stop firewalld  # 重启 service firewalld restart 或 systemctl restart firewalld 

如果在启动的时候提示 “Failed to start firewalld.service: Unit firewalld.service is masked.”,输入下面的命令可解决:

 systemctl unmask firewalld.service 

2.3 开机自启动的关闭与开启

 # 开启开机自启动 systemctl enable firewalld  # 关闭开机自启动 systemctl disable firewalld 

2.4 查看防火墙的规则

 firewall-cmd --list-all 

3. 端口配置

 # 查询 8080 端口是否开放 firewall-cmd --query-port=8080/tcp  # 开放 80 端口 firewall-cmd --zone=public --add-port=80/tcp --permanent  # 删除已经放行的 8080 端口: firewall-cmd --zone=public --remove-port=8080/tcp --permanent  #重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload  #查看监听(Listen)的端口 netstat -lntp  # 参数解释 1、firwall-cmd:是 Linux 提供的操作 firewall 的一个工具; 2、--zone:表示作用域  3、--add-port=80/tcp:表示添加端口,格式为:端口/通讯协议  4、--permanent:表示永久生效,没有此参数重启后失效; 5、--add-port:标识添加的端口; 

这里博主只讲一点,就是使用 netstat -lntp 来查看到底有哪些端口被程序占用,如果不是非法占用就开启此端口,比如 80 端口被 nginx 占用,就开启 80 端口即可!

 

特别注意:本站资源、文章多为网络收集,如涉及版权问题请及时与站长联系,我们会在第一时间内与您协商解决。请自行识别其商家的好坏,本站仅提供消息,不保证其正确性,和时效性!!!

历史上的今天
四月
10
    哇哦~~~,历史上的今天没发表过文章哦
赞(0)
未经允许不得转载:楚媛Blog » 玩转 firewalld ,会这几招就够了

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • Q Q(选填)