一、
网络安全专题
1漏洞和防病毒
1)操作系统漏洞扫描和高风险处理;(漏洞扫描工具Nessus);
2)端口扫描,端口矩阵,尤其公网暴露端口最小化;
=>根据通讯端口矩阵,关闭端口----0.1K
3)第三方和开源软件病毒扫描后入库;
4)软件版本具备完整性校验机制;
5)软件版本病毒扫描;
6)web应用和服务器漏洞扫描和高风险处理;(漏洞扫描工具AppScan);
2网络安全增强
1)IP白名单,在网络层限制特定IP用户具备登录操作系统权限,非特定IP流量全部拒绝掉;
=>访问Ip限制(如果在公有云上我需要固定公网IP) ----0.1
2)华为云平台VPC只具备虚拟服务器资源私有化,不具备网络设备虚拟资源私有化,能否实现防火墙虚拟机私有化,具备2-7层安全防护(待确认)
3)华为云平台不具备端口重定向功能,能否实现端口重定向,外网用户只能通过映射后的端口登录服务器(待确认)
4)私有镜像网卡名应为eth0,如果系统默认网卡名称不为eth0,策略端口组策略不生效。
=》配置使用具体网卡----0
3系统服务增强
检查系统是否存在高危漏洞,如心脏出血等
调整系统默认运行级别为level 3,即字符模式
可关闭一些不用的服务项,rpcbind,ntpd,nfs,nfslock winbind,postfix等,依据自身业务需求灵活调整
3.1加固SSH服务
/etc/ssh/sshd_config
1)设置SSH服务监听的IP地址;(ListenAddress(0.0.0.0/::))
2)设置SSH服务的日志类型;(SyslogFacility AUTH)
3)设置记录sshd日志消息的层次;(LogLevel INFO)
4)设置是否允许只有RSA安全验证;(RSAAuthentication yes)
5)设置是否允许公钥认证;(PubkeyAuthentication yes)
6)设置是否使用基于主机的验证。基于主机的验证是指已信任客户机上的任何用户都可以使用SSH连接。(HostbasedAuthentication no)
7)当用户使用SSH连接时,SSH服务会对用户帐号进行安全验证。这里设置忽略对已信任用户的安全验证。(IgnoreUserKnownHosts yes)
8)设置是否使用rhost文件和shosts文件进行验证。rhosts文件和shosts文件用于记录可以访问远程计算机的计算机名及关联的登录名。(IgnoreRhosts yes)
9)设置是否允许用户口令为空的帐号登录;(PermitEmptyPasswords no)
10)登录SSH前后显示的提示信息(Banner /etc/issue.net)
11)设置加密方式;(Ciphers aes128-ctr,aes192-ctr,aes256-ctr)
12)设置哈希算法;(MACs hmac-sha1,umac-64@openss.com,hmac-ripemd160)
13)强制使用V2版本的SSH;(Protocol 2)
14)通过密码认证;(PasswordAuthentication no)
15)使用PAM登录认证;(UsePAM yes)
16)禁止root账号直接SSH登录系统。可先使用普通帐号SSH登录,再切换至root帐号;(PermitRootLogin no)
17)允许SSH登录的用户列表;(AllowUsers )
18)sftp日志记录级别,记录INFO级别以及认证日志;(Subsystem sftp internal-sftp –l INOF –f AUTH)
19)设置系统等待的超时时间(单位秒)。超过指定时间未收到来自客户端的数据,则断开连接。(ClientAliveInterval 1800)
20)设置超时次数。服务器发出请求后,客户端没有响应的次数达到一定值,连接自动断开;(ClientAliveCountMax 0)
条件可行的情况下可以考虑强制用key登陆,禁用password登陆方式;
可以sshd_config中限制只允许指定ip登陆。
启用hostdeny防暴力破解(云平台镜象默认支持)
4文件权限加固
4.1设置文件权限和属主
根据实际情况,尽量做到权限和属主最小集,控制用户的访问范围。
Web网站目录权限控制,web程序控制权限,浏览类程序只读,上传目录读写(禁用执行权限),且设置最小权限用户运行web服务
4.2删除无主文件
避免新创建用户与原来被删除用户同名时,拥有了原用户的文件权限;
4.3设置守护进程的umask值
控制由守护进程所创建文件和目录的安全性,设置其umask值为027。Umask值代表的是权限的“补码”。(/etc/rc.status中新增一行 umask 027 默认创建新文件权限为750 也就是rxwr-x---(所有者全部权限,属组读写,其它人无))
4.4限制at命令的使用权限
避免任何用户都可以使用该命令创建在指定时间自动执行的任务。
1)删除/etc/at.deny文件;
2)创建/etc/at.allow文件,并切入“root”;
3)将/etc/at.allow文件权限修改为400(只读);
4)将at.allow的文件属主修改为root:root。
4.5限制cron命令的使用权限
避免任意用户通过cron命令安排工作;
1)删除/etc/cron.deny文件;
2)创建/etc/cron.allow文件,并切入“root”;
3)将/etc/cron.allow文件权限修改为400(只读);
4)将at.allow的文件属主修改为root:root;
5内核参数加固
在/etc/sysctl.conf中设置如下参数后,将该文件加载至内核 sysctl –p /etc/sysctl.conf)。
1)禁用“IP Forwarding可阻止未授权的IP数据包渗透至网络”;(net.ipv4.ip_forward 0)
2)开启TCP-SYN cookie保护,防止SYN Attack的DOS攻击。SYN Attack是一种通过占用系统资源迫使系统重启的DOS攻击;(net.ipv4.tcp_syncookies 1)
3)禁用“利用系统执行例如重启系统,检测内存,同步硬盘及杀死进程之类的操作”;(kernel_sysrq 0)
4)开启并记录欺骗,源路由和重定向包。(net.ipv4.conf.all.log_martians 1 net.ipv4.conf.default.log_martians 1)