服务器安全策略 - 建议

基于linux 如何保证服务访问安全 - 策略与建议  
                                                                 - 具体的实现方案会陆续更新

策略:
1:    使用统一的ssh登陆地址IP  112.112.112.112(假如这是办公室网络)    
         外网登陆使用统一登陆访问服务器资源

# 使用方法  允许通过
vim /etc/hosts.allow
# 添加
sshd:112.112.112.112:allow

# 禁止通过
vim /etc/hosts.deny
# 添加
sshd:ALL

2:    禁止扫描  (禁止ping扫描 、 与tcp/udp/SYN扫描限制)
         防止黑客扫描和嗅探服务器,以及对端口的攻击
 

#####firewalld

//限制icmp的所有流量

firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'


##### 用iptables 实现限流
----iptables 实现      yum install iptables-service
Syn 洪水攻击 限制syn并发数每秒1次
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT --limit 1/s

限制端口扫描的流量
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

限制ping的流量
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

或者禁Ping
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
 

3:    打开防火墙
         防止内网渗透攻击,以及阻止一些不安全程序的恶意链接通道

#打开自带的防火墙
systemctl start firewalld
--添加需要对外的端口
firewall-cmd --zone=public --add-port=80/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)
--重新载入
firewall-cmd --reload

4:    密码定期修改   (3-6个月)
         提高密码的安全性


5:    设置ssh登陆访问次数限制   (例如错5次 1小时后重试)  
         即使知道主机存活,使用枚举破译的成本几乎变得不可能

     # centos7基本都有pam_tally2模块
    1.root 权限编辑文件 vi /etc/pam.d/login  添加下面一行在/etc/pam.d/login 
     auth required pam_tally2.so deny=3 unlock_time=3600 even_deny_root root_unlock_time=3600
     
      # 以上规则限制所有用户ssh登陆失败3次之后 一小时重试   # 测试机上好像无法生效 正在查阅资料中
      参数说明:
              指定统计次数用的文件,默认是/var/log/tallylog

    even_deny_root:root用户也被锁定

    deny:普通用户锁定次数

    lock_time:普通用户锁定后等待的时间

    unlock_time:普通用户锁定后解锁要等待的时间
       2:限制查看和重置用户
             查看admin用户的登录失败的次数  

      pam_tally2   --user admin

    重置计数器,即手动解锁

      pam_tally2   --user admin --reset

6:    限制对外开放端口以及端口安全策略
         并不要把所有的端口开放对外,容易使服务处于不安全的境地,容易导致端口被攻击
         一些内部测试服务端(云端服务器)口尽量限制IP访问,由于测试服务一般图方便安装很多额外程序,以及开放很多的端口,测试服务最容易导致被攻击
         一些redis、mysql等内部服务,假如部署到阿里云等云服务器应限制其访问地址配置

优势:
     1:限制IP访问可以提高服务器的登陆安全,以及防止ssh登陆账号被暴力破解的问题
     2:限制IP访问可以防止工作人员离职时,可能会涉及到服务器密码安全的问题,在不修改密码的情况下也能做到即使知道密码也无法登陆的情况,否则需要修改每个服务器的所有密码,人工成本很高
     3:  禁止端口扫描,可以有效的隐藏服务器端口,避免一些恶意的访问请求
     4:打开防火墙 - 防止内网渗透攻击
     5:ssh登陆访问次数限制 - 使暴力破解更加困难
     6:限制对外开放端口以及端口安全策略 - 降低本地服务器的暴露风险以及一些内部服务的安全


预估风险:
1:办公室迁移或者宽带更换时,处理不当可能会造成服务器登陆不了   
                解决方案 - 宽带更换或者办公室迁移时 在当前IP改变的情况下 需要修改服务器的登陆限制

2:当VPN被破解或被攻击后,外部人员使用登陆服务器(假如知道服务器的账号密码),服务器无法识别这个对象,可能会使服务处于一定的风险中
                                解决方案 - 提高VPN的使用的安全性,提高VPN账号权限管理与服务器账号的权限管理

注意问题:
      1: 由于开启了内网防火墙,内网服务间需要添加防火墙端口才能访问


 

你可能感兴趣的:(linux,服务安全与策略)