安全加固——Linux

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

UID格式解析



1.1.3 鉴别方法与信息存储
用户所知、用户所有、生物特征
windows:SAM数据库

Linux:/etc/shadow文件

shadow格式解析

1.2访问控制

1.3最小特权
windows设置 本地安全策略→本地策略→用户权限分配
1.4可信通路
在用户和程序之间建立一条可信通路,阻止任何进程的运行。例如:系统登录
1.5安全审计
计算机管理→事件查看器→windows日志、应用程序和服务日志、应用程序访问日志
1.6存储保护
Windows NTFS系统,早期的FAT32不支持
Linux ext4文件系统
1.7运行保护
环形结构,内核态和用户态。目前只有ring0和ring3。
1.8 I/O保护
进程之间相互独立

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入侵防范
最小安装原则,卸载不需要的软件和组件,控制面板→程序和功能
关闭多余的服务,直接搜索"服务",进入服务对话框
10分钟,完成练习3,11:40回来
练习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.事件查看器 -日志审计
5.服务
主机安全检查工具windows版本.rar
重点端口排查表.png

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:密码策略
安装PAM的cracklib模块,cracklib能提供额外的密码检查能力
# apt-get install libpam-cracklib
使用以下命令查看密码策略设置文件
# vi /etc/pam.d/common-password 
密码最小长度设置,找到如图位置所示,修改最小长度值

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

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

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



禁止root远程登录,其中的PermitRootLogin选项设置为No,或用#注释
vi /etc/ssh/sshd_config
如果没有发现文件,ssh没有安装,执行如下命令可以安装
sudo apt install openssh-server


默认情况下,kali和ubuntu都没有审计日志模块,需要安装
# apt-get install auditd
检查审计日志模块是否启动
# service auditd status 

 

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lyx-0607

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值