系统安全
文章目录
一、账号清理
锁定账号
usermod -L 用户名 或 passwd -l 用户名
解锁账号
usermod -U 用户名 或 passwd -u 用户名
查看账号状态
passwd -S 用户名
删除账号
userdel -r 用户名
1.密码安全
- chage 控制账户的密码
/etc/login.defs 密码配置文件位置
PASS_MAX_DAYS 30 #设置密码有效期为30天
PASS_MIN_DAYS 0 #修改密码后时隔多久才能再次更改
PASS_WARN_AGE 7 #密码到期前7天系统开始提示
chage -M 30 lisi #设置lisi用户密码有效期为30天
2.锁定文件
- chattr +i 文件绝对路径 #锁定文件
锁定后的文件不可删除、更改、只能查看
-
chattr -i 文件绝对路径 #解锁文件
-
lsattr 文件绝对路径 #查看锁定状态
二、命令历史限制
- history 查看命令历史记录
-c 临时清楚,它只清理内存缓存,重启后会恢复
echo " " > ~/.bash_history #清空记录直接覆盖
/etc/skel/.bash_logout文件加rm -f $HOME/.bash_history #用户每次登出删除历史记录
- /etc/profile #系统所有用户登录加载文件
export HISTSIZE=15 #只保留15行记录
- .bash_profile 用户登录所加载的文件
终端自动注销
vi /etc/profile #配置文件
export TMOUT=600 #用户挂机六百秒将会登出
三、切换用户 su
任何用户默认多可以使用su命令
在/etc/pam.d/su文件里设置禁用用户使用su命令
2 #auth sufficient pam_ rootok.so
6 #auth required pam_wheel.so use_uid
1.开启1注释2默认状态,允许用户使用su命令进行切换
2.两行都注释所有用户都能使用su,root切换普通用户需要使用密码
3.两行都开启,表示只有root和wheel组内用户才可以用su命令
4.注释第1行开启2,表示只用wheel组使用su命令,root被禁用su命令
auth sufficient pam_wheel.so trust use_uid #wheel组员su切换root无需密码
auth required pam_wheel.so use_uid #非wheel组员无法su切换到root
应用联系
gpasswd -a zhangsan wheel #将zhangsan加入wheel组
1.认证模块PAM
PAM使用/etc/pam.d下的配置文件,应用程序调用pam配置文件
pam认证一般遵循顺序:service服务–>pam配置文件–>pam_*so
ls etc/pam.d #查看程序是否支持pam
2.权限调用 sudo
配置文件地址:/etc/sudoers
-l 列出主机上可用和被禁止的命令
-v 验证用户时间戳,输入密码后短时间不用重新输入
-u 指定某个用户特定操作
-k 删除时间戳
四、终端登录安全控制
禁用普通用户登录,用于系统维护
touch /etc/nologin #除root以外用户不能登录
vi /etc/securetty #修改终端
ctrl+alt+f(1-6) #切换终端
1.端口扫描 nmap
rpm -qa | grep nmap #列出安装过的rpm包,筛选出nmap
yum install -y nmap #默认确认安装nmap
nmap -sT 127.0.0.1 #扫描tcp端口
nmap -sU 127.0.0.1 #扫描udp端口
nmap -sP 127.0.0.1 #扫描icmp端口
nmap -P0 #静ping临时
内核优化
vim /etc/sysctl.conf #开启内核优化编辑末行插入net.ipv4.ip_firward=1
2.网络状态信息 netstat
netstat -natp #查看正在运行的tcp协议网络状态信息
netstat -naup #查看正在运行的udp协议网络状态信息
netstat -natp | grep 80 #可以查看端口80服务有没有启动
协议tcp/udp tcp
队列接受/发送 0/0
ip:port :::80
LISTEN 状态包含连接、断开、等待
PID进程任务 3459/httpd
五、日志分析
1.inode与block
inode索引节点:用于储存文件元信息
block块:连续八个扇区组成一个block、是文件存取的最小单位
- stat #查看文件inode信息
find ./ -inum 523055140 -delete #指定文件inode值删除
时间属性
ctime 最后一次改变文件/目录时间
atime 最后一次访问文件/目录时间
mtime 最后一次修改文件/目录时间
- df -i 查看每个硬盘分区的inode总数和已经使用的数量
移动或重命名时只改变文件名不影响inode号码
打开文件后,系统只通过inode号识别文件跳过文件名
2.分析日志文件
/ar/log 日志文件位置
内核及公共消息日志 | /var/log/messages |
---|---|
计划任务日志 | /var/log/cron |
系统引导日志 | /var/log/dmesg |
邮件系统日志 | /var/log/maillog |
用户登录日志 | /var/log/maillog /var/log/decure /var/log/wtmp /var/run/btmp |
日志消息级别
级号 | 消息 | 级别 | 说明 |
---|---|---|---|
0 | RMERG | 紧急 | 会导致主机系统不可用的情况 |
1 | ALERT | 警告 | 必须马上采取措施解决的问题 |
2 | CRIT | 严重 | 比较严重的情况 |
3 | ERR | 错误 | 运行出现错误 |
4 | WARNING | 提醒 | 可能会影响系统功能的事件 |
5 | NOTICE | 注意 | 不会影响系统但值得注意 |
6 | INFO | 信息 | 一般信息 |
7 | DEBUG | 调试 | 程序或系统调试信息等 |
3.用户日志分析
保存了用户登录、退出系统等相关信息
/var/log/lastlog 最近的用户登录事件
/var/log/wtmp 用户登录、注销及系统开关机事件
/var/run/utmp 当前登录的每个用户的详细信息
/var/log/secure 与用户验证相关的安全性事件
分析工具
users 、who、 w、 last、lastb
4.程序日志分析
相应的应用程序独立进行管理
web服务:/var/log/httpd
access_log、 error_log
代理服务: /var/log/squid
accesslog、cache.log
FTP服务:/var/log/xferlog
分析工具
文本查看、grep过滤检索、webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
分析工具
users 、who、 w、 last、lastb
4.程序日志分析
相应的应用程序独立进行管理
web服务:/var/log/httpd
access_log、 error_log
代理服务: /var/log/squid
accesslog、cache.log
FTP服务:/var/log/xferlog
分析工具
文本查看、grep过滤检索、webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
webalizer、awstats等专用日志分析工具