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

ops/2024/9/22 23:44:19/

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漏洞出现。


http://www.ppmy.cn/ops/98805.html

相关文章

【多线程基础】Java线程的六种状态

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:Java多线程 📚本系列文章为个人…

框架——MyBatis查询(单表查询,多表联查)

目录 1.单表查询 2.多表查询 想查询student并且查询student所选择的专业major ①通过id查一个 ②不传入值直接查所有的学生列表 ③嵌套查询 想查询专业major并且查询该专业被哪些学生student选择 ①通过id查一个 ②不传入值直接查所有的专业列表 ③嵌套查询 3. 设置自动…

R 语言学习教程,从入门到精通,R Excel 文件使用(18)

1、R Excel 文件 Excel 格式的文件主要是 xls 或 xlsx,这两种文件可以在 R 语言中导入 xlsx 库来实现直接的读取。 R 语言读写 Excel 文件需要安装扩展包,我们可以在 R 到控制台输入以下命令来安装: install.packages("xlsx", re…

java设计模式--创建型设计模式

创建型模式可分为:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式 单例模式 单例模式 就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个获取其对象的方法(静态方法&#xf…

Apache Paimon V0.9最新进展

摘要:本文整理自 Paimon PMC Chair 李劲松老师在 8 月 3 日 Streaming Lakehouse Meetup Online(Paimon x StarRocks,共话实时湖仓架构)上的分享。主要分享 Apache Paimon V0.9 的最新进展以及遇到的一些挑战。 一、Paimon&#x…

AI学习记录 - 怎么理解 torch 的 nn.Conv2d

有用就点个赞 怎么理解 nn.Conv2d 参数 conv_layer nn.Conv2d(in_channels1, out_channels 10 // 2, kernel_size3, stride2, padding0, biasFalse) in_channels in_channels 可以设置成1,2,3,4等等都可以,一般来说做图像识别…

无人机之如何利用无人机进行地形测绘

一、无人机的选择 多旋翼无人机:多旋翼无人机具有较好的稳定性和悬停能力,适用于复杂地形和需要高精度影像测绘任务。 固定翼无人机:固定翼无人机飞行速度快,续航能力强,更适合大面积的地形测绘工作。 消费级无人机…

ant design pro 的表分层级如何处理

ant design pro 如何去保存颜色ant design pro v6 如何做好角色管理ant design 的 tree 如何作为角色中的权限选择之一ant design 的 tree 如何作为角色中的权限选择之二ant design pro access.ts 是如何控制多角色的权限的ant design pro 中用户的表单如何控制多个角色ant des…