windows和linux服务器等保测评加固方法

        服务器加固是通过各种方法增强服务器安全性的过程。保护操作系统免受黑客、破解者和攻击者的侵害。网络安全防护的目标是保密性、完整性、可用性、可控制性、不可否认性。

一、window服务器等保加固

以win2012和win2008 为例:


(win2008)
 


(win2012)
win+r主要命令:netplwiz,lusrmgr.msc,secpol.msc,eventvwr.msc,gpedit.msc,services.msc cmd: netstat -an,net share,firewall.cpl,appwiz.cpl

也可以直接在管理工具这里操作更方便:


1、应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换:管理工具-本地安全策略-账户策略-密码策略

【建议配置口令的复杂度策略及有效期策略,防止口令被轻易破解(建议口令长度不小于8位,至少包含小写字母、大写字母、数字、特殊符号中的3种,口令有效期不超过90天)】

2、应具有登录失败处理功能,配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;就在密码策略的下面就有锁定策略

连接超时配置:
计算机配置—管理模板—windows组件—远程桌面服务—远程会话主机—安全


3、当进行远程管理时,应采取必要措施,防止鉴别信息在网络传输过程中被窃听;
设置就在连接超时的上面
运行—gpedit.msc—计算机配置—管理模板—windows组件—远程桌面服务—远程会话主机—安全,双击“远程(RDP)连接要求使用指定的安全层”

4、应对登录的用户分配账户和权限;(创建系统管理员、安全管理员、审计管理员)
需要做两件事:重命名admin,三权分立。
进入“计算机管理—本地用户和组—用户

5、应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;管理工具-账户策略-本地策略-审核策略【配置密码的下面】

6、审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;右键“计算机”-管理-事件查看器-windows日志-应用程序/安全/系统

7、应关闭不需要的系统服务、默认共享和高危端口;

在IP安全策略中建立阻断规则并分配启用,或在防火墙的出入站规则中进行阻断策略配置。(通过配置本机防火墙或组策略来关闭135、445、139等端口,且Windows关闭多余服务Print Spooler、Remote Registry、Task Scheduler、telephony和默认共享IPC$。)
控制面板-管理工具-账户策略-高级安全windows防火墙-入站规则/出站规则

以及

8、应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警;
安装主机层入侵检查软件,安装的主机层检测软件要在
https://ispl.mps.gov.cn/ispl/jsp/common/ProductList_Public.jsp 里可查询到的。


其实火绒安全也可以,也最方便:

9、应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。
查看服务器是否安装杀毒软件
【同样火绒安全就可以】

10、及时清理存放在系统中的用户鉴别信息,防止信息外泄,被黑客利用。
控制面板—管理工具—本地安全策略—本地策略—安全选项
“交互式登录:不显示最后的用户名” -选择”已启用“

11、及时清理存放在系统中的用户鉴别信息,防止信息外泄,被黑客利用。
管理工具—本地安全策略—本地策略—安全选项关机:清除虚拟内存页面文件

12、设置屏保密码,提高服务器的安全性
控制面板—显示—更改屏幕保护程序

【在恢复时显示登陆屏幕一定要勾上,这才是最重要的】

13、设置会话超时锁定功能,提高服务器的安全性。
运行—gpedit.msc—计算机配置—管理模版—Windows组件—远程桌面服务—远程桌面会话主机—会话时间限制—设置活动但空闲的远程桌面服务会话的时间限制

还有对远程连接的网络地址进行限制:

二、Linux服务器三级等保加固

Linux操作常用命令:cat看文件,vi vim打开编辑文件,“S/i”为修改命令,修改完毕“ESC”退出修改,然后再按“:wq”进行保存。

centos7、redhat7,linux系统命令基本差不多,其他系统的自己可以查下。

以下是整理的一些配置,可供参考。

1.密码周期: vim /etc/login.defs max_days:90 mindays:2 minlen:8 warnage:7
2.密码复杂度: vim /etc/pam.d/system-auth
password requisite pam_cracklib.so retry=3 difok=3 minlen=8 lcredit=-1 dcredit=-1 ucredit=-1 ocredit=-1
Ubuntu系统->vim /etc/pam.d/common-password
3.登录失败策略【和密码复杂度一起】: vim /etc/pam.d/system-auth:
auth required pam_tally2.so onerr=fail deny=5 lock_time=2 unlock_time=1800
Ubuntu系统->vim /etc/pam.d/common-auth
4.centOS查看talnet服务是否运行:
netstat -an | grep ":23"
禁止telnet运行,禁止开机启动:
systemctl stop telnet.socket
systemctl disable telnet.socket
systemctl restart xinetd
5.
用户名 vim/etc/passwd 截图检查
useradd (name)
passwd name
【更改密码】
system,audit,super
6.
审计策略开启
systemctl status rsyslog
systemctl status auditd
7.
审计记录(日志配置)
vim /etc/logrotate.conf :让日志文件转储一个月,保留6个月的信息
minsize 1M
rotate 6
monthly

