怎样通过设置权限来保障服务器密码的安全?
美国、香港服务器
怎样通过设置权限来保障服务器密码的安全?
10-17 来源:
通过设置权限保障服务器密码安全,核心是限制 “谁能接触密码”“谁能修改密码”“谁能通过密码操作服务器”,从权限管控层面切断密码泄露或滥用的路径。以下是针对 Windows 和 Linux 系统的具体操作方法:
一、核心原则:遵循 “最小权限” 与 “权限分离”
所有权限设置需围绕两个原则:
最小权限:仅给用户 / 进程完成工作必需的权限,不额外赋予高权限(如普通运维人员无需 root/Administrator 权限)。
权限分离:将 “密码管理”“服务器操作”“日志查看” 等权限分配给不同角色,避免单人掌握所有权限。
二、Windows 服务器:通过账户与组策略限制权限
1. 限制 “密码修改权限”:仅允许管理员修改关键账户密码
禁止普通用户修改自身密码(按需配置):
若需统一管理密码(如企业运维场景),可通过组策略限制普通用户修改密码:
打开 “本地组策略编辑器”(gpedit.msc),展开 计算机配置→Windows 设置→安全设置→账户策略→密码策略。
启用 “阻止用户更改密码”,并在 “用户账户” 中为普通账户勾选 “用户不能更改密码”(右键 “此电脑→管理→本地用户和组→用户→目标账户→属性”)。
仅赋予管理员 “重置密码” 权限:
普通用户默认无 “重置其他用户密码” 的权限,仅 Administrators 组用户可执行(如通过 “用户账户” 窗口或 net user 命令重置密码),无需额外配置,确保不随意添加非管理员到该组即可。
2. 限制 “密码存储文件的访问权限”:防止密码文件泄露
若通过密码管理工具(如 Keepass)或脚本存储密码(需避免,优先用工具),需限制文件的访问权限:
右键密码文件(如 passwords.kdbx),选择 “属性→安全”。
删除 “Everyone”“Users” 等公共组的权限,仅保留 管理员账户 和 当前使用密码管理工具的用户 的 “读取 + 写入” 权限(其他用户设置为 “拒绝访问”)。
勾选 “高级→禁用继承”,删除所有继承的非必要权限,避免权限泄露。
3. 限制 “通过密码登录的权限”:控制谁能登录服务器
禁止 Guest 账户及无用账户登录:
打开 “本地用户和组→用户”,右键 Guest 账户,选择 “属性”,勾选 “账户已禁用”。
删除或禁用无用账户(如安装系统时生成的默认测试账户、离职人员账户),避免被利用尝试密码登录。
限制远程登录账户(RDP 场景):
仅允许授权用户通过远程桌面登录(避免所有人都能尝试密码):
右键 “此电脑→属性→远程设置”,在 “远程桌面” 中选择 “仅允许运行使用网络级别身份验证的远程桌面的计算机连接”。
点击 “选择用户”,仅添加需要远程登录的管理员或运维账户,删除 “Everyone” 或无关账户。
4. 限制 “密码策略修改权限”:防止策略被篡改
仅允许 Administrators 组用户修改密码相关策略(如密码复杂度、账户锁定阈值):
打开 “本地组策略编辑器”,右键 “密码策略” 或 “账户锁定策略”,选择 “委派”。
仅保留 “Administrators” 的 “读取 + 修改” 权限,其他组(如 Users)设置为 “仅读取” 或 “拒绝访问”,防止普通用户篡改策略(如降低密码复杂度)。
三、Linux 服务器:通过用户组与文件权限限制权限
1. 限制 “密码修改权限”:仅 root 可修改其他用户密码
普通用户仅能修改自身密码:
Linux 中,passwd 命令默认规则为:
普通用户执行 passwd 只能修改自身密码(需输入旧密码验证),无法修改其他用户密码。
仅 root 用户可执行 passwd 用户名 修改其他用户密码(无需旧密码)。
无需额外配置,核心是禁止普通用户通过 sudo 获取 passwd 命令的 root 权限:
编辑 sudoers 文件(visudo 命令,避免直接编辑出错),检查是否有 user ALL=(ALL) /usr/bin/passwd 类配置。
若无需普通用户重置密码,删除此类配置;若需授权,仅允许重置指定普通账户(如 user ALL=(ALL) /usr/bin/passwd test),禁止修改 root 密码。
2. 限制 “密码存储文件的访问权限”:保护 /etc/shadow 等关键文件
Linux 密码哈希存储在 /etc/shadow(普通用户无读取权限),需确保该文件权限不被篡改:
检查 /etc/shadow 权限:执行 ls -l /etc/shadow,正常权限应为 -rw------- 1 root root(仅 root 可读写,其他用户无任何权限)。
若权限异常,执行 chmod 000 /etc/shadow 和 chown root:root /etc/shadow 恢复,避免普通用户读取密码哈希。
限制 sudoers 文件权限:/etc/sudoers 是 sudo 权限配置文件,权限需为 -r--r----- 1 root root(仅 root 可修改,wheel 组可读取),执行 chmod 440 /etc/sudoers 确保安全。
3. 限制 “通过密码登录的权限”:控制 SSH 与本地登录
禁止 root 用户直接登录 SSH:
避免黑客尝试破解 root 密码(即使破解普通用户,也需通过 sudo 提权,增加防护层):
编辑 SSH 配置文件 sshd_config(vi /etc/ssh/sshd_config)。
找到 PermitRootLogin,设置为 no(禁止 root 直接 SSH 登录),保存后重启 SSH 服务(systemctl restart sshd)。
仅允许指定用户 SSH 登录:
限制 SSH 登录用户范围,避免无关账户被尝试密码:
在 sshd_config 中添加 AllowUsers user1 user2(仅允许 user1 和 user2 SSH 登录),多个用户用空格分隔。
重启 SSH 服务,其他用户即使有密码也无法通过 SSH 登录。
4. 限制 “密码策略修改权限”:仅 root 可调整密码规则
Linux 密码策略(如密码长度、复杂度)通过 /etc/login.defs 或 pam 模块配置,仅 root 可修改这些文件:
检查 /etc/login.defs 权限:执行 ls -l /etc/login.defs,确保权限为 -rw-r--r-- 1 root root(仅 root 可修改)。
禁止普通用户修改 PAM 配置(/etc/pam.d/ 目录):执行 chown -R root:root /etc/pam.d/ 和 chmod -R 644 /etc/pam.d/,避免普通用户篡改密码验证规则。
四、通用措施:限制 “密码相关操作的日志权限”
日志可记录 “谁修改了密码”“谁尝试登录”,需限制日志访问权限,防止黑客删除日志掩盖痕迹:
Windows:
打开 “事件查看器→Windows 日志→安全性”,右键 “属性”,在 “安全” 标签页中,仅允许 Administrators 组 “读取” 和 “清除” 日志,其他用户设置为 “拒绝访问”。
Linux:
系统登录日志(/var/log/auth.log 或 /var/log/secure)权限需为 -rw-r----- 1 root adm(仅 root 和 adm 组可读取),执行 chmod 640 /var/log/auth.log 确保安全。
禁止普通用户执行 rm echo > 等命令删除或清空日志(通过 sudoers 限制,或使用日志审计工具如 auditd 监控日志修改)。
五、关键验证:检查权限配置是否生效
验证 “普通用户能否修改管理员密码”:
Windows:用普通用户登录,尝试修改 Administrator 密码(如通过 “控制面板→用户账户”),应提示 “权限不足”。
Linux:用普通用户执行 passwd root,应提示 “只有 root 可以做到这一点”。
验证 “日志能否被普通用户删除”:
Windows:用普通用户尝试 “清除安全性日志”,应提示 “需要管理员权限”。
Linux:用普通用户执行 rm /var/log/auth.log,应提示 “权限被拒绝”。
验证 “SSH 登录限制”:
用未在 AllowUsers 中的用户 SSH 登录,应提示 “Permission denied, please try again.”。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快