40_操作系统安全机制、linux安全加固、windows安全加固、Linux基线扫描下载、主机安全检查工具windows版本下载

本文主要是介绍40_操作系统安全机制、linux安全加固、windows安全加固、Linux基线扫描下载、主机安全检查工具windows版本下载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.操作系统安全机制

1.1标识与鉴别

  • Windows:SID
  • Linux: UID、GID
1.1.1 SID

查看当前用户名及SID

查看所有用户名及SID

C:\Users\TEACHER>wmic useraccount get name,sid
Name                SID
Administrator       S-1-5-21-80530027-1782036084-1563535153-500
DefaultAccount      S-1-5-21-80530027-1782036084-1563535153-503
Guest               S-1-5-21-80530027-1782036084-1563535153-501
TEACHER             S-1-5-21-80530027-1782036084-1563535153-1001
tony                S-1-5-21-80530027-1782036084-1563535153-1003
WDAGUtilityAccount  S-1-5-21-80530027-1782036084-1563535153-504

SID标识解析

1.1.2 UID

查看UID(nologin是不能登录的,只是针对某个应用创建的比如安装某个应用时创建的但不能使用来登录)

UID格式解析

 总结:Windows里边关注最后一个,Linux里边关注第三个,

1.1.3 鉴别方法与信息存储

用户所知、用户所有、生物特征

windows:SAM数据库(正儿八经的信息存储就这儿,如果找可疑账户可以在这找,黑客进来的话可能会留影子账户)

运行regedit,默认情况下是没开权限的进不去,手动开一下,再重新打开

Linux:/etc/shadow文件

之前装的ubt权限不够可以sudo一下

这个密码经过了操作,经过哈希的

shadow格式解析

1.2访问控制

规定主体(用户、进程)对客体(存储在硬盘上的文件、文件夹)的访问方式(一般就是r(读)w(写)x(执行)三种)。

Windows的

1.3最小特权

windows设置 本地安全策略→本地策略→用户权限分配

1.4可信通路

在用户和程序之间建立一条可信通路,阻止任何进程的运行。例如:系统登录时(防止账号和密码信息不被别的进程读到,阻止任何进程的运行)

1.5安全审计

计算机管理→事件查看器→windows日志、应用程序和服务日志、应用程序访问日志

1.6存储保护

Windows NTFS系统,早期的FAT32不支持

Linux ext4文件系统

1.7运行保护

环形结构,内核态和用户态。目前只有ring0和ring3。

1.8 I/O保护(简单了解,不学开发很难学习进程的概念)

进程之间相互独立(隔离)

我们防护就重点关注1、2、3、5这几部分。    4、6、7、8是系统的设计和开发者去考虑的

2.windows安全加固

练习1:查看管理员组用户

net localgroup administrators

**注意:**结果大于一个不合规

练习2:添加一个管理员组用户,再修改其类型

1.以管理员身份运行“命令提示符”

2.增加用户,并添加到管理员组【以管理员身份运行cmd

# 1.添加用户testadmin密码test123
net user testadmin test123 /add
# 2.将testadmin用户添加到管理员组administrators 
net localgroup administrators testadmin /add
# 3.查看管理员组所有用户
net localgroup administrators
# 4.把testadmin从管理员组去除
net localgroup administrators testadmin /del
# 5.查看所有组
net localgroup
# 6.查看users组所有用户
net localgroup **users**
# 7.删除用户
net user testadmin /del
# 8.修改用户密码 
net user username newpassword

通过命令对用户的操作net user:用户的添加,删除,修改密码,查看

通过命令对组的操作 net localgroup:用户加入组,从组中删除,查看组的所有用户

3.更改用户类型,打开控制面板用户账户更改账户类型;选择testadmin账户,修改其类型。注意,如果当前是标准用户,重启后再修改

4.修改后,重新查询即可

**练习3:**Windows账户、密码策略、账户授权的安全加固

1.修改缺省账户名称

计算机管理→本地用户和组→用户,右键单击默认管理员账户,对管理员账户进行重命名

2.禁止Guest账户

计算机管理→本地用户和组→用户,右键单击Guest账户,选择属性,在属性对话框中选择“账户已禁用”复选框。

3.设置屏幕锁定

搜索“屏幕保护程序”,打开窗口设置。

4.配置不显示上次登录

本地安全策略→本地策略→安全选项,双击“交互式登录:不显示最后的账户名”,选择已启用,并确定。

5.密码策略与账户锁定策略

本地安全策略→账户策略→密码策略(复杂度)

本地安全策略→账户策略→账户锁定策略

6.用户权限分配

本地安全策略→本地策略→用户权限分配