连接日志审计系统
vim /etc/rsyslog.conf
*.* @@:514
处改为@+日志审计系统的ip
然后systemctl restart rsyslog.service
7.5 部署clamav
...
freshclam
8.
超时锁定 vim /etc/profile
export TMOUT=900
8.5.
安全备份:ls /tmp/   
//etc.tar.gz
8.555
关闭不需要的服务、端口流程:firewall-cmd --list-all
[linux防火墙关闭端口]
打开防火墙服务:systemctl start firewalld
放行指定单个端口:firewall-cmd --zone=public --add-port=25/tcp --permanent
批量限制ip,限制192.168.x.x的所有ip访问yy端口:【2513544513980
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.x.0/24' port protocol='tcp' port='80' reject"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.4.0/24' port protocol='tcp' port='22' accept"

生效上面添加的指令:firewall-cmd --reload
查看所有被放行的端口:firewall-cmd --list-port --list-all)
取消指定一开放端口:firewall-cmd --zone=public --remove-port=25/tcp --permanent
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.4.0/24" port protocol="tcp" port="22" reject'
9.cat /etc/passwd
shadow) 命令查看所有账号
userdel -r删除不必要的账号
passwd -l禁用账户
passwd -u解锁账户
10.dos
cat/proc/sys/net/ipv4/tcp_syncookies截图【syncookie默认值】
vim /etc/sysctl.conf 加上net.ipv4.tcp_max_syn_backlog = 2048

1、操作系统安装

(1)最小化安装、配置网络。

(2)开启SSH服务,并把SSH默认端口22修改成其他端口:

[root@localhost ~]# service sshd start

修改/etc/ssh/sshd_config文件,在下面加上一行保存:

“ port 端口号”

(3)安装补丁升级至最新:

[root@localhost ~]# yum install update

[root@localhost ~]# cat /etc/*release //最后版本

(4)openssh 版本升级(此过程升级错误可能导致无法远程管理,虚拟机升级前建议做快照):

[root@localhost ~]# yum install -y gcc openssl-devel pam-devel rpm-build

[root@localhost ~]# wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-XXXX.tar.gz

[root@localhost ~]# tar -zxvf openssh-XXXX.tar.gz

[root@localhost ~]# cd openssh-XXXX

[root@localhost ~]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords--with-tcp-wrappers

[root@localhost ~]# make && make install

修改配置文件/etc/ssh/sshd_config,允许root登录:

“PermitRootLogin yes ”前的#号去掉

说明:XXXX表示版本。

(5)修改hostname:

[root@localhost ~]# hostname=your_hostname

(6)系统Banner:

[root@localhost ~]# echo “Authorized users only!” >/etc/redhat-release

[root@localhost ~]# echo “Authorized users only!”>/etc/issue

2. 身份鉴别

(1)身份标识唯一性,进行/etc/passwd和/etc/shadow文件的完整性相同检查,不存在相同uid 的用户,不使用过期的账号和无用的账号,限制daemon、shutdown、games、ftp、nobody等默认用户。

(2)身份标识和鉴别:创建“newuser”普通用户,仅允许“newuser”用户su为root用户:

  1. [root@localhost ~]# passwd -l alice

  2. [root@localhost ~]# passwd -S alice

  3. [root@localhost ~]# passwd -u alice

  4. [root@localhost ~]# usermod -L alice

  5. [root@localhost ~]# usermod -U alice

[root@localhost ~]# useradd newuser

[root@localhost ~]# usermod -G wheel newuser

修改配置文件cat /etc/pam.d/su 文件:

“auth required pam_wheel.so use_uid”前的“#”号去掉

说明: -l:锁定、-u解锁、-S查看状态、

-L:usermod下的锁定;

U:usermod的解锁。

(3)远程管理加密:使用ssh协议登录,禁止使用 telnet、ftp等明文网络协议。

(4)远限制用户su。

限制能su到root的用户。

使用命令 vi /etc/pam.d/su修改配置文件,在配置文件中添加行。例如,只允许test组用户su到root,则添加 auth required pam_wheel.so group=test。

3.密码周期策略

vim /etc/login.defs 查看密码策略

应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
vi /etc/login.defs,按“i”进入修改模式,将参数修改成以下图片上的参数值,修改完毕后按“ESC”退出修改模式,此时为只读模式,然后再输入“:wq”进行保存。

