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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【UML建模】用例图

1 参与者 参与者的概念: 指系统以外的、需要使用系统或与系统交互的外部实体 可以分为:人、外部设备、外部系统 参与者的图形符号: 例 3.1 在一个银行业务系统中,可能会有以下参与者 客户 :在银行业务系统中办理…

React【Day2】

React表单控制 受控绑定 概念:使用React组件的状态(useState)控制表单的状态 双向绑定 MVVM 报错记录: 错误代码: import { useState } from "react";const App () > {const [value, setValue] useS…

TLV61048非同步升压BOOST转换器输入电压2.6-5.5V输出电流4A输出电压最高15V

推荐原因: 输入电压较低,输出电流可达3.5A SOT23-6封装 批量价格约0.70元 TLV61048引脚 TLV61048引脚功能 7 详细说明 7.1 概述 TLV61048是一款非同步升压转换器,支持高达 15 V 的输出电压和输入范围从 2.61 V 到 5.5 V。该TLV61048集成了…

LlamaIndex 加 Ollama 实现 Agent

AI Agent 是 AIGC 落地实现的场景之一,与 RAG 不同,RAG 是对数据的扩充,是模型可以学习到新数据或者本地私有数据。AI Agent 是自己推理,自己做,例如你对 AI Agent 说我要知道今天上海的天气怎么样,由于 AI…

serverLess

第一步 安装依赖 npm install serverless-devs/s g 第二步 配置秘钥: 第三步 执行终端 执行命令 s config add 选择 alibaba cloud (alibaba) 把对应的ID secret填写,第三个别名可以随便写: serverLess 查看是…

Kettle的安装及简单使用

Kettle的安装及简单使用 文章目录 Kettle的安装及简单使用一、kettle概述二、kettle安装部署和使用Windows下安装( 1 )概述 案例 1 :MySQL to MySQL主界面:**在kettle中新建转换--->输入--->表输入-->表输入双击**建立连…

js进行数据移除性能比较(splice,map)

当使用 splice() 方法处理大量数据时,确实会遇到性能问题,因为它涉及到移动数组中的元素,导致操作的时间复杂度为 O(n)。对于大量数据,频繁的插入和删除可能会导致性能下降。 1、设置数组数据为10000,使用splice移除数…

软件项目经理需要具备这 11 个能力

当前软件开发技术更新换代越来越快,各种项目实施管理思想也日新月异,作为一个软件项目经理,需要具备这 11 种能力: 1. 项目管理能力 了解项目管理的基本原则和方法,包括制定项目计划、资源分配、风险管理、问题解决和…

Python练习03

题目 解题思路 Demo58 通过字符串切片来进行反转操作 def _reverse():"""这是一个反转整数的函数"""num input("请输入想要反转的整数")print(num[::-1]) 运行结果 Demo61 首先制作一个判断边长的函数,通过三角形两边…

4.23学习总结

一.NIO(一) (一).简介: NIO 是 Java SE 1.4 引入的一组新的 I/O 相关的 API,它提供了非阻塞式 I/O、选择器、通道、缓冲区等新的概念和机制。相比与传统的 I/O 多出的 N 不是单纯的 New,更多的是代表了 Non-blocking 非阻塞,NIO具有更高的并…

【Linux高性能服务器编程】两种高性能并发模式剖析——半同步/半异步模式

hello !大家好呀! 欢迎大家来到我的Linux高性能服务器编程系列之两种高性能并发模式介绍,在这篇文章中,你将会学习到高效的创建自己的高性能服务器,并且我会给出源码进行剖析,以及手绘UML图来帮助大家来理解…

《HCIP-openEuler实验指导手册》1.4 Apache MPM工作模式调整

MPM介绍 二、配置步骤 查看MPM当前工作模式 方法一: httpd -M | grep mpm方法二: 浏览器访问:http://IP:端口/server-status 方法三: cat /etc/httpd/conf.modules.d/00-mpm.conf查看 LoadModule mpm_event_module modules/mo…

Iterator 迭代器

意图 提供一个方法顺序访问一个聚合对象中的各个元素,且不需要暴漏该对象的内部表示。 结构 Iterator(迭代器)定义访问和遍历元素的接口。ConcreteIterator(具体迭代器)实现迭代器接口;对该聚合遍历是跟踪…

DSSM 模型技术介绍

转自:git 本文属于新闻推荐实战-召回阶段-DSSM召回模型。区别于策略召回,基于向量召回也是目前工业界常用的一种召回方法。这里我们将介绍一个比较经典的召回模型DSSM,希望读者可以快速掌握模型原理以及细节,同时可以了解具体的实…

Nacos原理简单介绍

注册中心原理 官网:Nacos 注册中心的设计原理 | Nacos nacos注册中心采用了 :pull (客户端的轮询)和push (服务端主动push)策略 客户端启动时会将当前服务的信息包含ip、端口号、服务名、集群名等信息封装…

电脑问题快速判断

电脑开机没有任何反应 检查电源 检查电源是否有问题或损坏,可以短接方法检测 板电源卡口对自己接第四或第五根线,若风扇匀速转动,电源无问题,若不转动或转一下停一下,电源有问题 检查内部连线 确保主板上的线插的…

2024新算法角蜥优化算法(HLOA)和经典灰狼优化器(GWO)进行无人机三维路径规划设计实验

简介: 2024新算法角蜥优化算法(HLOA)和经典灰狼优化器(GWO)进行无人机三维路径规划设计实验。 无人机三维路径规划的重要意义在于确保飞行安全、优化飞行路线以节省时间和能源消耗,并使无人机能够适应复杂…

手把手教你搭建鲜花团购小程序

随着互联网的快速发展,线上小程序商城已经成为了一种流行的电商模式。对于花店来说,开发线上小程序商城不仅可以扩大销售渠道,提高销售效率,还可以增加客户粘性,提升品牌形象。下面就以花店为例,教你怎么开…

OceanBase V4.2特性解析:用 Show Trace 快速定位数据库性能瓶颈

在数据库日常运维中,当遇到慢SQL问题时,若无法迅速查明原因,将极大地影响用户的使用感受,甚至可能引发业务或服务的中断。相较于单机数据库,分布式数据库系统因其涉及多个节点和多组件的协同工作,集群规模可…

DSP开发实战教程--EPWM模块的影子寄存器详细讲解原理和代码实例

EPWM模块影子寄存器的原理 在TI(Texas Instruments)的DSP28335中,EPWM(Enhanced Pulse Width Modulator)模块提供了高精度、高灵活性的PWM信号生成功能。为了能在不影响当前PWM波形输出的情况下预装载新的PWM参数(如周期、占空比等),EPWM模块引入了影子寄存器的概念。 …