网络安全 - Unix系统安全构架经验
Unix系统安全构架经验
2004-04-23 15:18 pm来自:Linux文档
现载:Www.8s8s.coM
地址:无名
下面是一些个人的经验的总结, 相信对于是否受到入侵的UNIX或者 UNIX-clone(freebsd,openbsd,netbsd,linux,etc)都是有用的:
首先大家可以通过下面的系统命令和配置文件来跟踪入侵者的来源路径:
1.who------(查看谁登陆到系统中)
2.w--------(查看谁登陆到系统中,且在做什么)
3.last-----(显示系统曾经被登陆的用户和TTYS)
4.lastcomm-(显示系统过去被运行的命令)
5.netstat--(可以查看现在的网络状态,如telnet到你机器上来的用户
的IP地址,还有一些其它的网络状态。)
6.查看router的信息。
7./var/log/messages查看外部用户的登陆状况
8.用finger 查看所有的登陆用户。
9.查看用户目录下/home/username下的登陆历史文件(.history
.rchist,etc).
后注:´who´,´w´,´last´,和´lastcomm´这些命令依靠的是/var/log/pacct,
/var/log/wtmp,/etc/utmp来报告信息给你。许多精明的系统管理员对于入侵者都会屏蔽这些日志信息(/var/log/*,/var/log/wtmp,etc)
(建议大家安装tcp_wrapper非法登陆到你机器的所有连接)
接下来系统管理员要关闭所有可能的后门,一定要防止入侵者从外部访问内部网络的可能。(对FREEBSD感兴趣的文章,可以看一下我在绿色兵团中安全文献中的FreeBSD网站的安全构架(1) ).如果入侵者发现系统管理员发现他已经进入系统,他可能会通过rm -rf /*试着隐蔽自己的痕迹.
第三,我们要保护下面的系统命令和系统配置文件以防止入侵者替换获得修改系统的权利。
1. /bin/login
2. /usr/etc/in.*文件(例如:in.telnetd)
3.inetd超级守护进程(监听端口,等待请求,派生相应服务器进程) 唤醒的服务.
(下列的服务器进程通常由inetd启动:fingerd(79),ftpd(21),
rlogind(klogin,eklogin,etc),rshd,talkd,telnetd(23),tftpd.
inetd还可以启动其它内部服务,/etc/inetd.conf中定义的服务.
4.不允非常ROOT用户使用netstat,ps,ifconfig,su
第四,系统管理员要定期去观察系统的变化(如:文件,系统时间,等)
1. #ls -lac去查看文件真正的修改时间。
2. #cmp file1 file2来比较文件大小的变化。
第五,我们一定要防止非法用户使用suid(set-user-id)程序来得到ROOT的权限。
1.首先我们要发现系统中所有的SUID程序。
#find / -type f -perm -4000 -ls
2.然后我们要分析整个系统,以保证系统没有后门。
第六,系统管理员要定时的检查用户的.rhosts,.forward文件,
1.#find / -name .rhosts -ls -o -name .forward -ls 来检查.rhosts文件是否包含´++´,有则用户可以远程修改这个文件而不需要任何口令。
2.#find / -ctime -2 -ctime +1 -ls来查看不到两天以内修改的一些文件,从而判断是否有非法用户闯入系统。
第七,要确认你的系统当中有最新的sendmail守护程序,因为老的sendmail守护程序允许其它UNIX机器远程运行一些非法的命令。
第八,系统管理员应当要从你机器,操作系统生产商那里获得安全铺丁程序,如果是自由软件的话(如linux平台,建议大家可以到linux.box.sk来获得最好的安全程序和安全资料。)
第九,下面有一些检查方法来监测机器是否容易受到攻击。
1.#rpcinfo -p来检查你的机器是否运行了一些不必要的进程。
2.#vi /etc/hosts.equiv文件来检查你不值得信任的主机,去掉。
3.如果没有屏蔽/etc/inetd.conf中的tftpd,请在你的/etc/ inetd.conf加入tftp dgram udp wait nobody /usr/etc/in.tftpdin.tftpd -s /tftpboot
4.建议你备份/etc/rc.conf文件,写一个shell script定期比较
cmp rc.conf backup.rc.conf
5.检查你的 inetd.conf和/etc/services文件,确保没有非法用户在里面添加一些服务。
6.把你的系统的/var/log/*下面的日志文件备份到一个安全的地方,
以防止入侵者#rm /var/log/*
7.一定要确保匿名FTP服务器的配置正确,我的机器用的是proftpd,
在proftpd.conf一定要配置正确。
8.备份好/etc/passwd,然后改变root口令。一定要确保此文件不能够入侵者访问,以防止它猜测。
9.如果你还不能够防止入侵者的非法闯入,你可以安装ident后台守护 进程和TCPD后台守护进程来发现入侵者使用的帐号!
10.确保你的控制台终端是安全的,以防止非法用户能够远程登陆你的网络上来。
11.检查hosts.equiv,.rhosts,hosts,lpd都有注释标识#,如果一个入侵者用它的主机名代替了#,那么就意味着他不需要任何口令就能够访问你的机器.