system commands rootkits the network the local host application versions 最后,则会提示可以从日志文件中查知检测结果 Please check the log file (/var/log/rkhunter.log) 下图正是rkhunter扫描到系统的漏洞所作出的警告:
图3.1.6 rkhunter扫描日志
2.管理日志文件
系统安全的另一方面问题是管理日志文件。Linux提供相关的记录,使管理员可以查到访问系统的简要情况。 ① 日志文件介绍
而ubuntu常见的日志文件详述如下: /var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。
/var/log/cron 该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作。CMD的一个动作是cron派生出一个调度进程的常见情况。REPLACE(替换)动作记录用户对它的cron文件的更新,该文件列出了要周期性执行的任务调度。 RELOAD动作在REPLACE动作后不
第18页 共48 页
久发生,这意味着cron注意到一个用户的cron文件被更新而cron需要把它重新装入内存。该文件可能会查到一些反常的情况。
/var/log/maillog 该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。
/var/log/messages 该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。
/var/log/syslog 默认ubuntu Linux不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。要让系统生成该日志文件,在/etc/syslog.conf文件中加上: *.warning /var/log/syslog
该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息。
/var/log/secure 该日志文件记录与安全相关的信息。该日志文件的部分内容如下: /var/log/lastlog 该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成。在每次用户登录时被查询,该文件是二进制文件,需要使用 lastlog命令查看,根据UID排序显示登录名、端口号和上次登录时间。如果某用户从来没有登录过,就显示为\。该命令只能以root权限执行。
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,last命令就通过访问
第19页 共48 页
这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端 tty或时间显示相应的记录。
命令last有两个可选参数: -u用户名 -t 天数 ② 日志备份
虽然日志文件可以提供大量的信息,但是在慢慢的积累下,一些日志文件就会变的越来越庞大,占用大量的存储空间,而且,庞大的日志文件也可能会导致系统的不正常工作,为了杜绝这样的情况发生,使用logrotate对系统日志文件自动整理。
logrotate是用来设置滚动系统日志的,周期性地旋转日志文件,可以周期性地把每个日志文件重命名成一个备份名字,然后让它的守护进程开始使用一个日志文件的新的拷贝。
以下为其配置文件
/etc/logrotate.conf,这个文件对所有的日志文件都起作用,下面是它的范例:
显示用户上次登录的情况。 显示指定天数之前的用户登录情况。 第20页 共48 页
# see \# rotate log files weekly weekly
#以7天为一个周期
# keep 4 weeks worth of backlogs rotate 4
#每隔4周备份日志文件 # send errors to root errors root
#发生错误向root报告
# create new (empty) log files after rotating old ones create
#转完旧的日志文件就创建新的日志文件
# uncomment this if you want your log files compressed #compress
#指定是否压缩日志文件
# RPM packages drop log rotation information into this directory include /etc/logrotate.d
# no packages own lastlog or wtmp -- we`ll rotate them here /var/log/wtmp {
monthly
create 0664 root utmp rotate 1 }
从上面的可以看出系统会自动对所有的日志文件进行每周一次的备份处理,这对大多数日志文件就够用了。
如果需要对某个日志文件进行特殊的处理,只需要在/etc/logrotate.d下新建一个配置即可。
第21页 共48 页
配置格式: 日志全路径 { 指令 prerotate shell command endscript } 3.2 防火墙安全模型
3.2.1 Linux 安全性和 netfilter/iptables
Linux 因其健壮性、可靠性、灵活性以及好象无限范围的可定制性而在 IT 业界变得非常受欢迎。Linux 具有许多内置的能力, 使开发人员可以根据自己的需要定制其工具、行为和外观,而无需昂贵的第三方工具。 如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 所要用到的一种内置能力就是针对网络上 Linux 系统的防火墙配置。
在如 ipfwadm和 ipchains 这样的 Linux 信息包过滤解决方案中,
netfilter/iptables IP 信息包过滤系统是最新的解决方案, 而且也是第一个集成到 Linux 内核的解决方案。 对于 Linux 系统管理员、网络管理员以及家庭用户(他们 想要根据自己特定的需求来配置防火墙、在防火墙解决方案上节省费用和对 IP 信息包过滤具有完全控制权)来说,netfilter/iptables 系统十分理想。 3.2.2 netfilter/iptables 系统是如何工作的?
netfilter/iptables IP 信息包过滤系统是一种功能强大的工具, 可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中, 而这些表集成在 Linux 内核中。 在信息包过滤表中,规则被分组放在我们所谓的 链(chain)中。
虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件 netfilter和 iptables 组成。
第22页 共48 页