7.windows入侵防范

最小安装原则,卸载不需要的软件和组件,控制面板→程序和功能

关闭多余的服务,直接搜索"服务",进入服务对话框

**练习4:**Windows审核策略与日志安全加固

1.审核策略检查

本地安全策略→本地策略→审核策略

2.不允许匿名枚举SAM账号与共享

本地安全策略→本地策略→安全选项

3.日志检查

搜索事件查看器,选择windows日志

练习5 查看和关闭共享

1.查看共享

计算机管理→共享文件夹→共享

通过命令查看共享

net share

2.彻底关闭WINDOWS默认共享

a.停止服务法

还是到“计算机管理”窗口中,单击展开左侧的“服务和应用程序”并选中其中的“服务”,此时右侧就列出了所有服务项目。共享服务对应的名称是 “Server”(在进程中的名称为services),找到后双击它,在弹出的“常规”标签中把“启动类型”由原来的“自动”更改为“已禁用”。然后单击下面“服务状态”的“停止”按钮,再确认一下就OK了。

b**. 如果你不在局域网使用共享服务**,干脆将“本地连接”属性中的“网络的文件和打印机共享”卸载掉,默认共享就可以彻底被关闭了。 【运行框输入命令:ncpa.cpl,打开“本地连接”】 c.批处理自启动法。打开记事本,输入一下内容(记得每行最后要回车), 代码如下:

net share c$ /delete
net share d$ /delete
net share ipc$ /delete
net share admin$ /delete

保存未share.bat(注意后缀),然后把这个批处理文件拖到“程序” -->“启动”项,这样每次开机就会运行它,也就是通过net命令关闭共享。

d.通过设置注册表选项,关闭共享

总结一下,windows安全加固常用的操作窗口:

1.本地安全策略 -安全策略

2.计算机管理 -用户和组

3.控制面板 - 入侵防范

4.事件查看器 -日志审计

主机安全检查工具windows版本.rar   蓝奏云

https://wwtt.lanzn.com/b00uydem8d
密码:8jlx    桌面运维的可能会用到 

重点端口排查表:

2.linux安全加固

接下来设置个空口令的账户

练习1:用户操作

添加用户、删除用户、设置用户密码、锁定/解锁用户

1)执行sudo -i,切换到root用户,使用adduser命令增加user1和user2两个用户,密码设置为123456,并使用passwd -d user2为user2用户设置空密码。

tedu@ubuntu:~$ sudo -i
[sudo] tedu 的密码: 
root@ubuntu:~# adduser user1
正在添加用户"user1"...
正在添加新组"user1" (1001)...
正在添加新用户"user1" (1001) 到组"user1"...
创建主目录"/home/user1"...
正在从"/etc/skel"复制文件...
输入新的 UNIX 密码: 
重新输入新的 UNIX 密码: 
passwd:已成功更新密码
正在改变 user1 的用户信息
请输入新值,或直接敲回车键以使用默认值全名 []: 房间号码 []: 工作电话 []: 家庭电话 []: 其它 []: 
这些信息是否正确? [Y/n] 
root@ubuntu:~# adduser user2
正在添加用户"user2"...
正在添加新组"user2" (1002)...
正在添加新用户"user2" (1002) 到组"user2"...
创建主目录"/home/user2"...
正在从"/etc/skel"复制文件...
输入新的 UNIX 密码: 
重新输入新的 UNIX 密码: 
passwd:已成功更新密码
正在改变 user2 的用户信息
请输入新值,或直接敲回车键以使用默认值全名 []: 房间号码 []: 工作电话 []: 家庭电话 []: 其它 []: 
这些信息是否正确? [Y/n] 
root@ubuntu:~# passwd -d user2
passwd:密码过期信息已更改。

2)使用cat /etc/passwd命令查看内容。可以看到刚刚创建的两个用户。浏览所有用户,删除多余的用户。

root@ubuntu:~# cat /etc/passwd|grep user
hplip:x:115:7:HPLIP system user,,,:/var/run/hplip:/bin/false
user1:x:1001:1001:,,,:/home/user1:/bin/bash
user2:x:1002:1002:,,,:/home/user2:/bin/bash

3)使用cat /etc/shadow命令查看内容。user2的第二项为空,说明user2使用的是空密码。使用user2无需口令即可登录。

root@ubuntu:~# cat /etc/shadow|grep user
user1:$6$wA3Q7Qpp$g9z3jITrSygCnGibnhzivPGB8lH9uEjv5GHyvbwz2S5eqD4/t8zAsjiqR7WEqUxcZe0.jNrKYhhjM6I8XHH59/:19614:0:99999:7:::
user2::19614:0:99999:7:::
root@ubuntu:~# reboot
# 使用user2登录无需密码,存在未授权

