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

相关文章

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

MySQL中的锁机制详解之全局锁,表级锁,行级锁

《MySQL中的锁机制详解之全局锁,表级锁,行级锁》MySQL锁机制通过全局、表级、行级锁控制并发,保障数据一致性与隔离性,全局锁适用于全库备份,表级锁适合读多写少场景,行级锁(InnoDB)实现高并... 目录一、锁机制基础:从并发问题到锁分类1.1 并发访问的三大问题1.2 锁的核心作用1.3 锁粒度分

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

sqlite3 命令行工具使用指南

《sqlite3命令行工具使用指南》本文系统介绍sqlite3CLI的启动、数据库操作、元数据查询、数据导入导出及输出格式化命令,涵盖文件管理、备份恢复、性能统计等实用功能,并说明命令分类、SQL语... 目录一、启动与退出二、数据库与文件操作三、元数据查询四、数据操作与导入导出五、查询输出格式化六、实用功

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令