Linux系统安全防护之防火墙

netfilter工作在主机或网络的边缘,对于进出本主机或网络的报文根据事先定义好的检查规则作匹配检测,对于能够被规则所匹配到的报文做出相应的处理

防火墙的种类:

  • 软件防火墙:软件技术实现数据包过滤

  • 硬件防火墙:硬件设备,实现数据包过滤

防火墙类型:

  • 主机型防火墙:保护自己本机应用程序

  • 网络防火墙:保护内部其他服务器应用程序

软件型防火墙:netfilter是Linux内核自带一个模块,网络过滤器

  • CentOS7系统:默认使用的防火墙管理工具firewalld

  • CentOS6系统:默认使用的防火墙管理工具iptables

firewalld防火墙

  • 管理工具:firewalld-cmd

  • 防火墙预设安全区域

    • public:仅允许访问本机的sshd、DHCP、ping等少量服务

    • trusted:允许任何访问

    • block:拒绝任何来访请求,有明确回应

    • drop:拒绝任何来访请求,没有任何回应(丢弃)

    • #开启防火墙
      [root@localhost ~]# systemctl start firewalld

      #查看默认区域
      [root@localhost ~]# firewall-cmd --get-default-zone
      public

      #修改默认区域
      firewall-cmd --set-default-zone=区域名     

      #将默认区域修改为block
      [root@localhost ~]# firewall-cmd --set-default-zone=block
      success

      [root@localhost ~]# firewall-cmd --get-default-zone
      block

      #将默认区域修改为dorp
      [root@localhost ~]# firewall-cmd --set-default-zone=drop
      success

      [root@localhost ~]# firewall-cmd --get-default-zone
      drop

      #将默认区域修改为public
      [root@localhost ~]# firewall-cmd --set-default-zone=public
      success
      [root@localhost ~]# firewall-cmd --get-default-zone
      public

      #查看区域规则
      firewall-cmd --zone=区域名 --list-all        

      #查看public所有规则
      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default    #默认区域
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client   #允许访问的服务
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 
          
      #为public区域添加http协议,使用 --add-service=服务名
      [root@localhost ~]# firewall-cmd --zone=public --add-service=http
      success
      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client http   #添加http协议
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 

      #为public添加ftp协议
      [root@localhost ~]# firewall-cmd --zone=public --add-service=ftp
      success
      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client http ftp   #添加ftp协议
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 

    • 封网段开服务

    • #若针对永久配置需添加 --permanent
      #使用  -- add-source=网段地址

      #为public区域永久添加http协议
      [root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http
      success
      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client http ftp
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 

      #为public区域永久添加ftp协议    
      [root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=ftp
      success
      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client http ftp
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 

      #永久修改需重新加载防火墙配置
      firewall-cmd --reload
      [root@localhost ~]# firewall-cmd --reload
      success

      #单独拒绝某一个IP
      [root@localhost ~]# firewall-cmd --zone=block --add-source=192.168.0.24
      success
      [root@localhost ~]# firewall-cmd --zone=block --list-all
      block (active)
        target: %%REJECT%%
        icmp-block-inversion: no
        interfaces: 
        sources: 192.168.0.24
        services: 
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 

      #删除规则:--remove-source

      #删除block区域的指定IP
      [root@localhost ~]# firewall-cmd --zone=block --remove-source=192.168.0.24
      success
      [root@localhost ~]# firewall-cmd --zone=block --list-all
      block

      #删除public区域的ftp协议
      [root@localhost ~]# firewall-cmd --zone=public --remove-service=ftp
      success
      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client http

    • #若针对永久配置需添加 --permanent
      #使用  -- add-source=网段地址

      #为public区域永久添加http协议
      [root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http
      success
      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client http ftp
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 

      #为public区域永久添加ftp协议    
      [root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=ftp
      success
      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client http ftp
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 

      #永久修改需重新加载防火墙配置
      firewall-cmd --reload
      [root@localhost ~]# firewall-cmd --reload
      success

      #单独拒绝某一个IP
      [root@localhost ~]# firewall-cmd --zone=block --add-source=192.168.0.24
      success
      [root@localhost ~]# firewall-cmd --zone=block --list-all
      block (active)
        target: %%REJECT%%
        icmp-block-inversion: no
        interfaces: 
        sources: 192.168.0.24
        services: 
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 

      #删除规则:--remove-source

      #删除block区域的指定IP
      [root@localhost ~]# firewall-cmd --zone=block --remove-source=192.168.0.24
      success
      [root@localhost ~]# firewall-cmd --zone=block --list-all
      block

      #删除public区域的ftp协议
      [root@localhost ~]# firewall-cmd --zone=public --remove-service=ftp
      success
      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client http

    • #当有人访问5432端口时,映射到本机的80端口
      [root@localhost ~]# firewall-cmd --zone=public --add-forward-port=port=5432:proto=tcp:toport=80
      success
      #命令解释:
      --add--forward   #添加转发端口
      port=port=5432   #指定转发的端口
      proto=tcp        #指定tcp协议
      toport=80        #指定目标端口

      [root@localhost ~]# firewall-cmd --zone=public --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens32
        sources: 
        services: ssh dhcpv6-client http
        ports: 
        protocols: 
        masquerade: no
        forward-ports: port=5432:proto=tcp:toport=80:toaddr=
        source-ports: 
        icmp-blocks: 
        rich rules: 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
服务器安全防护措施全文共7页,当前为第1页。 服务器安全防护措施全文共7页,当前为第1页。 随着网络技术的发展,服务器面临着越来越多的安全威胁。因此,加强服务器的安全防护成为一项迫切需要解决的问题。那么到底该怎么做才能使服务器更安全呢?今天,我们来谈一谈具体的防护措施,可以从以下五大方面入手: 一、 安全设置 1、 加强服务器的安全设置 以Linux为操作平台的服务器安全设置策略,能够有效降低服务器的安全隐患,以确保它的安全性。安全设置主要包括:登录用户名与密码的安全设置、系统口令的安全设置、BIOS的安全设置、使用SSL通信协议、命令存储的修改设置、隐藏系统信息、启用日志记录功能以及设置服务器有关目录的权限等。 2、加强内网和外网的安全防范 服务器需要对外提供服务,它既有域名,又有公网IP,显然存在着一些安全隐患。因此,可以给服务器分配私有的IP地址,并且运用防火墙来做NAT(网络地址转换),可将其进行隐藏。 有些攻击来源于内网,如果把内网计算机和服务器放置在相同的局域网之内,则在一定程度上会增加很多安全隐患,所以必须把它划分为不同的虚拟局域网。运用防火墙的"网络地址转换"来提供相互间的访问,这样就能极大提高服务器的安全性和可靠性。 把服务器连接至防火墙的DMZ(隔离区)端口,将不适宜对外公布的重要信息的服务器,放在内部网络,进而在提供对外服务的同时,可以最大限度地服务器安全防护措施全文共7页,当前为第2页。保护好内部网络。 服务器安全防护措施全文共7页,当前为第2页。 3、网络管理员,要不断加强网络日常安全的维护与管理 要对"管理员用户名与密码"定期修改;要对服务器系统的新增用户情况进行定时核对,并且需要认真仔细了解网络用户的各种功能;要及时更新服务器系统的杀毒软件以及病毒数据库,必要时,可针对比较特殊的病毒,安装专门的杀毒程序,同时要定期查杀服务器的系统病毒,定期查看CPU的正常工作使用状态、后台工作进程以及应用程序等。如若发现异常情况,需要及时给予妥当处理。因为很多"病毒与木马程序",都是运用系统漏洞来进行攻击的,所以需要不断自动更新服务器系统,以及定期扫描服务器系统的漏洞。 很多服务器已经成为了"病毒、木马程序"感染的重灾区。不但企业的门户网站被篡改、资料被窃取,而且本身还成为了"病毒与木马程序"的传播者。有些服务器管理员采取了一些措施,虽然可以保证门户网站的主页不被篡改,但是却很难避免自己的网站被当作"肉鸡",来传播"病毒、恶意插件、木马程序"等等。这很大一部分原因是,网络管理员在网站安全的防护上太被动。他们只是被动的防御,而没有进行主动防御和检测。为了彻底提高服务器的安全等级,网站安全需要主动出击。、 二、 漏洞测试 现在很多企业网站做的越来越复杂、功能越来越强大。不过这些都不是凭空而来的,而是通过代码堆积起来的。如果这些代码只供企业内部使用,那么不会带来多大的安全隐患。但是如果放在互联网上对外服务使用的话,这些为实现特定功能的代码,就有可能成为攻击者的目标。 例如:在网页中可以嵌入"SQL代码",而攻击者就可以利用这些"SQL代码"发动攻击,以此进行"获取管理员用户名和密码"等破坏性的操作。有时候访问某些网站,还需要有某些特定的控件,用户在安装这些控件时,其实就有可能是在安装一个木马(可能访问者与被访问者都没有意识到)。 为此在为网站某个特定功能编写代码时,就要主动出击,从代码的设计到编写、再到测试,都需要意识到是否存在着安全漏洞。在日常工作中,在这方面需要对于员工提出较高的要求,各个程序员,必须要对自己所开发的功能负责,已知的"病毒和木马"不能够在其所开发的插件中有机可乘。通过这种层层把关,就可以提高代码编写的安全性。 三、全天候的安全监控 "冰冻三尺,非一日之寒",这就好像"人免疫力下降,导致身体生病"一样,都有一个过程。"病毒、木马"等在攻击服务器时,也需要一个过程。或者说,在攻击取得成功之前,它们会有一些试探性的动作。比如,对于一个采取了一定安全措施的服务器,从攻击开始到取得效果,至少要有半天的时间。网站管理员,要对服务器进行全天候的监控,在发现有异常行为时,及早的采取措施,将病毒与木马阻挡在门户之外。这种"主动出击"的防御方式,可以极大地提高了服务器的安全性。 专门设有一个小组,来全天候的监控服务器的访问,平均每分钟都可以监测到一些试探性的攻击行为。其中99% 以上的攻击行为,由于服务器已经采取了对应的安全措施,结果都无功而返。不过,每天仍然还是会遇到一些攻击行为,这些攻击行为可能是针对新的漏洞,或者采取了新的攻击方式。如果在服务器上原先没有采取对应的安全措施,或者没有及时的发现这种行为,那么这些攻击就很有可能最终达到他们的非法目的。相反,如果及早的发现了他们的攻击手段,那么我们就可以在他们采取进一步

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小禹先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值