帅与我无缘 發表於 2016-1-19 15:39:29

Linux入侵检测基础学习

<p><strong>一、审计命令</strong></p>
<p>在linux中有5个用于审计的命令:</p>
<p><font color="#000000"><strong><font color="#800000">last:</font></strong>这个命令可用于查看我们系统的成功登录、关机、重启等情况;这个命令就是将/var/log/wtmp文件格式化输出。<br /><font color="#800000"><strong>lastb:</strong></font>这个命令用于查看登录失败的情况;这个命令就是将/var/log/btmp文件格式化输出。<br /><strong><font color="#800000">lastlog:</font></strong>这个命令用于查看用户上一次的登录情况;这个命令就是将/var/log/lastlog文件格式化输出。<br /><strong><font color="#800000">who:</font></strong>这个命令用户查看当前登录系统的情况;这个命令就是将/var/log/utmp文件格式化输出。<br /><strong><font color="#800000">w:</font></strong>与who命令一致。</font></p>
<p>关于它们的使用:man last,last与lastb命令使用方法类似:</p>
<div class="codeText">
<div class="codeHead"><span class="lantxt">bash/shell Code</span><span style="CURSOR: pointer" class="copyCodeText" onclick="copyIdText('code_1847')">复制内容到剪贴板</span></div>
<div id="code_1847">
<ol class="dp-bash">
    <li class="alt"><span><span>last&nbsp;[-R]&nbsp;[-num]&nbsp;[&nbsp;-n&nbsp;num&nbsp;]&nbsp;[-adFiowx]&nbsp;[&nbsp;-f&nbsp;</span><span class="func">file</span><span>&nbsp;]&nbsp;[&nbsp;-t&nbsp;YYYYMMDDHHMMSS&nbsp;]&nbsp;&nbsp;&nbsp;[</span><span class="func">tty</span><span>...] &nbsp;&nbsp;</span></span></li>
    <li><span>lastb&nbsp;[-R]&nbsp;[-num]&nbsp;[&nbsp;-n&nbsp;num&nbsp;]&nbsp;[&nbsp;-f&nbsp;</span><span class="func">file</span><span>&nbsp;]&nbsp;[-adFiowx]&nbsp;&nbsp;&nbsp;[</span><span class="func">tty</span><span>...] &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="func">who</span><span>&nbsp;...&nbsp;[&nbsp;FILE&nbsp;|&nbsp;ARG1&nbsp;ARG2&nbsp;]&nbsp;&nbsp;</span></li>
