防火墙和系统安全防御和优化

啥是个防火墙?html

防火墙(Firewall),也称防御墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网(US5606668(A)1993-12-15)。它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防御系统,依照特定的规则,容许或是限制传输的数据经过。centos

 

所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网外部网之间、专用网与公共网之间的界面上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间创建起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所链接的网络之间的软件或硬件。该计算机流入流出的全部网络通讯和数据包均要通过此防火墙。
缓存

在网络中,所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它其实是一种隔离技术。防火墙是在两个网络通信时执行的一种访问控制尺度,它能容许你“赞成”的人和数据进入你的网络,同时将你“不一样意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络。换句话说,若是不经过防火墙,公司内部的人就没法访问Internet,Internet上的人也没法和公司内部的人进行通讯。安全

防火墙啥做用?服务器

防火墙具备很好的保护做用。入侵者必须首先穿越防火墙的安全防线,才能接触目标计算机。你能够将防火墙配置成许多不一样保护级别。高级别的保护可能会禁止一些服务,如视频流等,但至少这是你本身的保护选择。cookie

 

防火墙基本使用

一、firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld 
开机禁用  : systemctl disable firewalld
开机启用  : systemctl enable firewalld
 
centos系统安全防御和优化
 
大佬说: 最小的权限+最小的服务=最大的安全
因此把用不着的都关掉就对了,若是你不知道怎么关,参考这个https://blog.csdn.net/knight_zhen/article/details/46444451

优化

内核参数优化网络

vi /etc/sysctl.conf    #末尾添加以下参数  (备注:内核不够熟,加上注解你们谨慎选择使用)app

net.ipv4.tcp_syncookies = 1           #1是开启SYN Cookies,当出现SYN 等待队列溢出时,启用Cookies来处理,可防范少许SYN攻击,默认是0关闭  net.ipv4.tcp_tw_reuse = 1             #1是开启重用,容许将TIME_AIT sockets从新用于新的TCP链接,默认是0关闭                                                       ssh

net.ipv4.tcp_tw_recycle = 5            #TCP失败重传次数,默认是15,减 少次数可释放内核资源                                                                               socket

net.ipv4.tcp_max_syn_backlog = 10240    #进入SYN包的最大请求队列,默认 是1024                                                                                             

net.core.netdev_max_backlog =  10240  #容许送到队列的数据包最大设备队 列,默认300                                                                                        

net.core.somaxconn = 2048              #listen挂起请求的最大数量,默认 128                                                                                               

net.core.wmem_default = 8388608        #发送缓存区大小的缺省值                                                                                                           

net.core.rmem_default = 8388608        #接受套接字缓冲区大小的缺省值 (以字节为单位)                                                                                    

net.core.rmem_max = 16777216           #最大接收缓冲区大小的最大值                                                                                                       

net.core.wmem_max = 16777216           #发送缓冲区大小的最大值                                                                                                           

net.ipv4.tcp_synack_retries = 2        #SYN-ACK握手状态重试次数,默认5                                                                                                   

net.ipv4.tcp_syn_retries = 2           #向外SYN握手重试次数,默认4                                                                                                       

net.ipv4.tcp_max_orphans = 3276800     #系统中最多有多少个TCP套接字不 被关联到任何一个用户文件句柄上,若是超出这个数字,孤儿链接将当即复位并打印警告信息                 

net.ipv4.tcp_mem = 94500000 915000000 927000000   

#net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;                                                                                                                          

#net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;                                                                                                                         

#net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据 物理内存大小进行调整,若是内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。             

net.ipv4.ip_local_port_range = 20480  65535  #(表示用于向外链接的端口范围。缺省状况下很小:32768到61000  注意:这里不要将最低值设的过低,不然可能会占用掉正常的端口! 

CentOS 系统优化    
      cp  /etc/profile  /etc/profilebak2
      vi /etc/profile      #在文件末尾添加如下内容
      ulimit -c unlimited
      ulimit -s unlimited
      ulimit -SHn 65535   
      source  /etc/profile    #使配置当即生效
      ulimit -a    #显示当前的各类用户进程限制

服务器禁止PING

      cp  /etc/rc.d/rc.local  /etc/rc.d/rc.localbak     
      vi  /etc/rc.d/rc.local        #在文件末尾增长下面这一行
      echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all       
      参数0表示容许   1表示禁止

清空防火墙并设置规则
    iptables -F   #清楚防火墙规则

iptables -L   #查看防火墙规则

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  

iptables -A INPUT -p tcp --dport 22 -j ACCEPT  

iptables -A INPUT -p tcp --dport 53 -j ACCEPT  

iptables -A INPUT -p udp --dport 53 -j ACCEPT  

iptables -A INPUT -p udp --dport 123 -j ACCEPT  

iptables -A INPUT -p icmp -j ACCEPT  

iptables -P INPUT DROP  

/etc/init.d/iptables save

配置防火墙以接受仅来自已知网段的 SSH 链接:(慎用:若是那台主机挂了就惨了,这个真是比较安全的
Update /etc/sysconfig/iptables (Redhat specific file) to accept connection only 
from 192.168.100.0/24 and 209.64.100.5/27, enter:
-A RH-FW-1-INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
-A RH-FW-1-INPUT -s 209.64.100.5/27 -m state --state NEW -p tcp --dport 22 -j ACCEPT 

SSH服务安全配置


     vi /etc/ssh/sshd_config   

     1. 禁用root远程登陆 

  PermitRootLoginno

  PermitEmptyPasswords no #禁止空密码登陆 

  2.不要支持闲置会话,并配置 Idle Log Out Timeout 间隔:
  ClientAliveInterval 600 # (Set to 600 seconds = 10 minutes)
  ClientAliveCountMax 0 

  3.禁用用户的 .rhosts 文件:

  IgnoreRhosts yes

  4.PasswordAuthentication no

  5.配置 iptables,以便在 30 秒内仅容许在端口 2022 上有三个链接尝试:
  Redhat iptables example (Update /etc/sysconfig/iptables): 
  -I INPUT -p tcp --dport 2022 -i eth0 -m state --state NEW -m recent --set

  -I INPUT -p tcp --dport 2022 -i eth0 -m state --state NEW -m recent --update --seconds 30 --hitcount 3 -j DR

  6.ssh安全技巧之更改 SSH 端口
  建议改为 10000 以上,以下降扫描到端口的机率。

  Port 18439

  7.使用iptables容许特定的主机链接
  做为TCP wrappers的一个代替品,你可使用iptables来限制SSH访问(但能够同时使用这个两个的),这里有一个简单的例子,指出了如何容许一个特定的主机链接到你的SSH服务:
  iptables -A INPUT -p tcp -m state --state NEW --source 193.180.177.13 --dport 22 -j ACCEPT

  保存后重启ssh服务。    
————————————————

以上优化内容皆为转载
版权声明:本文为CSDN博主「Andy-Su」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接及本声明。
原文连接:https://blog.csdn.net/knight_zhen/article/details/46444451

 

 

当我搜索“防火墙和系统安全防御和优化”,看到这些博客都是2019年12月发布的,我就明白了一切。校友,额,是院友,也有多是同班的朋友。

因此若是你也是为了做业看到个人这篇博客的话

那么

你好

为了做业忧愁的安师学子

相关文章
相关标签/搜索