zoukankan      html  css  js  c++  java
  • CentOS 7 配置白名单

    CentOS 7 配置白名单


    在一些网络安全要求比较高的场景下(比如:客户现场部署的环境,客户要求部署服务的机器均需经过安全扫描和漏洞检测),为了保证机器上的服务不会被恶意攻击,

    我们可以通过一些手段进行控制(比如,MySQL数据库的访问权限控制,我们可以通过SQL命令对可访问机器进行控制)。

    更为便捷的方式,可以通过 Linux 系统自带的防火墙功能,通过针对特定的 IPport 添加白名单的方式,进行安全访问控制,杜绝外部恶意访问和攻击。

    在配置白名单前,需要保证 CentOS 7的机器上有 iptables文件。

    iptables服务的安装,可以参考:https://www.cnblogs.com/miracle-luna/p/13714709.html

    如果想实现如下效果:

    1)允许 10.105.211.10,10.105.211.11,10.105.211.12 这三台机器访问该机器的  UDP端口 111和123 ,TCP端口 3306,

    2)允许其他机器访问该机器的除了TCP端口 8080和 8082 以外的其他端口。

    方式1(常规配置):

    iptables 文件配置如下:

    # sample configuration for iptables service
    # you can edit this manually or use system-config-firewall
    # please do not ask us to add additional ports/services to this default configuration
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    
    # 配置白名单中的源IP(10.105.211.1010.105.211.1110.105.211.12-N whitelist 
    -A whitelist -s 10.105.211.10 -j ACCEPT
    -A whitelist -s 10.105.211.11 -j ACCEPT
    -A whitelist -s 10.105.211.12 -j ACCEPT
    
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    
    # 白名单中的机器允许访问 UDP端口 111和123
    -A INPUT -m state --state NEW -p udp --dport 111 -j whitelist
    -A INPUT -m state --state NEW -p udp --dport 123 -j whitelist
    
    # 白名单中的机器允许访问 TCP端口 3306
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j whitelist
    
    # 其他机器允许访问 除了TCP端口 8080和 8082 以外的其他端口(此时的!表示取反)
    -A INPUT -p tcp ! --dport 8080 -j ACCEPT
    -A INPUT -p tcp ! --dport 8082 -j ACCEPT
    
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT

    说明! 是表示取反,注意 两侧是有空格的,否则,会报错)

    方式2(简洁配置):

    # sample configuration for iptables service
    # you can edit this manually or use system-config-firewall
    # please do not ask us to add additional ports/services to this default configuration
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    
    # 配置白名单中的源IP(10.105.211.1010.105.211.1110.105.211.12-N whitelist 
    -A whitelist -s 10.105.211.10,10.105.211.11,10.105.211.12 -j ACCEPT
    
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    
    # 白名单中的机器允许访问 UDP端口 111和123
    -A INPUT -m state --state NEW -p udp -m multiport --dport 111, 123 -j whitelist
    
    # 白名单中的机器允许访问 TCP端口 3306
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j whitelist
    
    # 其他机器允许访问 除了TCP端口 8080和 8082 以外的其他端口(此时的!表示取反)
    -A INPUT -p tcp -m multiport ! --dport 8080,8082 -j ACCEPT
    
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT

    说明-m multiport 表示同时对多个端口操作;另外,多个IP或者多个端口之间,使用英文的逗号隔开,且中间不能有空格,否则,启动 iptables 服务会报错)

    iptables 文件配置完,执行如下步骤:

    1、保存 iptables 配置,命令如下:

    service iptables save

    2、重载 iptables 文件

    systemctl reload iptables

    或者 

    service iptables reload

    3、重启 iptables 服务,命令如下:

    systemctl restart iptables

    或者

    service iptables restart

    4、查看 iptables 服务状态(服务状态为绿色active,表示 iptables 文件配置成功,服务正常):

    systemctl status iptables

    或者

    service iptables status

  • 相关阅读:
    .Net Core 3.1 解决数据大小限制
    Linux通过nginx反向代理net core项目
    外网无法通过IP访问部署在Windows服务器上的网站
    .NET Core项目部署时自定义端口号
    .NET Framework webAPI上传文件大小限制
    Windows服务器上部署.net core项目
    Windows服务器中PowerShell的使用
    Windows中命令提示符的打开和使用
    Linux部署net core并添加守护进程
    什么是串口服务器
  • 原文地址:https://www.cnblogs.com/miracle-luna/p/13714809.html
Copyright © 2011-2022 走看看