Linux主机安全排查

共 2462字,需浏览 5分钟

 ·

2021-02-07 03:48


文章源自【字节脉搏社区】-字节脉搏实验室


作者-kongfree


扫描下方二维码进入社区



一. 进程


执行ps -aux或者ps -ef查看是否存在异常进程。


技巧:


使用 grep对进程进行塞选


示例:ps –ef |grep syslog


8c316af00a6ee5828878bf78aecfc680.webp


76ff3f30b1a6b5c28621f0e44af20222.webp


 二. 网络连接


(1)可查看是否存在外部连接等  netstat -anptu


8c316af00a6ee5828878bf78aecfc680.webp


0fc4fcd70b0e6882ef61466e4e1eefc0.webp


(2)执行w命令可以确定当前哪些用户已登录系统。


8c316af00a6ee5828878bf78aecfc680.webp


bb7e6fd393904b7eb9bfa6ec36138306.webp


(3)使用lsof –i(仅限Linux)显示进程和端口对应关系          


8c316af00a6ee5828878bf78aecfc680.webp


三. CPU等使用检测


使用top命令查看,可按大写P让其按cpu大小排序 。ps -elf 可疑$PID 、ps -aux命令检查排名靠前的或者不断变化的程序。同时使用 $ kill -s 9 pid 结束进程。


8c316af00a6ee5828878bf78aecfc680.webp


四. 登录情况


 使用last命令


8c316af00a6ee5828878bf78aecfc680.webp


a03a3bdf05544675be13b1aaf6e0774b.webp


    第一列信息:用户名,或者显示reboot(启动或者重启操作在这里会记录成reboot)


    第二列信息:终端位置,pts/0 (伪终端或虚拟终端) 意味着从诸如SSH或telnet的远程连接的用户。


        tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户,如果是启动或者重启操作,这里会显示成system boot


    第三列信息:登录ip或者内核,如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。


       也有在状态中显示内核版本的信息,笔者猜测这些记录应该是属于系统的操作,如开机,关机,重启等操作


    第四列信息:开始时间,其中的日期格式为date +"%a %b %d"


    第五列信息:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)


    第六列信息:持续时间


8c316af00a6ee5828878bf78aecfc680.webp


五.动态链接与端口开放


动态链接 $echo $LD_PRELOAD


使用netstat –anp 命令查看当前开放的端口。


8c316af00a6ee5828878bf78aecfc680.webp


 六. 用户及用户文件


1.查看是否有异常的系统用户。


8c316af00a6ee5828878bf78aecfc680.webp


53197904a40c57ca1da9acf595b5d9ed.webp


解释/etc/passwd中7段意义:(用户名:密码:UID:GID:注释:家目录:默认SHELL)


              1).account: 登录名


              2).password: 密码


              3).UID:


              4).GID:基本组ID


              5).comment: 注释


              6).HOME DIR:家目录


              7).SHELL:用户的默认shell




检查除root用户外是否存在其他用户的UID为0,也可执行命令:


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




2./etc/passwd默认权限为644,其最小权限为444,首先应对该文件权限进行检查,以确认配置是否正确




3. shadow文件


shadow默认权限为600,最小权限为400,检查权限配置是否正确:


ls – l /etc/shadow


8c316af00a6ee5828878bf78aecfc680.webp


七.计划任务(cron)


ls -latr /etc/cron.d/


ls -latr /etc/cron.daily/


ls -latr /etc/cron.hourly/


ls -latr /etc/cron.weekly/


ls -latr /etc/cron.monthly/


ls -latr /etc/crontab


8c316af00a6ee5828878bf78aecfc680.webp


ff551ceb78c4bff01418833417c48f0b.webp


八. 日志文件


 less /var/log/messages


作用:纪录几乎系统发生的错误讯息


关注信息:记录运行信息和认证信息,对于追查恶意用户的登录行为有很大帮助


less /var/log/secure




作用:记录登入系统存取数据,例如pop3, ssh, telnet, ftp 等都会记录在此日志中


关注信息:记录添加用户,更改密码等。ssh登录日志会存储于/var/log/secure中,若日志中出现连续大量的登录错误信息,则可能意味着远程主机在尝试破解ssh登录口令。


/var/log/wtmp 用last打开




作用:记录登录信息


信息:查看最近的用户登录情况。




less /var/log/cron


作用:记录 crontab (计划任务)服务的内容


信息:查看是否有攻击者设置的计划任务或恶意脚本的计划任务


8c316af00a6ee5828878bf78aecfc680.webp




通知!


公众号招募文章投稿小伙伴啦!只要你有技术有想法要分享给更多的朋友,就可以参与到我们的投稿计划当中哦~感兴趣的朋友公众号首页菜单栏点击【商务合作-我要投稿】即可。期待大家的参与~



记得扫码


关注我们


浏览 64
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报