| 其他问题 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
一、账号安全控制 账号安全基本措施 将非登录用户的Shell设为/sbin/nologin【禁止用户登录】 usermod -s /sbin/nologin 用户名 锁定长期不使用的账号 usermod -L 用户名 passwd -l 用户名 passwd -S 用户名 删除无用的账号【定期清理、手动删除】 userdel [-r] 用户名 /etc/shadow ###例如:手动删除修改【慎用】 锁定账号文件passwd、shadow chattr +i /etc/passwd /etc/shadow ###锁定文件并查看状态 lsattr /etc/passwd /etc/shadow ###查看文件锁定状态 chattr -i /etc/passwd /etc/shadow ###解锁文件 二、系统引导和登录控制 密码安全控制 设置密码有效期 要求用户下次登录时修改密码 vi /etc/login.defs ###修改密码配置文件,适用于新建用户 ...... chage -M 30 lisi cat /etc/shadow | grep lisi 命令 历史限制 减少记录的命令条数 登录时自动清空命令历史 vi /etc/profile ###设置系统上所有用户的shell环境变量 export HISTSIZE=200 ###设置历史记录中保存的命令行数量是200 source /etc/profile ###使得`/etc/profile`文件中定义的环境变量对当前shell生效。 ###实际上是在当前shell会话中重新加载配置文件。 vi ~/.bashrc ###打开用户家目录下的`.bashrc`文件修改shell配置 echo "" >~/.bash_history ###清空用户的家目录下的`.bash_history`文件 终端自动注销 闲置600秒自动注销 vi /etc/profile ###设置系统上所有用户的shell环境变量 ...... export TMOUT=600 ###设置bash shell的超时时间为600秒,即10分钟 source /etc/profile ###重新加载配置文件 ps:若设置了6秒自动注销怎么办? 1.复制/etc/profile覆盖 2.脚本 使用SU命令切换用户 用途 及用法 用途: Substitute User 切换用户 格式: su -目标用户 密码验证 root->任意用户,不验证密码 普通用户->其他用户,验证目标用户的密码 限制使用su命令的用户 将允许使用su命令的用户加入wheel组 启用pam_wheel认证模块 【PAM:系统相关的认证权限管理,Linux系统中较为全面的安全管理的程序】 pgasswd -a tsengyia wheel ###将用户`tsengyia`添加到名为`wheel`的用户组中。 tsengyia 正在将用户"tsengyia" 加入到"wheel"组中 vi /etc/pam.d/su #%PAM-1.0 ...... Linux中的PAM安全认证 su命令的安全隐患 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换 PAM(Pluggable Authentication Moudules)可插拔认证模块 是一种高效而且灵活便利的用户级别的认证方式 也是当前Linux服务器普遍使用的认证方式 PAM认证原理 一般遵循的顺序 Service(服务)->PAM(配置文件)->pam*.so_ 首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证 不同的应用程序所对应的PAM模块是不同的 PAM认证的构成 查看某个程序是否支持PAM模块认证 ls /etc/pam.d | grep su 查看su的PAM配置文件: cat /etc/pam.d/su 每一行都是一个独立的认证过程 每一行可以区分为三个字段 认证类型 控制类型 PAM模块及其参数 PAM安全认证流程 控制类型也称做Control Flags,用于PAM验证类型的返回结果 服务启动 :服务启动时,会调用PAM进行用户认证。 加载PAM模块 :PAM加载负责认证的模块。 用户认证 :认证模块要求用户提供凭证(如密码)。 验证凭证 :认证模块检查提供的凭证是否有效。 继续或失败 :如果凭证有效,PAM继续调用下一个模块;如果无效,认证失败。 会话管理:所有认证模块执行完毕后,PAM管理会话,服务根据认证结果继续或拒绝操作。 使用sudo机制提升权限 su命令的缺点(安全,历史命令等等) sudo命令的用途及用法 用途:授权普通用户、记录审计、控制权限等等。 配置sudo授权 visudo或者 vi /etc/sudoers 记录格式 visudo ....... 查看sudo操作记录 需启用Defaults logfile 配置 默认日志文件: /var/log/sudo visudo Defaults logfile = "/var/log/sudo" tail /var/log/sudo ..... 查看授权的sudo操作 sudo -l 终端登录安全控制 安全终端配置: /etc/securetty 禁止普通用户登录 建立/etc/noglogin文件 删除nologin文件或重启后即恢复正常 touch /etc/nologin rm -rf /etc/nologin 三、弱口令检测 Joth the Ripper,简称为 JR 一款密码分析工具,支持字典式的暴力破解 通过对shadow文件的口令分析,可以检测密码强度 官方网站:http://www.openwall.com/john/ 四、端口扫描 网络端口扫描 NMAP 一款强大的网络扫描、安全检测工具,支持 ping 扫描、多端口检测等多种技术。 官方网站:http://nmap.org/ CentOS 7.3光盘中安装包 nmap-6.40-7.el7.x86_64.rpm 安装 rpm -qa | grep nmap yum install -y nmap NMAP的扫描 shell复制代码 nmap [扫描类型] 【选项】 《》 示例 -sS、-sT、-sF、-sU、-sP、-P0 分别查看本机开放的TCP端口、UDP端口 nmap -sT 127.0.0.1 nmap -sU 127.0.0.1 - **检测192.168.4.0/24网段有哪些主机提供FTP服务** nmap -p 21 192.168.4.0/24 - **检测192.168.4.0/24网段有哪些存活主机** nmap -n -sP 192.168.4.0/24 nmap命令常用的选项和扫描类型
ps: 这些选项可以单独使用,也可以组合使用,以适应不同的扫描需求。 例如,nmap -p 80,443 -sS target将执行针对目标主机的80和443端口的SYN扫描。 五、补充 netstat命令 概述 用来显示各种网络相关信息,如网络连接、路由表、接口统计等。 常用选项
输出列
示例 netstat -a 显示所有连接 netstat -l 显示监听中的服务 netstat -r 显示路由表 netstat -s | grep TCP 显示TCP连接状态统计 netstat -i 显示所有网络接口信息
|







关注官方微信