Loading

Linux系统安全

 

账户安全

用户的基本概念

 

 

账户风险与安全策略

  • 特权用户排查
# 不能包含root以外的UID为0的用户
awk -F: '($3 ==0){print $1}' /etc/passwd

 

文件系统安全

文件系统的格式

 

 

安全访问与权限设置

  • 排查任何人都有写权限的目录
find / -xdev -type f \(-perm -0002 -a !-perm -1000 \) -print
find / -xdev -type d \(-perm -0002 -a !-perm -1000 \) -print
  • 配置默认的umask值:027
  • 检查未授权的SGID/SUID 
find / -type f -perm -6000 -ls

 

日志分析

系统日志的分类

    对于日常服务器的运行状态是否正常、遭受攻击时如何查找被攻击的痕迹等情况,Linux日志系统都提供了相应的解决方案。日志系统可以记录当前系统中发生的各种事件,比如登录日志记录每次登录的来源和时间、系统每次启动和关闭的情况、系统错误等。

 日志的主要用途:

  1. 系统审计:记录登录系统的用户和日常行为
  2. 监测追踪: 系统遭受到攻击时如何追踪溯源到攻击者
  3. 分析统计:系统的性能、错误等统计

/var/log/messages 这是Linux最核心的日志文件,假若某个服务没有定义日志文件,那么该服务尝试的日志文件就会记录到这个文件中,该日志每周归档一次,默认只保留5次。归档的方法都是由/etc/logrotate.conf这个文件来控制的。

/var/log/wtmp 查看用户的登录,注销信息,同时记录系统的启动,重启,关机等事件。不能用cat直接查看,必须用last查看

/var/log/btmp 和wtmp类似,也不能用cat直接查看,用lastb查看,记录用户登录无效的历史。

/var/log/maillog 用来记录邮件相关的日志,比如发给谁,是否发出去

/var/log/cron 记录了系统定时任务相关的日志

/var/log/cpus/ 记录cpu信息的日志

/var/log/lastlog 记录所有用户的最后一次登录时间,只可能通过lastlog命令查看

/var/log/sudo.log 记录使用sudo发出的命令,需要先配置/etc/sudoerslogfile=/var/log/sudo.log

 

日志分析工具

  • Logrotate

logrotate是操作系统用来管理日志的工具,支持日志的切割、压缩、清理以及邮件报警等,通过crontab服务定时运行,也可以用这个工具来管理我们自己的服务日志,只需要简单配置下配置文件即可

Logrotate使用方法

  1. 默认配置文件路径:/etc/logrotate.conf
  2. 单次执行: logrotate -f /etc/logrotate.conf
  3. 定时执行: /etc/crontab */5 * * * * root /sbin/logrotate /etc/logrotate.conf  5分钟执行一次

Logrotate配置参数

Rotate:保留多少个历史文件

Weekly: 每周执行

Missingok: 忽略文件缺失信息

Notifempty: 如果文件为空,不切分文件

Delaycompress: 转存的文件下一次转存压缩

Sharedescripts:postrotate 脚本只执行一次

Postrotate/endscript:切割后执行的命令

系统日志的审计方法

  1. 查看系统中的用户: cat /etc/passwd | grep /bin/bash
  2. 登录用户和登录时候的IP w
  3. 查询历史命令 history
  4. 分析登录IP,在wtmp
  5. 定时任务,sudo.log 排查

 

posted @ 2022-12-10 22:01  KubeSec  阅读(148)  评论(0编辑  收藏  举报