假设你是一位使用solaris操作系统的网站管理员,有一天你无意中在你硬盘/var/adm目录下messages文件中看到了如下类似内容:
Apr 24 20:31:04 nmssa /usr/dt/bin/rpc.ttdbserverd[405]: _Tt_file_system::findBest
MountPoint -- max_match_entry is null, aborting…
Apr 24 20:31:05 nmssa inetd[140]: /usr/dt/bin/rpc.ttdbserverd: Segmentation Faul
t - core dumped |
目前使用solaris的系统管理员都知道在/var区下有个目录adm,在这个目录下有messags,syslog,sulog,utmp等诸多日志文件,它们记录着solaris系统产生的各种消息日志。从系统管理员的角度来讲,清楚的理解各个日志文件的功能及作用是很有必要的,在系统发生安全问题时,这些日志纪录可以在一定意义上起到帮助和诊断作用。
我们来依次看看Adm目录下的主要文件。
adm/messags |
Apr 24 11:26:25 unix.secu.com ftpd[7261]: anonymous (bogus) LOGIN FAILED [from 11.22.33.46]
Apr 24 11:27:23 unix.secu.com ftpd[7264]: 163 (bogus) LOGIN FAILED [from 11.22.33.49]
Apr 24 11:28:44 unix.secu.com ftpd[7265]: abc (bogus) LOGIN FAILED [from 11.22.33.46]
|
adm/sulog |
我们截取一部分实际内容,来看一下:
SU 04/15 16:35 + pts/6 yiming-root
SU 04/15 16:43 + pts/4 root-yiming
SU 04/17 08:20 - pts/5 cheny-root
SU 04/18 16:36 - pts/4 cheny-root
SU 04/19 02:57 + pts/11 lizhao-root
SU 04/19 19:57 + pts/11 cys-root
SU 04/21 08:20 - pts/4 cheny-root
SU 04/21 16:36 - pts/8 cheny-root
SU 04/22 15:23 - pts/5 cheny-root |
adm/utmp,utmpx
这两个文件是不具可读性的,它们记录着当前登录在主机上的用户,管理员可以用w,who等命令来看,下面为who的输出结果,
yiming pts/29 Jun 12 09:24 (11.22.33.44)
yiming pts/28 Jun 12 08:41 (11.22.33.43)
guest pts/30 Jun 12 09:26 (penetrate.hacker.com)
root pts/19 Jun 12 08:19 (:0.0) |
./zap -v guest
- WTMP:
WTMP = /var/adm/wtmp
Removing user guest at pos: 131328
Done!
- UTMP:
UTMP = /var/adm/utmp
Removing user guest at pos: 864
Done!
- LASTLOG:
LASTLOG = /var/adm/lastlog
User guest has no wtmp record。 Zeroing lastlog。。
- WTMPX:
WTMPX = /var/adm/wtmpx
Done!
- UTMPX:
UTMPX = /var/adm/utmpx
Done! |
yiming pts/29 Jun 12 09:24 (11.22.33.44)
yiming pts/28 Jun 12 08:41 (11.22.33.43)
root pts/19 Jun 12 08:19 (:0.0) |
adm/wtmp,wtmps
这两个文件相当于历史纪录,它们记录着所有登录过主机的用户,时间,来源等内容, 这两个文件也是不具可读性的。可用last命令来看,如下。
support pts/13 11.22.33.44 Thu Apr 20 18:40 - 20:50 (02:10)
gogo pts/12 11.22.33.45 Thu Apr 20 1:53 - 17:21 (02:28)
root ftp secu.unix.com Wed Apr 19 14:58 - 14:58 (00:00) |
与上面utmp,utmpx一样,管理员也应该清楚:last只能给你一个大概的参考,不要完全相信last的结果。
除了上述几个文件外,在/var/log目录下还有一个syslog文件,这个文件的内容一般是纪录mail事件的,管理员应该经常检查有没有异常纪录。
最后来讲一讲solaris一个很少被用起但却极为有用的功能---记账。Solaris操作系统可以通过设置日志文件可以对每个用户的每一条命令进行纪录,这一功能默认是不开放的,为了打开它,需要执行/usr/lib/acct目录下的accton文件,格式如下/usr/lib/acct/accton /var/adm/pacct,在sun的手册上,只有这一种用法,但这样做的缺点是明显的,大多数有经验的入侵者一定不会放过/var/adm和 /var/log这两个目录的,如果它们看到有pacct这个东西,不删才怪。针对这种情况其实有个很好的解决办法,执行/usr/lib/acct/accton 后面跟一个别的目录和文件即可,如/usr/lib/acct/accton /yiming/log/commandlog,这样入侵者不会在/var/adm/下看到pacct,入侵者也许会删掉message,syslog等日志,但他并不知道实际上他所有的操作都被记录在案,管理员事后只要把commandlog这个文件拷贝到/var/adm下,改为pacct ,同时执行读取命令lastcomm,就一切尽在掌握啦。如lastcomm hack,可得到下面的输出结果:
sh S hack pts/7 0.05 secs Mon Jun 12 14:28
sh F hack pts/7 0.00 secs Mon Jun 12 14:39
ls hack pts/7 0.01 secs Mon Jun 12 14:39
ls hack pts/7 0.02 secs Mon Jun 12 14:39
ls hack pts/7 0.01 secs Mon Jun 12 14:38
df hack pts/7 0.03 secs Mon Jun 12 14:38
ftp hack pts/7 0.02 secs Mon Jun 12 14:37
ls hack pts/7 0.01 secs Mon Jun 12 14:37
vi hack pts/7 0.02 secs Mon Jun 12 14:37
who hack pts/7 0.02 secs Mon Jun 12 14:36
|
其实网络安全,可以从一些小的点点滴滴的方面加以注意,使用得当,一样会起到较好的作用,管理员,从关注你的日志文件开始吧。