【Linux】等保(三级)核查の操作命令笔记(部分)

一、身份鉴别

a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复 杂度要求并定期更换

1、应核查用户在登陆时是否采用了身份鉴别措施

用户登录服务器需要使用账户+账户口令。

2、应核查用户列表确认用户身份标识是否具有唯一性

more /etc/passwd
//查看命令结果,第三字段不存在相同数字、用户名不存在相同名称。
在这里插入图片描述
在这里插入图片描述

3、应核查用户配置信息或测试验证是否不存在空口令用户

more /etc/shadow
//查看命令结果,红框内的乱码表示加密以后的账户口令
//红色框内的(!*)号代表该账户已锁定、或者禁用。
在这里插入图片描述
在这里插入图片描述

4、应核查用户鉴别信息是否具有复杂度要求并定期更换。

more /etc/login.defs
// 查看命令结果是否有设置密码长度,复杂度。
1)PASS_MAX_DAYS=90(密码登录有效期时间)
2)PASS_MIN_DAYS=0(密码最短修改时间)
3)PASS_MIN_LEN=8(密码最小长度)
4)PASS_WARN_AGE=7(密码过期前提前多少天提醒)
在这里插入图片描述
在这里插入图片描述

4.1、服务器密码复杂的策略

more/etc/pam.d/system-auth
//password requisite 里面设置密码相关的策略(pam _cracklib.so策略里)
retry=5(尝试登录次数)
authtok_type= difok=3(新密码与旧密码有多少位能一样)
minlen=7(密码长度)
ucreddir=-1 (最少包含一个大写字母)
lcredit=-3 (最少有三个小写字母)
dcredit=-3 (最少有三个数字)

在这里插入图片描述

在这里插入图片描述

b) 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施

1、应核查是否配置并启用了登录失败处理功能;

2、应核查是否配置并启用了限制非法登录功能,非法登录达到一定次数后采取特定动作,如账号锁定等;

本地登录的失败处理:
more /etc/pam.d/system-auth
more /etc/pam.d/login
使用SSH远程登录的失败处理:
more /etc/pam.d/sshd

//文件中包含auth required pam_tally2.so onerr=fail deny=5 unlock_time=300 even_d
eny_root root_unlock_time=10
deny尝试登录次数
time锁定时间(秒)
even_deny root (锁定root账户)

2.1本地登录(system-auth文件)

more /etc/pam.d/system-auth
在这里插入图片描述

在这里插入图片描述

2.2本地登录(login文件)

more /etc/pam.d/login
在这里插入图片描述
在这里插入图片描述

2.3远程SSH文件(sshd文件)

more /etc/pam.d/sshd
在这里插入图片描述

在这里插入图片描述

3、应核查是否配置并启用了登录连续超时及自动退出功能

more /etc/profile
//文件中包含了(TMOUT=300)

c) 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听

1、是否运行SSHD服务

systemctl status sshd.service
或者
service --status-all |grep sshd

//检查命令结果显示为:
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since 三 2021-07-14 15:56:20 CST; 43min ago
Main PID: 1414 (sshd)

//running 绿色表示正在运行

在这里插入图片描述

在这里插入图片描述

2、是否打开SSHD服务对应端口22端口

netstat -an |grep 22
 
//查看22端口是否正在被SSHD监听

在这里插入图片描述

在这里插入图片描述

3、是否打开了Telnet服务

systemctl list-unit-files |grep telnet
 
//查看命令结果是否存在telen服务(应为不存在)

在这里插入图片描述

在这里插入图片描述

4、是否打开了Telnet服务的对应端口23端口

netstat -an |grep 23
 
//查看23端口是否正在被Telnet监听(应为不存在)

在这里插入图片描述

在这里插入图片描述

d) 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别, 且其中一种鉴别技术至少应使用密码技术来实现。

1、应核查是否采用动态口令、数字证书、生物技术和设备指纹等两种或两种以上组合的鉴别技术对用户身份进行鉴别。

2、应核查其中一种鉴别技术是否使用密码技术来实现。

lua //询问管理员,除了输入密码登录还有什么方式能够进行身份鉴别,这个方法有没有采用密码技术。

二、访问控制

a) 应对登录的用户分配账户和权限

1、应核查是否为用户分配了账户和权限及相关设置情况

umask
//查看服务器的umask=0027

在这里插入图片描述

在这里插入图片描述

umask命令:设置了用户创建文件的默认 权限
linux 中umask的作用(推荐扩展)
linux中umask值的说明与设置修改
如何实现

◆ umask 命令(权限默认值)
文件或目录创建后都有其默认权限,而默认权限的设置与查看,由umask负责。
可以直接执行umask命令来查看umask的值。新建文件的默认权限则由数字666减去umask值,而新建目录的权限则由数字777减去umask
的值。root用户的默认umask值为「0022」。则新建文件的权限为 666-022=644、新建目录的权限为 777-022=755。
※注:文件默认权限用666减去umask后可能会出现个位为奇数的情况,这样就会默认具有执行权限。为避免这种现象,系统会自行将奇数>+1。例如:666-125=541(r-x rw- –x),所有奇数+1后,实际权限为642(rw- r– -w-)

◆ 例子 : 确认当前umask值

$ umask
0022
※ umask值可以由用户指定。

※ 如需长期使用,umask设置需要写入配置文件。全局设置: /etc/bashrc 用户设置:~/.bashrc

◆ 例子 : 把umask值从0022变为0027