4.密码复杂度策略

输入命令vi /etc/pam.d/system-auth 按“i”进入修改模式,在文中添加如下命令,修改完毕后按“ESC”退出修改模式,此时为只读模式,然后再输入“:wq”进行保存。

口令长度:至少8位,且口令需包括数字、小写字母、大写字母和特殊符号4类元素中的至少3类:
password requisite pam_cracklib.so retry=3 difok=3 minlen=8 lcredit=-1 dcredit=-1 ucredit=-1 ocredit=-1

5.口令生存期

账户口令的生存期不得长于180天,两次修改密码的最小间隔时间 7天、密码最小长度 10位、密码过期前7天开始提示修改;

修改配置文件cat /etc/login.defs, 在下面加上几行保存:

“PASS_MAX_DAYS 180”

“PASS_MIN_DAYS 7”

“PASS_MIN_LEN 8”

“PASS_WARN_AGE 7”

6.口令历史有效次数

不重复使用最近3次已使用过的口令。

修改配置文件 cat /etc/pam.d/system-auth,在下面加上一行保存:

“password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=3 ”

说明:“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;星号代表账号被锁定,有些系统为NP;双叹号表示这个密码已经过期了。$6$开头表明是用SHA-512加密的,$1$ 开头表明是用MD5加密的,$2$ 开头表明是用Blowfish加密的,$5$ 开头表明是用SHA-256加密的。
 

7.登入失败策略 

vi /etc/pam.d/sshd 按“i”进入修改模式,在文中添加如下命令,修改完毕后按“ESC”退出修改模式,此时为只读模式,然后再输入“:wq”进行保存。

口令锁定策略:需设置连续认证失败次数超过5次,锁定该账号5分钟:
auth required pam_tally2.so deny=5 lock_time=300  even_deny_root unlock_time=0

登录超时锁定:
在/etc/profile里加上export TMOUT=900

8.访问控制

应对登录的用户分配账户和权限:
查看是否进行三权分立,即有不同的用户 :cat /etc/passwd
创建三个管理员账户:audit、system、security


如果没有可以通过命令创建:
useradd audit
useradd system

应及时删除或停用多余的、过期的账户,避免共享账户的存在;应授予管理用户所需的最小权限,实现管理用户的权限分离;
但在实际生产中,Linux系统很难完全满足该项要求,因为超级管理员用户root一旦被禁用会影响系统和应用的正常使用。但仍应严格限制具有root级权限的账户,其他用户仅应通过使用sudo被赋予root级权限

9.开启策略审核功能

​​​​​​​分别输入“systemctl status rsyslog”与“systemctl status auditd”,开启策略审核功能即可。

10.安全日志属性设置 

修改vi /etc/logrotate.conf 按“i”进入修改模式,将参数修改成以下图片上的参数值,修改完毕后按“ESC”退出修改模式,此时为只读模式,然后再输入“:wq”进行保存。

11.关闭不必要端口

对远程连接的网络地址进行限制:
按一个linux的firewall:
对它进行配置:

打开防火墙服务:systemctl start firewalld
放行指定单个端口:firewall-cmd --zone=public --add-port=25/tcp --permanent
批量限制ip,限制192.168.x.x的所有ip访问yy端口:【2513544513980
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.x.0/24' port protocol='tcp' port='80' reject"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.4.0/24' port protocol='tcp' port='22' accept"

生效上面添加的指令:firewall-cmd --reload
查看所有被放行的端口:firewall-cmd --list-port --list-all)
取消指定一开放端口:firewall-cmd --zone=public --remove-port=25/tcp --permanent
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.4.0/24" port protocol="tcp" port="22" reject'

12.入侵防范


应遵循最小安装的原则,仅安装需要的组件和应用程序;
查看系统当前版本,是否及时安装安全补丁

可以安装部署clamav
安装教程可以百度自行查询。

截图freshclam证明是最新版本即可


13.可信验证


可基于可信根对计算设备的系统引导程序、 系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。
备注:对该项的要求是做了加分,没做不扣分。

14. 其他必要加固

(1)禁止root用户远程登录

修改配置文件 /etc/ssh/sshd_config

把“PermitRootLogin yes” 改为“PermitRootLogin no”

(2)设置命令行界面系统输入空闲超时10分钟,自动退出:

修改配置文件cat /etc/profile,在下面加上一行保存:

“export TMOUT=600”

(3)禁ping:

修改配置文件cat /etc/sysctl.conf 在下面加上一行保存:

“ net.ipv4.icmp_echo_ignore_all=1”

