linux云服务器iptables防火墙快速配置

使用云服务器时快速部署

在使用阿里、腾讯提供的IaaS服务器基础设施时,需要快速部署项目,首先要做的事情就是将需要的端口号暴露给外网,如常用的80/8080tomcat/3306MySQL/6379redis等等端口号。

打开安全规则

如阿里云、腾讯云首先需要在管理控制台–>云服务器–>安全组–>安全组规则中创建端口开放的规则。

配置iptables

iptables 的最大优点是它可以配置有状态的防火墙

关闭默认防火墙firewall

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

安装iptables(已安装忽略)

yum install iptables-services

配置iptables文件

vi /etc/sysconfig/iptables

*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [26:2314]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT

:wq! #保存退出

说明:设置链的默认策略,一般是有两种方法:
1)首先允许所有的包,然后再禁止有危险的包通过放火墙。
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
2)首先禁止所有的包,然后根据需要的服务允许特定的包通过防火墙。
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
我们这里快速配置先禁用了所有入站规则,然后详细配置入站规则。

备注:这里使用80和8080端口为例。部分一般添加到“-A INPUT -p tcp -m state --state NEW -m tcp–dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。

保存和重启

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

关于SELinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
SELinux的开发原则是基于最小权限原则,所以你可能需要知道非常清楚你的各项操作都需要哪些访问权限并进行配置。但是由于SELinux操作繁琐并且使用不当可能会与某些驱动冲突,没有特殊需求可以选择关掉。

vim /etc/selinux/config

   #注释以下配置 
 SELINUX=enforcing 
 SELINUXTYPE=targeted 
  
 #增加以下配置 
 SELINUX=disabled 
 
   #保存退出
    :wq!   

 #使配置立即生效 
 setenforce 0

你可能感兴趣的:(实用散知识)