$ umask 0027
※ 变更umask值后新建文件的权限即为(-rw r– —)。
———— 如果要永久更改umask的值,可以将命令添加至/etc/profile或/etc/bashrc文件中
对已存在文件/目录无效,只会对新建生效。

2、应核查是否已禁用或限制匿名、默认账户的访问权限

more /etc/shadow
//查看命令返回结果 第二字段为(!*)表示该账户已锁定
//uucp、nuucp、lp、adm、shutdown均为默认账户

在这里插入图片描述
在这里插入图片描述

3、查看文件的权限合理性

ls -l /etc/passwd
ls -l /etc/shadow
ls -l /etc/profile
ls -l /etc/inet.conf
ls -l /etc/rc3.d
 
//(开头D为目录、L为链接、B设备文件)
//配置文件不大于644、可执行文件不大于755(r读、w写、x执行)

在这里插入图片描述
在这里插入图片描述

b) 应重命名或删除默认账户,修改默认账户的默认口令

1、应核查是否已经重命名默认账户或默认账户已被删除

more /etc/shadow
//查看命令结果,是否存在adm、lp、sync、shutdown、halt、mail、uucp、
operator、games、gopher、ftp等默认无用账户。

//默认情况下一般都没更改
在这里插入图片描述
在这里插入图片描述

2、应核查是否已修改默认账户的默认口令

//询问管理员是否重命名默认账户与更改默认口令。

3、查看root账户能否远程登录

/etc/ssh/sshd_config
 
//查看命令结果,应该为  PermitRootLogin NO(命令前面不能带#号,否则就算是有也是无效,#代表注释改行。)

在这里插入图片描述
在这里插入图片描述

c) 应及时删除或停用多余的、过期的账户,避免共享账户的存在

1、应核查是否不存在多余或过期账户,管理员用户与账户之间是否一一对应

//询问管理员,是否每个账号对应到个人
 
more  /etc/shadow
 
//禁用或删除不需要的系统默认账户,如games,news,ftp,lp,halt
,shutdown等
//特权账户halt、shutdown是否已被删除

在这里插入图片描述
在这里插入图片描述

2、应测试验证多余的、过期的账户是否被删除或停用

more /etc/shadow
 
//过期的账户,特权用户halt.shutdown已删除。

3、避免账户共用现象存在

//询问管理员,是否一人一号登录系统

d) 应授予管理用户所需的最小权限,实现管理用户的权限分离

1、应核查是否进行角色划分

//询问管理员是否建立了,系统管理员、安全管理员、审计管理员账户
### 解决方案 在 Windows 上,默认情况下 `wget` 并不是一个内置命令。因此,在尝试执行类似于 `wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh` 的操作时会报错,提示 “wget 不是内部或外部命令”。以下是针对此问题的具体解决方案: #### 方法一:通过 Anaconda 自带工具完成文件下载 可以直接利用 Anaconda 提供的 Python 工具来替代 `wget` 命令。例如,使用 `urllib` 或者 `requests` 库实现文件下载功能。 ```python import urllib.request url = "https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh" file_name = "Anaconda3-2023.03-1-Linux-x86_64.sh" try: urllib.request.urlretrieve(url, file_name) print(f"{file_name} 下载成功!") except Exception as e: print(f"下载失败: {e}") ``` 这种方法无需额外安装任何软件即可完成目标文件的获取[^1]。 #### 方法二:手动安装 wget 工具 如果希望继续使用 `wget` 命令,则可以通过以下方式将其引入至 Windows 系统环境中: 1. **从官方源下载可执行程序** 访问官方网站或者可信第三方资源站点(如 GnuWin32),下载适用于 Windows 的预编译版 `wget.exe` 文件。 2. **设置 PATH 变量** 将解压后的 `wget.exe` 所处目录路径加入系统的环境变量 `PATH` 中。具体步骤如下: - 右键单击“我的电脑”,选择属性 -> 高级系统设置 -> 环境变量; - 在弹出窗口里找到并编辑名为 `Path` 的条目,追加存放 `wget.exe` 的绝对地址;保存更改后重启终端验证效果。 完成后便可以在任意位置调用该指令而不再收到错误消息[^2]。 #### 方法三:借助 PowerShell 实现相同目的 PowerShell 是微软推出的一款强大脚本语言兼交互式shell界面,它同样支持网络请求类的操作语法简单直观。下面给出一段示范代码用于演示如何采用这种方式达成任务需求: ```powershell $url = "https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh" $output = "$pwd\Anaconda3-2023.03-1-Linux-x86_64.sh" Invoke-WebRequest -Uri $url -OutFile $output if(Test-Path -Path $output){ Write-Host "`nDownload completed successfully." }else{ Write-Warning "Failed to download the specified URL!" } ``` 上述方法均能有效规避原生缺乏 `wget` 支持所带来的困扰,并顺利完成预期中的资料抓取作业[^3]。 --- ### 注意事项 当配置好以上任一种途径之后再回到最初提到过的关于 Jupyter Notebook 启动异常状况时,请务必确认是否存在其他潜在因素干扰正常流程运转比如但不限于防火墙策略设定不当等问题描述中提及的日志片段显示可能存在缩进格式不匹配引发解析失败情形需仔细核查对应配置文档内容准确性确保无误后再重新尝试启动服务进程[^5]。 此外按照指引正确关联虚拟运行空间与笔记型应用程式内核以便于后续开发调试工作顺利开展[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值