(4)禁止Traceroute探测:

[root@localhost ~]# iptables -A FORWARD -p icmp -j DROP

(5)精简开机自启动服务,开启审计、系统日志、防火墙等服务:

[root@localhost ~]# for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sun off;done

[root@localhost ~]#f or sun in auditd rsyslog sshd network iptables ip6tables;do chkconfig --level 3 $sun on;done

(6)安装如zabbix主机监控的系统对主机运行状态等进行监控。

(7)安装杀毒软件。

15. 系统应用部署完成后需要配置

(1)设置文件访问权限:

修改配置文件 /etc/profile, 在下面加上一行保存:

“umask=027”

(2)建议修改以下重要文件和目录权限(根据需要自行配置):

文件 权限值

/etc/group文件 644

/etc/passwd文件 644

/etc/xinetd.conf文件 600

/etc/shadow文件 400

/etc/services文件 644

/etc/security目录 600

/etc/rc6.d文件 750

/tmp文件 750

/etc/ 750

(3)根据服务器日志情况进行日志策略调整(等保要求日志保存不少于180天)。

(4)单个用户多重并发会话、最大并发会话连接数等限制策略配置。

(5)制定备份策略保证数据安全,定期进行数据异地备份(例如每天/周/月季度对数据库和重要代码进行增量备份/全量备份等)。

(6)根据系统重要性对相关系统做应用级/数据级的异地备份。

7. 清除系统安装时的配置信息

[root@localhost ~]# yum clean all

[root@localhost ~]# echo > /var/log/wtmp

[root@localhost ~]# echo > /var/log/secure

[root@localhost ~]# echo > /var/log/messages

[root@localhost ~]# echo > /var/log/cron

[root@localhost ~]# echo > /var/log/dmesg

[root@localhost ~]# echo > /var/log/lastlog

[root@localhost ~]# echo > /var/log/rpmpkgs

[root@localhost ~]# echo > /var/log/utmp

[root@localhost ~]# echo > /var/log/yum

[root@localhost ~]# echo > /var/log/btmp

[root@localhost ~]# echo > ./.bash_history

[root@localhost ~]# history –c

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/560186.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

畅游网络:构建C++网络爬虫的指南

概述 随着信息时代的来临,网络爬虫技术成为数据采集和网络分析的重要工具。本文旨在探讨如何运用C语言及其强大的cpprestsdk库构建一个高效的网络爬虫,以便捕捉知乎等热点信息。为了应对IP限制的挑战,我们将引入亿牛云爬虫代理服务&#xff…

Spring 事务失效总结

前言 在使用spring过程中事务是被经常用的,如果不小心或者认识不做,事务可能会失效。下面列举几条 业务代码没有被Spring 容器管理 看下面图片类没有Componet 或者Service 注解。 方法不是public的 Transactional 注解只能用户public上&#xff0c…

使用Python+opencv实现自动扫雷

大家好,相信许多人很早就知道有扫雷这么一款经典的游戏,更是有不少人曾听说过中国雷圣,也是中国扫雷第一、世界综合排名第二的郭蔚嘉的顶顶大名。扫雷作为一款在Windows9x时代就已经诞生的经典游戏,从过去到现在依然都有着它独特的…

吴恩达机器学习笔记 三十五 异常检测与监督学习

什么时候选择异常检测? 正样本 ( y 1 ) 的数量非常少 负样本 ( y 0 ) 的数量非常多 有很多不同的异常,现有的算法不能从正样本中得知什么是异常,或未来可能出现完全没见过的异常情况。 例如金融欺诈,隔几个月或几年就有新的…

OpenHarmony实战开发-搜索功能实现案例、如何使用includes方法对数据实现模糊查询

介绍 本示例介绍使用includes方法对数据实现模糊查询 效果图预览 使用说明 点击首页搜索框跳转到搜索页面在搜索页面输入框中输入搜索的内容,下方列表自动根据搜索的内容进行筛选渲染点击筛选后的列表跳转到相应的页面跳转后会保存搜索历史,搜索历史使…

深度解析 Spring 源码:三级缓存机制探究

文章目录 一、 三级缓存的概述二、 三级缓存的实现原理2.1 创建Bean流程图2.2 getBean()2.3 doGetBean()2.4 createBean()2.5 doCreateBean()2.4 getSingleton() 三、 三级缓存的使用场景与注意事项3.1 在实际开发中如何使用三级缓存3.2 三级缓存可能出现的问题及解决方法 一、…

特征值eigenvalue与特征向量eigenvector