4)使用userdel 命令 删除user1,使用 passwd user2为设置密码。

# 重新使用tedu登录,切换到root
tedu@ubuntu:~$ sudo -i
[sudo] tedu 的密码: 
root@ubuntu:~# userdel user1
root@ubuntu:~# passwd user2
输入新的 UNIX 密码: 
重新输入新的 UNIX 密码: 
passwd:已成功更新密码
root@ubuntu:~# 

5)使用cat /etc/shadow命令查看内容。已经删除了不再使用的user1用户,user2用户的第二项不为空,表示已经设置了密码。

root@ubuntu:~# cat /etc/shadow|grep user
user2:$6$N/ruyx3c$2FVJ3MPAx2WaEGQNfBPvhZ2TlbaPhzLMtugU4DOClJYEI2aTzuHioAKiF7WcVh28vU/ylZJnc5ZXLlztR.5mP0:19614:0:99999:7:::
root@ubuntu:~# 

6)另外可以使用passwd -l 用户名锁定账号,使用passwd -u 用户名解锁账户。锁定账号user2之后,使用user2无法登录,解锁后又可登录了。

root@ubuntu:~# passwd -l user2
passwd:密码过期信息已更改。
root@ubuntu:~# reboot
# 使用user2登录时,即使使用正确的用户名和密码,仍然显示错误,使用tedu登录,解锁user2
tedu@ubuntu:~$ sudo -i
[sudo] tedu 的密码: 
root@ubuntu:~# passwd -u user2
passwd:密码过期信息已更改。
root@ubuntu:~# reboot

 设置口令有效期,在编辑模式中的一个搜索小技巧

练习2:密码策略

# vi /etc/pam.d/common-password 可以看到这个没有密码复杂安装度相关的模块,所以需安装

安装PAM的cracklib模块,cracklib能提供额外的密码检查能力

# apt-get install libpam-cracklib

使用以下命令查看密码策略设置文件

# vi /etc/pam.d/common-password 

 可以看到没安装之前25行是没有的

 安装后仅仅有最小长度8的检查,那么复杂度在哪设置呢,往下

复杂度

密码最小长度设置,找到如图位置所示,修改最小长度值

找到如下图配置,在后面添加ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1,它表示密码必须至少包含一个大写字母(ucredit),一个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit),具体按照需要修改即可。

注意!!:该模块不会影响原有用户,只再添加新用户时,会进行密码复杂度检查!!!

(不信你用tedu和刚刚新建的账户登录就懂了)(当你再重复之前新建用户的操作时就得强口令了,生效了)

ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

执行以下命令打开login.defs文件,设置口令有效期如图所示

# vi /etc/login.defs

 

禁止root远程登录,其中的PermitRootLogin选项设置为No,或用#注释(如果没有发现文件,ssh没有安装,先往下看)

vi /etc/ssh/sshd_config

如果没有发现文件,ssh没有安装,执行如下命令可以安装

sudo apt install openssh-server
 Linux对文件的权限合理

 

        644相当于对文件夹(6对于属主事可读写的,4+2),文件夹一般是没执行的,而对44于属组,同一组的其他用户以及其他组的用户都只能读,所以是644。

        755表示,比如某一个可执行文件(7=4+2+1,属主对它的权限,属主有读写执行权限),而对于55是同一组的其他用户以及其他组的用户(只有4+1,就是读和执行权限),

        所以我们在检查重要文件和目录时,比如安装了一个网站,都得满足如下

 日志审计

默认情况下,kali和ubuntu都没有审计日志模块,需要安装

# apt-get install auditd

 

检查审计日志模块是否启动

# service auditd status 
 入侵防范

 Linux默认是不安装的,但是有的工作人员想要方便运维可能会去安装,如果需要安装就往下看

**如何在ubuntu系统中安装samba服务 **    可以自行测试下,这里懒得去测试了

ubuntu安装samba_ubuntu samba_一叶知秋@qqy的博客-CSDN博客

Linux基线扫描的脚本(蓝奏云)  

https://wwtt.lanzn.com/b00uydem8d
密码:8jlx

需要的时候再去用

nessus这个玩意,一打开就要你强制去更新漏洞库的,都不让演示先让更新,网上可以找安装包自行测试下

没有定期漏扫在等保这块是不合规,因为不断地会有新的0day漏洞出现。

这篇关于40_操作系统安全机制、linux安全加固、windows安全加固、Linux基线扫描下载、主机安全检查工具windows版本下载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102022

相关文章

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#