3.1 安全
.硬件环境
.硬件层面:`电源(UPS)温度监控 机柜上锁 磁盘报警`
.系统层面:
`更换默认SSH端口`
`禁止ROOT直接登录,统一使用秘钥认证方式`
` 使用防火墙限制-->某个来源ip才能连接SSH `
` 软件更新 内核升级--->已运行很久系统不要升级内核`
.服务:mysql redis等等
`不要有公网ip地址`
`如果有公网ip,不要监听在0.0.0.0`
`一定要设置比较复杂的密码认证
web:nginx tomcat 应用层
.HTTPS
.WAF -->web 应用防火墙(防火墙+WAF防火墙)
.安全宝 牛盾云 安全狗 知道创宇 阿里云
.云环境
. 系统层面:
.SSH
.安骑士(免费版)云安全中心(收费版)
.快照-->使用快照需要购买存储空间
.`服务层面:` redis mysql
.不要有公网ip地址
.如果有公网ip,不要监听在0.0.0.0
.一定要设置比较复杂的密码认证
.安全组(防火墙)
web层面
.HTTPS
.云WAF
数据层面:
.备份
.异地备份
.上网--->VPC--->NAT网关(端口映射)
云架构
.高防ip---->DDOS
.WAF防火墙--->漏洞注入
.HTTPS---->防劫持,防篡改
HTTPS+WAF+负载均衡
HTTPS高级配置连接:https://help.aliyun.com/document_detail/61993.html?spm=a2c4g.11186623.6.573.c85f5414Ajl83H
HTTPS+高仿IP+WAF+负载均衡
https://help.aliyun.com/document_detail/35163.html?spm=a2c4g.11186623.6.792.2fc36251vRqVB1
高防需要配置HTTPS --> WAF也需要配置HTTPS --> 源站 http
image.png
3 3.2 Firewalld防火墙
firewalld ---> 无需网络知识 ---> 自动挡汽车 不支持花活
iptables ---> 依赖网络知识 ----> 手动挡汽车 花活
firewalld比iptables简单--->
图形界面操作 GUI 太复杂
命令行操作 CLI 简单
80 22 3306
一个网卡仅能绑定一个区域。比如: eth0-->A区域
但一个区域可以绑定多个网卡。比如: B区域-->eth0、eth1、eth2
还可以根据来源的地址设定不同的规则。比如:所有人能访问80
端口,但只有公司的IP才允许访问22端口。
firewalld查看处于哪个区域
[root@manager ~]# firewall-cmd --get-active-zones
public
1
2
*3.使用firewalld各个区域规则结合配置,调整默认public区域拒绝所
有流量,但如果来源IP是10.0.0.0/24网段则允许。 复规则实现(只需要
一个区域)
4.firewalld放行端口
[root@manager ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
[root@manager ~]# firewall-cmd --remove-service=
{ssh,dhcpv6-client}
[root@manager ~]# firewall-cmd --addsource="10.0.0.0/24" --zone=trusted
[root@manager ~]# firewall-cmd --get-active-zones
public
interfaces: eth0 eth1
trusted
sources: 10.0.0.0/24
#清空配置
[root@manager ~]# firewall-cmd --reload
.firewalld放行端口
#添加放行端口
[root@manager ~]# firewall-cmd --add-port=80/tcp
[root@manager ~]# firewall-cmd --add-port=
{8081/tcp,8082/tcp}
#移除放行端口
[root@manager ~]# firewall-cmd --remove-port=80/tcp
[root@manager ~]# firewall-cmd --remove-port=
{8081/tcp,8082/tcp}
[root@manager ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client
ports: 80/tcp 8081/tcp 8082/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules
[root@manager ~]# firewall-cmd --add-service=http
[root@manager ~]# firewall-cmd --add-service=https
[root@manager ~]# firewall-cmd --add-service=
{zabbix-agent,zabbix-server}
[root@manager ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
1
2
3
4
5
6
7
4.自定义服务名称--->服务对应的端口 8080 8081 8082 -->api业务
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client http https zabbixagent zabbix-server
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
移除
[root@manager ~]# firewall-cmd --remove-service=
{zabbix-agent,zabbix-server}
[root@manager services]# cd
/usr/lib/firewalld/services
[root@manager services]# cp http.xml api.xml
[root@manager services]# cat api.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>API (HTTP)</short>
<port protocol="tcp" port="8081"/>
<port protocol="tcp" port="8082"/>
<port protocol="tcp" port="8083"/>
</service>
[root@manager services]# firewall-cmd --reload
success
[root@manager services]# firewall-cmd --addservice=api
1
success
firewalld实现端口转发
路由器--------->TPLINK
虚拟机Vmware
Nginx四层TCP/IP(类似和lvs不一样)
image.png
目标端口号>:toaddr=<目标IP地址>
[root@manager ~]# firewall-cmd --add-forwardport=port=5555:proto=tcp:toport=22:toaddr=172.1
6.1.31
# 地址伪装
[root@manager ~]# firewall-cmd --add-masquerade
#----------------------------------------------
--------->
#管理上抓包
[root@manager ~]# tcpdump port 5555 -nn
#后端主机的抓包
[root@nfs ~]# tcpdump -i eth1 port 22 -nn
.Firewalld富规则
[root@Firewalld ~]# man firewalld.richlanguage #
获取富规则手册
rule
[source]
[destination]
service|port|protocol|icmpblock|masquerade|forward-port
[log]
[audit]
[accept|reject|drop]
rule [family="ipv4|ipv6"]
source address="address[/mask]" [invert="True"]
service name="service name"
port port="port value" protocol="tcp|udp"
forward-port port="port value" protocol="tcp|udp"
to-port="port value" to-addr="address"
accept | reject [type="reject type"] | drop










网友评论