特征值,特征向量概念 在线性代数中,对于一个给定的线性变换A,他的特征向量v经过这个线性变换的作用之后,得到的新向量仍然与原来的 v v v保持在同一条直线上。但长度或方向也许会改变。即: A v Av Av λ v \lambda…

Android开发——Fragment

Demo fragment_blank.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_pare…

Java Web3-2 - tomcat

https://github.com/heibaiying/Full-Stack-Notes/blob/master/notes/Tomcat_架构解析.md https://zhuanlan.zhihu.com/p/40249834 早期&#xff0c;web技术主要用于浏览静态页面 时间发展&#xff0c;用户已经不满足于仅浏览静态页面。用户需要一些交互操作&#xff0c;获取…

追溯历史:SIEM 中的生成式人工智能革命

作者&#xff1a;来自 Elastic Mike Nichols, Mike Paquette 网络安全领域仿佛是现实世界的一个映射&#xff0c;安全运营中心&#xff08;security operation center - SOC&#xff09;就像是你的数字警察局。网络安全分析师就像是警察&#xff0c;他们的工作是阻止网络犯罪分…

【Web】DASCTF X GFCTF 2024|四月开启第一局 题解

目录 EasySignin cool_index web1234 web4打破防了&#x1f92e;&#xff0c;应该很接近解出来了&#xff0c;感兴趣的师傅续上吧 EasySignin 先随便注册个账号登录&#xff0c;然后拿bp抓包改密码(username改成admin) 然后admin / 1234567登录 康好康的图片功能可以打SS…

ros仿真启动小龟

1.启动RosMaster&#xff08;管理Ros中各个节点的“大管家”&#xff0c;每次启动Ros时需要首先启动RosMaster&#xff09; roscorefangfang-inspiron-5580:~/ros2/download/rosdistro$ roscore ... logging to /home/fang/.ros/log/6ec2d790-fe1d-11ee-aba8-1c1bb5cdec7c/ros…

MySQL-实验-单表、多表数据查询和嵌套查询

目录 0.简单子查询 &#xff08;1&#xff09;带比较运算符的子查询 &#xff08;2&#xff09;关键字子查询 1.多表查询 3.子查询 4.多表子查询 0.简单子查询 &#xff08;1&#xff09;带比较运算符的子查询 在右侧编辑器补充代码&#xff0c;查询大于所有平均年龄的员…

10 SQL进阶 -- 综合练习题 -- 10道经典SQL题目,配套数据与解答

1. 创建表结构和导入数据 1.1 新建数据库 1.2 执行建表语句 点击下方链接直接下载创建数据表脚本:http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/SQL/create_table.sql 执行建表语句执行成功查看创建的表1.3 导入数据 点击下方链接直接下载插入数据脚本:htt…

VBA脚本终章编译器崩溃

一、介绍 本篇文章为VBA脚本隐藏技术的最后一篇&#xff0c;将介绍如何在保证VBA脚本正常执行的情况下&#xff0c;使分析人员无法打开编译器。 那么为什么需要分析人员无法打开编译器呢&#xff1f; 首先&#xff0c;我们需要引入一个知识点。 在上篇《VBA隐藏技术stompin…

笔记本wifi连接外网 网线连接办公内网 设置路由实现内外网可同时访问

工作提供的办公网络是企业内网,接上企业内网网线后 通过无线在连接手机wifi ,会发现内外网无法同时访问,我自己电脑是接上内网网线 也是只能访问外网,除非把外网无线暂时关闭,才可以访问内网 频繁切换很不方便 1.查看外网无线 wifi网卡信息 IPv4 地址: 192.168.18.114 IP…

数据结构学习记录

数据结构 数组 & 链表 相连性 | 指向性 数组可以迅速定位到数组中某一个节点的位置 链表则需要通过前一个元素指向下一个元素&#xff0c;需要前后依赖顺序查找&#xff0c;效率较低 实现链表 // head > node1 > node2 > ... > nullclass Node {constructo…

AI原生时代,操作系统为何是创新之源?

一直以来&#xff0c;操作系统都是软件行业皇冠上的明珠。 从上世纪40、50年代&#xff0c;汇编语言和汇编器实现软件管理硬件&#xff0c;操作系统的雏形出现&#xff1b;到60年代&#xff0c;高级编程语言和编译器诞生&#xff0c;开发者通过操作系统用更接近人的表达方式去…

面向对象(一)

一.类与对象的定义 (1)类(设计图):是对象共同特征的描述: (2)对象:是真实存在的具体东西。 在Java中,必须先设计类&#xff0c;才能获取对象。 二.如何定义类 public class 类名{1.成员变量(代表属性,一般是名词) 2.成员方法(代表行为,一般是动词) 3.构造器 4.代码块 5.内部…