因为syslog daemon的默认配置是拒绝接收来自网络上的信息,我们必须使他能够接收来自网络上的信息,在syslog daemon的脚本文档(指的是接收日志文档的服务器上的脚本文档)中加入下面的“-r”参数。
编辑syslog脚本文档(vi 24 /etc/rc.d/init.d/syslog),把这一行:
daemon syslogd -m 0
改为:
daemon syslogd -r -m 0
重新启动syslog daemon使改变生效:
[root@mail]# /etc/rc.d/init.d/syslog restart
假如接收日志文档的服务器上有防火墙,您能够检查一下防火墙的脚本文档中有没有下面几行(没有就加上):
ipchains -A input -i $EXTERNAL_INTERFACE -p udp
-s $SYSLOG_CLIENT
-d $IPADDR 514 -j ACCEPT
在这个例子中防火墙的脚本文档中定义了EXTERNAL_INTERFACE="eth0";
IPADDR="208.164.186.2";
SYSLOG_CLIENT="208.164.168.0/24"
重新启动接收日志文档的服务器上的防火墙,使改变生效:
[root@mail]# /etc/rc.d/init.d/firewall restart
这个防火墙规则允许接收日志文档的服务器接收来自端口514(syslog的端口)的UDP包。关于防火墙的资料能够查看《第七章 网络防火墙》。
最后,编辑一下发送日志文档的服务器上的“syslog.conf”文档(vi /etc/syslog.conf),在末尾加上这一行:
authpriv.*;mail.*;local7.*;auth.*;daemon.info @mail
“mail”是接收日志文档的电脑主机名。假如有人试图黑您的电脑并且威胁把任何重要的系统日志文档都删掉,您就不用怕了,因为您已打印出来或在别的地方更有一个拷贝。这样就能够根据这些日志文档分析出黑客在什么地方,然后出理这次入侵事件。
重新启动syslog daemon,使改变生效:
[root@deep]# /etc/rc.d/init.d/syslog restart
同样也要看看发送日志文档的服务器的防火墙的脚本文档中有没有这几行(没有加上);
ipchains -A output -i $EXTERNAL_INTERFACE -p udp
-s $IPADDR 514
-d $SYSLOG_SERVER 514 -j ACCEPT
这里防火墙的脚本文档中定义了:
EXTERNAL_INTERFACE="eth0"
IPADDR="208.164.186.1"
SYSLOG_SERVER="mail.openarch.com"
重新启动防火墙,使改变生效:
[root@deep]# /etc/rc.d/init.d/firewall restart
这个防火墙的规则允许发送日志文档的服务器通过端口514(syslog端口)发送UDP包。关于防火墙的资料能够查看《第七章 网络防火墙》。
注意:千万不要用网关服务器来收集和管理任何的系统日志信息。有关syslogd程式的其他一些参数和策略,能够用man命令查看帮助:syslogd(8)、syslog(2)和syslog.conf(5)。
32. 改变“/etc/rc.d/init.d/”目录下的脚本文档的访问许可
改变启动和停止daemon的脚本文档的权限。
[root@deep]# chmod -R 700 /etc/rc.d/init.d/*
这样只有root能够读、写和执行这个目录下的脚本。我想一般用户没有什么必要知道脚本文档的内容。
注意:假如您安装或升级了一个程式,要用到“/etc/rc.d/init.d/”中system V脚本,不要忘记再检查一下改变和检查这个脚本文档的许可。
33. “/etc/rc.d/rc.local”文档
在默认情况下,当登录装有Linux系统的电脑时,系统会告诉您Linux发行版的名字、版本号、内核版本和服务器名称。这泄露了太多的系统信息。最好只显示一个“Login:”的提示信息。
第一步
编辑“/ect/rc.d/rc.local”文档,在下面这些行的前面加上“#”:
--
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
#echo "" > /etc/issue
#echo "$R" >> /etc/issue
#echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue
#
#cp -f /etc/issue /etc/issue.net
#echo >> /etc/issue
--
第二步
删除“/etc”目录下的“issue.net”和“issue”文档:
[root@deep]# rm -f /etc/issue
[root@deep]# rm -f /etc/issue.net
注意:“/etc/issue.net”文档是用户从网络登录电脑时(例如:telnet、SSH),看到的登录提示。同样在“/etc”目录下更有一个“issue”文档,是用户从本地登录时看到的提示。这两个文档都是文本文档,能够根据需要改变。但是,假如想删掉这两个文档,必须向上面介绍的那样把“/etc/rc.d/rc.local”脚本中的那些行注释掉,否则每次重新启动的时候,系统又会重新创建这两个文档。
34. 带“s”位的程式
用ls -l命令列出来的文档,假如文档的权限位中出现“s”,则这些文档的SUID(-rwsr-xr-x)或SGID(-r-xr-sr-x)位被设定了。因为这些程式给执行他的用户一些特权,所以假如无需用到这些特权,最好把这些程式的“s”位移去。能够用下面这个命令“chmod a -s 文档名”移去相应文档的“s”位。
能够清除“s”位的程式包括但不限于:
1) 重来不用的程式
2) 不希望非root用户运行的程式
3) 偶尔用用,但是不介意先用su命令变为root后再运行。
下面加了星号(*)的程式,我个人认为有必要移去“s”位。注意,系统可能需要一些SUID的程式才能正常运行,所以要千万小心。
* 用下面的命令查找任何带“s”位的程式:
[root@deep]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {} ;
*-rwsr-xr-x 1 root root 35168 Sep 22 23:35 /usr/bin/chage
*-rwsr-xr-x 1 root root 36756 Sep 22 23:35 /usr/bin/gpasswd
*-r-xr-sr-x 1 root tty 6788 Sep 6 18:17 /usr/bin/wall
-rwsr-xr-x 1 root root 33152 Aug 16 16:35 /usr/bin/at
-rwxr-sr-x 1 root man 34656 Sep 13 20:26 /usr/bin/man
-r-s--x--x 1 root root 22312 Sep 25 11:52 /usr/bin/passwd
-rws--x--x 2 root root 518140 Aug 30 23:12 /usr/bin/suidperl
-rws--x--x 2 root root 518140 Aug 30 23:12 /usr/bin/sperl5.00503
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