</ol>
</div>
</div>
<p>参数说明:</p>
<p>查看系统登录情况last:不带任何参数,显示系统的登录以及重启情况p1</p>
<p align="center"><img id="theimg" onclick="window.open(this.src)" src="https://img.jbzj.com/file_images/article/201601/2016119154433600.png?2016019154442" alt="" /></p>
<p>只针对关机/重启使用-x参数可以针对不同的情况进行查看p2</p>
<p align="center"><img id="theimg" onclick="window.open(this.src)" src="https://img.jbzj.com/file_images/article/201601/2016119154508210.png?2016019154516" alt="" /></p>
<p align="left">只针对登录使用-d参数,并且参数后不用跟任何选项p3</p>
<p align="center"><img id="theimg" onclick="window.open(this.src)" src="https://img.jbzj.com/file_images/article/201601/2016119154539963.png?2016019154546" alt="" /></p>
<p align="left">显示错误的登录信息lastb</p>
<p align="left">查看当前登录情况who、w</p>
<p align="left"><strong>二、&nbsp;日志查看</strong></p>
<p align="left">在Linux系统中,有三类主要的日志子系统:</p>
<p><strong><font color="#800000">1、连接时间日志:</font></strong> 由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。(utmp、wtmp日志文件是多数Linux日志子系统的关键,它保存了用户登录进入和退出的记录。有关当前登录用户的信息记录在文件utmp中; 登录进入和退出记录在文件wtmp中; 数据交换、关机以及重启的机器信息也都记录在wtmp文件中。所有的记录都包含时间戳。)</p>
<p><strong><font color="#800000">2、进程统计:</font></strong> 由系统内核执行,当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。</p>
<p><strong><font color="#800000">3、错误日志:</font></strong> 由syslogd(8)守护程序执行,各种系统守护进程、用户程序和内核通过syslogd(3)守护程序向文件/var/log/messages报告值得注意的事件。另外有许多Unix程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。</p>
<p>日志目录:/var/log(默认目录)</p>
<p align="left">查看进程日志cat /var/log/messagesp4</p>
<p align="center"><img id="theimg" onclick="window.open(this.src)" src="https://img.jbzj.com/file_images/article/201601/2016119154717601.png?2016019154730" alt="" /></p>
<p>查看服务日志cat /var/log/maillogp5</p>
<p align="center"><img id="theimg" onclick="window.open(this.src)" src="https://img.jbzj.com/file_images/article/201601/2016119154756191.png?201601915485" alt="" /></p>
<p><strong>三、用户查看</strong></p>
<p>Linux不同的用户,有不同的操作权限,但是所有用户都会在/etc/passwd /etc/shadow /etc/group /etc/group- 文件中记录;</p>
<p>查看详细</p>
<p><strong><font color="#800000">less /etc/passwd:</font></strong>查看是否有新增用户<br /><strong><font color="#800000">grep :0 /etc/passwd:</font></strong>查看是否有特权用户(root权限用户)<br /><strong><font color="#800000">ls -l /etc/passwd:</font></strong>查看passwd最后修改时间<br /><strong><font color="#800000">awk -F:</font></strong> &lsquo;$3==0 {print $1}&rsquo; /etc/passwd:查看是否存在特权用户<br /><strong><font color="#800000">awk -F:</font></strong> &lsquo;length($2)==0 {print $1}&rsquo; /etc/shadow:查看是否存在空口令用户</p>
<p>注:linux设置空口令:passwd -d username</p>
<p align="center"><img id="theimg" onclick="window.open(this.src)" src="https://img.jbzj.com/file_images/article/201601/2016119154905648.png?2016019154914" alt="" /></p>
<p><strong>四、进程查看</strong></p>
<p>1、普通进程查看进程中我们一般使用ps来查看进程;man ps<br />ps -aux:查看进程<br />lsof -p pid:查看进程所打开的端口及文件</p>
<p>2、检查隐藏进程<br />ps -ef | awk &lsquo;{print }&rsquo; | sort -n | uniq &gt;1<br />ls /proc | sort -n |uniq &gt;2<br />diff 1 2</p>
<p>注:以上3个步骤为检查隐藏进程</p>
<p><strong>五、其他检查</strong></p>
<p><strong><font color="#800000">1、检查文件</font></strong><br />find / -uid 0 -print:查找特权用户文件<br />find / -size +10000k -print:查找大于10000k的文件<br />find / -name &ldquo;&hellip;&rdquo; -prin:查找用户名为&hellip;的文件<br />find / -name core -exec ls -l {} \;:查找core文件,并列出详细信息<br />md5sum -b filename:查看文件的md5值<br />rpm -qf /bin/ls:检查文件的完整性(还有其它/bin目录下的文件)</p>
<p><strong><font color="#800000">2、检查网络<br /></font></strong>ip link | grep PROMISC:正常网卡不应该存在promisc,如果存在可能有sniffer<br />lsof -i<br />netstat -nap:查看不正常端口<br />arp -a:查看arp记录是否正常</p>
<p><strong><font color="#800000">3、计划任务<br /></font></strong>crontab -u root -l:查看root用户的计划任务<br />cat /etc/crontab<br />ls -l /etc/cron.*:查看cron文件是变化的详细<br />ls /var/spool/cron/</p>
<p>检查后门对于linux的后门检查,网络上有一些公开的工具,但是在不使用这些工具的前提时,我们可以通过一些命令来获取一些信息。首先就是检测计划任务,可以参考上面;<br />第二:查看ssh永久链接文件:vim $HOME/.ssh/authorized_keys<br />第三:lsmod:检查内核模块<br />第四:chkconfig &ndash;list/systemctl list-units &ndash;type=service:检查自启<br />第五:服务后门/异常端口(是否存在shell反弹或监听)<br />其它:<br />ls /etc/rc.d<br />ls /etc/rc3.d</p>
<p>以上就是针对Linux入侵检测基础知识学习,希望对大家的学习有所帮助。</p>
頁: [1]
查看完整版本: Linux入侵检测基础学习