liunx检测系统是否被入侵 Linux教程 安全防御



-查询特权用户特权用户(uid 为0)

awk -F: '$3==0{print $1}' /etc/passwd

-查找远程可以登录的账户

 awk '/\$1|\$5|\$6/{print $1}' /etc/shadow

$1:MD5(长度 22个字符)

$5:SHA-256(长度 43 个字符)

$6:SHA-512(长度86 个字符)

-检查sudo权限

cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL"

-删除或锁定账号, 通过上面的步骤可以找到可疑的账号

-禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
usermod -L admin
-删除user用户
userdel admin 
-将删除root用户,并且将/home目录下的root目录一并删除
userdel -r admin

-查看当前登录系统的信息

who    #查看当前登录用户(tty本地登陆  pts远程登录)
w      #查看系统信息,想知道某一时刻用户的行为
uptime #查看登陆多久、多少用户,负载

-检查异常端口

-使用netstat 网络连接命令,分析可疑端口、IP、PID等信息。

netstat -tunlp

-抓包分析

-精简模式显示 10个包

tcpdump -c 10 -q

-使用ps命令检查可疑的进程

ps -ef

-查超系统中占用资源最高的资源

top

-发现异常进一步检查

-查看该进程启动的完整命令行

ps eho command -p $PID

-查看该进程启动时候所在的目录

readlink /proc/$PID/cwd

-查看下pid所对应的进程文件路径

ls -l /proc/$PID/exe

-查看该进程启动时的完整环境变量:

strings -f /proc/$PID/environ | cut -f2 -d ''

-列出该进程所打开的所有文件

lsof -p $PID

-检查开机自启的服务

systemctl list-unit-files --type=service | grep "enabled"

-chkconfig就是CentOS6以前用来控制系统服务的工具,查看服务自启动状态

]chkconfig --list | grep "3:on\|5:on"

-命令查看下开机启动项中是否有异常的启动服务

cat /etc/rc.local

-检查计划任务,需要重点关注以下目录中是否存在恶意脚本

/var/spool/cron/* 
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/* 
/etc/cron.hourly/* 
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*

-检查系统的异常文件, 如/tmp目录下的文件,同时注意隐藏文件夹,以.为名的文件夹具有隐藏属性

ls -al

-查找1天以内被访问过的文件, -iname不区分大小写,-atime最近一次被访问的时间,-type文件类型

find /opt -iname "*" -atime 1 -type f

-检查历史命令, 查看被入侵后,在系统上执行过哪些命令,使用root用户登录系统

vim /root/.bash_history

-设置保存1万条命令

sed -i 's/HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile

-history加固

 vim /etc/profile 

USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP"=="" ]
then
   USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami`"
#为防止会话退出时覆盖其他会话写到HISTFILE的内容
shopt -s histappend
export PROMPT_COMMAND="history -a"
//配置生效

source /etc/profile

-查找登录系统失败的20个账号

lastb | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 20

-定位有多少IP在爆破主机的root帐号

grep "Failed password for root" /var/log/secure | sort | uniq -c | sort -nr | more

-查看所有重启日志信息

last reboot

-查看系统正常的运行时间

uptime -s

-查看哪些IP在爆破

grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

-查看哪些IP登录成功了

grep "Accepted" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

-登录成功的日期,用户名,IP

gerp "Accepted" /var/log/secure | awk '{print $1,$2,$3,$9,$11}'


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回