网络安全爱好者
Toggle navigation
主页
归档
标签
关于我
Linux基线
2024-04-30 12:02:27
21
admin
### 一、Linux账号管理与认证授权 #### 1.1 用户帐号口令设置 操作方法: ``` 检查是否存在空口令账号 awk -F: '($2==""){print$1}' /etc/shadow 有输出则存在,无输出则不存在 检查密码设置符合安全策略 vim /etc/login.defs 检查以下参数: PASS_MAX_DAYS 密码最长过期天数 参考值90 PASS_MIN_DAYS 密码最小过期天数 参考值80 PASS_MIN_LEN 密码最小长度 参考值8 PASS_WARN_AGE密 码过期警告天数参考值 7 ``` 预期结果:密码设置符合安全策略,且不存在空口令账号 #### 1.2 root用户远程登录限制 操作方法: ``` 设置sudo用: 1.新建用户 useradd -m test passwd test 2.设置用户sudo权限 chmod u+w /etc/sudoers && vim /etc/sudoers 添加: test ALL=(ALL:ALL) ALL chmod u-w /etc/sudoers 测试sudo用户是否可用 su test sudo id 输出的结果为:uid=0(root) gid=0(root) groups=0(root) 关闭root用户远程登录 修改sshd_config文件 vim /etc/ssh/sshd_config PermitRootLogin 删除前面的#号并且修改为no 重启sshd服务 执行systemctl restart sshd 或 systemctl restart ssh ``` 预期结果:root用户无法直接登陆ssh,以sudo新用户身份登录系统后,执行sudo命令可获取root操 作权 #### 1.3 检查是否存在除 root 之外 UID 为 0 的用户 操作方法: ``` awk -F: '($3==0){print$1}' /etc/passwd ``` 预期结果:返回值应只有“root”条目,UID为0的任何用户都拥有系统的最高特权,保证只有root用户 的UID为0 #### 1.4 启用密钥登陆,关闭密码登陆 操作方法: ``` 生成密钥: ssh-keygen 配置id_rsa.pub: cat /home/kali/.ssh/id_rsa.pub >> /home/kali/.ssh/authorized_keys 取出 id_rsa 使用 id_rsa 登陆ssh ssh kali@ip -i id_rsa 关闭密码登陆 vim /etc/ssh/sshd_config PasswordAuthentication no #禁止密码登录 重启ssh服务 执行systemctl restart sshd 或 systemctl restart ssh ``` 预期效果:无法直接使用密码登陆,必须使用id_rsa ### 二、Linux系统文件与访问控制 #### 2.1 远程连接的安全性配置 操作方法 ``` 检查.netrc文件 find / -name .netrc 2>/dev/null .netrc 文件是一种用于存储网络认证信息的文件,通常用于命令行工具(例如FTP、Git、Curl 等)在与远程服务器进行身份验证时使用。这个文件包含了一系列匹配规则和对应的用户名密码 信息,当需要连接到远程服务器时,相应的工具会检查该文件中是否有匹配的规则,并使用其对 应的用户名和密码进行认证。 检查.rhosts文件 find / -name .rhosts 2>/dev/null .rhosts文件是Unix和类Unix系统中用于远程主机认证的文件。通常,它包含了一系列允许访问本 地服务器上的文件或服务的主机名和用户列表。当远程主机尝试访问本地主机时,本地主机会检 查远程主机是否在.rhosts 文件中,如果是,则允许它通过身份验证并访问相应的文件或服务。 ``` 预期结果:系统中无.netrc 与 .rhosts 文件 #### 2.2 用户umask 安全配置 操作方法: ``` cat /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc 2>/dev/null |grep umask 检查是否包含umask值 umask 是一个Unix/Linux系统中用于设置文件和目录的默认访问权限的命令或参数。它代表用户 掩码(user mask)。 在Unix/Linux系统中,每个文件和目录都分配了一组访问权限,包括读取(r)、写入(w)和执 行(x)权限。这些权限决定了谁可以对文件进行何种操作。当创建新文件或目录时,默认的权 限由 umask 值来确定。 例如,如果 umask 值设置为 022,则新创建的文件将被设置为权限 644(即用户可读写,其他 人只能读取),新创建的目录将被设置为权限 755(即用户具有完全权限,其他人只能访问)。 ``` 预期结果:无umask值 #### 2.3 重要目录和文件的权限设置 操作步骤: ``` 查找未授权的 SUID/SGID 文件 find / -perm -04000 2>/dev/null find / -perm -02000 2>/dev/nul 检查任何人都有写权限的目录 : find / -type d -perm -o+w 2>/dev/null 检查隐藏文件和目录: find / -name ".*" -print -xdev find / -name ".. *" -print -xdev ``` 预期结果:无未授权的suid/sgid权限, 无未授权的可写权限目录,无未授权的隐藏文件或目录 #### 2.4 系统 core dump 状态 核心转储(core dump)是指在程序崩溃或异常结束时,将程序的内存内容保存到磁盘上的一种 机制。虽然核心转储对于调试应用程序非常有用,但也可能带来安全风险。 操作方法: ``` vim /etc/security/limits.conf 添加: * soft core 0 * hard core 0 ``` 预期结果:关闭core dump ### 三、Linux日志审计 syslog 登录事件记录 操作方法: ``` more /etc/rsyslog.conf 查看参数authpriv值 ``` 预期结果:对所有登录事件都记录
上一篇:
Nmap
下一篇:
Windows基线
导航窗格