建站安全之–Centos7/Debian 防火墙配置

上一篇写了“建站安全之一“服务器防暴力破解”–ssh密钥登陆+改端口 ”,今天说一下防火墙的简单配置。

Centos7:

自从升级到了Centos7,防火墙就由iptables变成了Firewalld,新手配置起来可能有点问题,下面我们一起来看一下怎么配置

firewalld配置防火墙有个优点,可动态生效,支持分区域

drop: 丢弃所有进入的包,而不给出任何响应

block: 拒绝所有外部发起的连接,允许内部发起的连接

public: 允许指定的进入连接

external: 同上,对伪装的进入连接,一般用于路由转发

dmz: 允许受限制的进入连接

work: 允许受信任的计算机被限制的进入连接,类似 workgroup

home: 同上,类似 homegroup

internal: 同上,范围针对所有互联网用户

trusted: 信任所有连接

1.首先在Centos7下执行以下命令,检测firewalld是否运行

# firewall-cmd --state

如果返回 running,则表明firewall已在运行,否则执行以下命令

# yum install firewalld #安装firewalld # systemctl unmask firewalld #取消禁止 # systemctl start firewalld # 启动, # systemctl enable firewalld # 开机启动

2. 设置默认区,一般是public.也可以是其他区。

# firewall-cmd --set-default-zone=public

3.  查看public区的设置

# firewall-cmd --zone=public --list-all

4.  查看public区的信息

# firewall-cmd --info-zone=public

5.查看可用服务

# firewall-cmd --get-services

如果里面没有自己要的服务,可以自己添加一个,具体如下

系统自带服务在/usr/lib/firewalld/services/下,不可更改,用户自定义服务在/etc/firewalld/services/下,可自行添加。各种服务大部分配置都是一样的。端口可能不同。

新建一个名为 yturing的服务

# firewall-cmd --permanent --new-service=yturing

复制ssh的配置到yturing,也可以用vi命令编辑,或者下载到本地编辑后再上传覆盖。

# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/yturing.xml

6.查看public区的设置

# firewall-cmd --zone=public --list-all public interfaces: services: mdns dhcpv6-client ssh ports: forward-ports: icmp-blocks: source-quench

表明public区下服务有mdns dhcpv6 ssh.

7.添加某一服务到public区,比如smtp.

# firewall-cmd --zone=work --add-service=smtp

8.移除某一服务从public ,比如smtp.

# firewall-cmd --zone=work --remove-service=smtp

9.为某一区开启指定端口,比如为public区开启520 tcp协议端口。

# firewall-cmd --zone=public --add-port=520/tcp

其他常用端口:如ssh端口22,FTP端口21,http端口80,https端口443,mysql端口3306

10.为某一区开启端口段,

# firewall-cmd --zone=public --add-port=520-666/udp

11.最后最重要的重载生效

# firewall-cmd --reload

但有些人还是不习惯使用firewalld, 没关系,改用iptables也很简单。

1.首先

# systemctl stop firewalld # 停止firewalld # systemctl disable firewalld #取消开机启动 # systemctl mask firewalld #禁止关联启动 或者直接移除firewalld # yum remove firewalld

2.安装 iptables

# yum install iptables Debian执行 # apt-get install iptables

3.清除防火墙规则

# iptables -F # iptables -X # iptables -Z

3.允许本地访问本地并添加指定端口到防火墙

# iptables -A INPUT -i lo -j ACCEPT # iptables -A INPUT -p tcp --dport 80 -j ACCEPT

4.允许对外请求返回

# iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

5.丢弃除以上规则的所有包

# iptables -P INPUT DROP

6.查看已有防火墙规则并用序号标记。删除指定序号规则

# iptables -L -n --line-numbers

iptables -D INPUT 8

7.保存防火墙规则并重启iptables

# service iptables save # systemctl restart iptables.service         Debian/centos6 执行 service iptables restart

8.开机自启

# chkconfig iptables on

Debian请按照如下做

分别在/etc/network/if-post-down.d和/etc/network/if-pre-up.d下创建iptables文件,并分别加入以下内容

#!/bin/bash iptables-save > /etc/iptables.rules

#!/bin/bash iptables-restore < /etc/iptables.rules

赋予权限

# chmod +x /etc/network/if-post-down.d/iptables # chmod +x /etc/network/if-pre-up.d/iptables

然后就完成了。

转载请注明:这些年

本文链接地址: https://www.theseyears.org/413.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

发表评论