Linux 服务器防护 ¶
1. 账号安全 ¶
1. 查看基础用户信息文件(/etc/passwd,/etc/shadow,/etc/group)
1、查询特权用户特权用户(uid 为0)
awk -F: '$3==0{print $1}' /etc/passwd
2、查询可以远程登录的帐号信息
awk '/\$1|\$6/{print $1}' /etc/shadow
3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
4、禁用或删除多余及可疑的帐号
usermod -L user #禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
userdel -r user #将删除user用户,并且将/home目录下的user目录一并删除
2. 查看历史命令 ¶
cat ~/bash_history >> history.txt
3. 检查网络连接 ¶
1. 检查已经建立的连接
netstat -antlp|more
2. 查看 PID 所对应的进程文件路径
file /proc/$PID/exe
3. 检查异常进程
ps aux | grep pid
4. 检查开机启动项 ¶
系统运行级别:
运行级别 | 含义 |
---|---|
0 | 关机 |
1 | 单用户模式,可以想象为windows的安全模式,主要用于系统修复 |
2 | 不完全的命令行模式,不含NFS服务 |
3 | 完全的命令行模式,就是标准字符界面 |
4 | 系统保留 |
5 | 图形模式 |
6 | 重启动 |
1. 系统默认允许级别
vi /etc/inittab
id=3:initdefault #系统开机后直接进入哪个运行级别
2. 当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可
ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
#S开头代表加载时自启动
5. 检查定时任务 ¶
ls -al /var/spool/cron/*
cat /etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
#查看目录下所有文件
more /etc/cron.d/*
/etc/anacrontab
/var/spool/anacron/*
6. 检查系统日志 ¶
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
日志文件 | 说明 |
---|---|
/var/log/cron | 记录系统定时任务相关的日志 |
/var/log/message | 记录Linux操作系统常见的系统和服务错误信息(首要检查对象) |
/var/log/btmp |
记录错误登录(登陆失败)*日志;使用*lastb命令查看 |
/var/log/lastlog |
记录系统中所有用户最后一次成功登录时间,使用lastlog命令查看 |
/var/log/wtmp |
永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件;用last命令来查看 |
/var/log/utmp | 只记录当前登录用户的信息;使用w,who,users等命令来查询 |
/var/log/secure | 记录验证和授权方面的信息,如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码 |
#查询ssh登录记录
more /var/log/secure
#安装软件的日志-> Centos
/var/log/yum.log
#安装软件的日志-> Ubuntu
/var/log/apt/
1. 查看用户登录
lastlog