荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (人生不定式), 信区: Linux
标  题: 装备Linux(1)(转寄)
发信站: BBS 荔园晨风站 (Fri Sep  8 13:24:21 2000), 站内信件

【 以下文字转载自 georgehill 的信箱 】
【 原文由 georgehill.bbs@smth.org 所发表 】
发信人: Sinob (水手辛巴达), 信区: Linux
标  题: 装备Linux(1)(转寄)
发信站: BBS 水木清华站 (Thu Sep  7 08:48:29 2000)


发布时间:2000-8-25

装备Linux(1)

by Sinbad
8/23/2k
http://sinbad.2911.net

1.安装

首先与网络隔离进行系统的安装,选择custom方式,仅仅安装需要的软件。

硬盘分区:如果用root分区纪录数据,例如log文件和email,就可能因为拒绝服务产生大
量日志或垃圾邮件,导致系统崩溃。所以,建议为/var开辟单独的分区,用来存放日志和
邮件,以避免root分区被溢出。还可以为特殊的应用程序单独开一个分区,特别是能产生
大量日志的程序。如果
有不怀好意的用户,建议为/home单独分一个区,这样他们就不能填满/分区。一般Server
分区看来是这样:

/        - 根分区
/var     - 400 MB
swap     - 一般256 MB

当系统安装完重新启动以后,就要打上安全补丁。对RedHat系统,可以在
http://www.redhat.com/corp/support/errata/ 找到补丁,要经常更新。采用RPM的系统
,可以很容易的升级,例如:

rpm -Uvh wu-ftpd-2.6.0-14.6x.i386.rpm

如果系统与Internet是连接的,可以直接从ftp站点升级:

rpm -Uvh ftp://updates.redhat.com/6.1/i386/wu-ftpd-2.6.0-14.6x.i386.rpm

RH6.1以后的版本带有一个工具up2date,它能够测定哪些RPM包需要升级,然后自动从
RedHat的站点下载并完成安装。这个软件能够很好的被定制并且易于使用。


2.关闭服务

安装完软件包和补丁以后,下面作的就是装备系统。包括关闭一些服务、增加日志、修改
一些文件和配置TCP Wrappers。

首先我们来关闭一些服务。默认的linux是一个强大的系统,运行了很多服务。但是有许
多服务是不需要的,很容易引起安全风险。第一个文件是/etc/inetd.conf,它指定了
/usr/sbin/inetd将要监听的服务,你可能只需要其中的两个:telnet和ftp,其他的许多
例如popd,imapd和rsh有可
能引发安全问题。下面的命令显示出没有被注释掉的服务:

grep -v "^#" /etc/inetd.conf

下一个要启动的是.rc脚本,它们决定了init进程要启动哪些服务。RH系统下,这些脚本
在/etc/rc.d/rc3.d(如果以GUI方式启动,就是/etc/rc.d/rc5.d,比如KDE,Gnome等等
)。要在启动时禁止某个服务,只要把大写的S替换为小写的s,同时,RH也提供了一个很
好的工具来关闭服务,只
要输入/usr/sbin/setup,然后选择“system services”,就可以定制系统启动时跑哪些
服务。另外一个选择是chkconfig命令,许多发行版本都自带这个工具。脚本名字中的数
字是启动的顺序,以大写的K开头的是杀死进程用的。

S05apmd      (只有笔记本需要)
S10xntpd     (网络时间协议)
S11portmap   (运行rpc服务必需, 例如NIS或NFS)
S15sound     (声卡相关)
S15netfs     (nfs客户端)
S20rstatd    (避免运行r服务,远程用户能够从中得到很多信息)
S20rusersd
S20rwhod
S20rwalld
S20bootparamd (无盘工作站,应该很少需要此服务)
S25squid     (代理服务)
S34yppasswdd (NIS服务器,此服务漏洞很多)
S35ypserv    (NIS服务器,此服务漏洞很多)
S35dhcpd     (dhcp服务)
S40atd       (和cron很相似的定时运行程序的服务)
S45pcmcia    (pcmcia卡,笔记本用)
S50snmpd     (SNMP, 远程用户能从中获得许多系统的信息)
S55named     (DNS服务,最近版本在http://www.isc.org/bind.html)
S55routed    (RIP,不要运行它除非你真的需要)
S60lpd       (打印服务)
S60mars-nwe  (Netware的文件和打印服务)
S60nfs       (NFS服务器,漏洞极多,尽量不要使用)
S72amd       (AutoMount,用来mount远程系统)
S75gated     (另外一种路由服务,例如OSPF)
S80sendmail  (邮件服务,如果你关闭sendmail,仍能够发信,只是不能收信和作中继)
S85httpd     (Web服务器,最近版本在http://www.apache.org)
S87ypbind    (NIS客户端)
S90xfs       (X font服务器)
S95innd      (News服务器)
S99linuxconf (通过浏览器远程配置系统)

查看在关闭启动脚本之前有多少服务在运行:

ps aux | wc -l

当你关闭一些服务以后,重新运行以上命令看看少了多少服务。运行的服务越少,系统越
安全。同时,用下面的命令看看哪些服务还在运行:

netstat -na --ip


3.日志纪录和增强

关闭一些不必要的服务以后,我们开始日志纪录,所有的日志都在/var/log目录下。默认
情况linux的日志功能很完善,除了ftp。可以修改/etc/ftpaccess或者/etc/inetd.conf
,一般都是修改/etc/inetd.conf,下面的写法保证了每一个ftp连接的日志都能够记录下
来:

ftp  stream  tcp  nowait  root  /usr/sbin/tcpd  in.ftpd -l -L -i -o

-l 每一个ftp连接都写到syslog
-L 纪录用户的每一个命令
-i 文件received,纪录到xferlog
-o 文件transmitted,纪录到xferlog

使用shadow密码,运行命令pwconv。(现在的6.2版本都默认用MD5)

删除/etc/passwd&/etc/shadowv中的一些系统账号,如news等等。如果不需要匿名ftp服
务,删除ftp用户。对一个邮件账号而言,其shell设置为/dev/null即可。

/etc/ftpusers文件,包含了不能使用ftp的用户列表,root应该在其中。

修改文件/etc/securetty,去除终端ttyp0-ttyp9,使root只能从console或者使用ssh登
录。

/etc/issue,不要让此文件透露系统的信息。同时要修改/etc/rc.d/rc.local。

SUID程序是非常危险的,这些程序被普通用户以root的身份执行,只能有少量程序被设置
为SUID。用以下命令列出系统的SUID二进制程序:

find / -perm -4000 -print

用chmod -s去掉那些不需要程序的SUID位。

<待续>

参考资料:'Armoring Linux' by Lance Spitzner

Sinbad版权所有 转载请注明出处

--
我的网站:http://sinbad.2911.net[辛巴德] 关键词:网络安全资料


※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.75.222.35]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店