免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1119 | 回复: 0
打印 上一主题 下一主题

zt删除不必要的服务 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-11 21:33 |只看该作者 |倒序浏览

                               
               
               
                删除不必要的服务
精细调整服务器,以便仅仅提供确实需要的服务
在构建服务器时。创建的系统应该尽可能快速、高效地完成预期的功能。我们还要明白地问自己:我确实需要这台计算机做什么?真的需要在Web服务器上提供FTP服务吗?即使没有共享的情况下,也应该在DNS服务器中运行NFS吗?如果已静态挂载所有的卷,那还需要运行自动挂载程序吗?
要了解服务器运行了哪些进程,只需执行ps ax。如果没有用户登录,该命令会告知服务器当前运行的进程。还可使用grep -v ^# /etc/inetd.cdnf或(更简单的方法) netstat -Ip来查看哪些程序决定inetd接受的连接类型。第一条命令显示inetd.conf中所有未加注释的行;第二条命令(以root运行时)显示所有处于LISTEN状态的套接字(socket),以及在每个端口的监听程序。理想情况下,应该能将ps ax的输出缩减到一页信息甚或更少(当然,不包括httpd之类采用preforking(预先并发进程)机制的服务器)。
下面列举了一些,众人皆知(通常是不必要的)的服务,在许多发布版本中都默认地启用了这些服务:
portmap、rpc.mountd、rpc.nfsd
以上是NFS子系统的所有服务。您在运行NFS服务器吗?您需要挂载远程NFS共享吗?除非这些问题的答案都为“是”,否则就不需要运行这些后台程序。可回收这些程序占用的资源并消除潜在的安全风险。
smbd和nmbd
以上是Samb 后台程序。您需要将SMB共享导出到Windows主机(或其他电脑上吗? 如果不需要,那么就可以安全地结束这些进程。
Automount
自动挂载程序可根据需要方便地调用网络(或本地)文件系统,并且在访问时无需要root权限。对那些用户需要使用可移动媒介(如CD或软盘)或需要访问网络资源的客户端桌面电脑来说,该功能特别方便。但是在专用服务器上,可能不需要自动挂载程序。除非计算机提供控制台访问或远程网络共享功能,否则就可使用kill命令结束自动挂载序(并在/etc/fstab中静态设置所有配置)。
named
有没有运行域名服务器? 如果只需要解析网络域名,那么就不必运行named;这是/etc/resolv.conf 和bind库的任务。除非为其他电脑运行着域名服务,或者运行缓存DNS服务器(请参阅往后第78节“使用本地域授权建立缓存DNS”),则无须使用named命令。
lpd
可曾在这台电脑上打印过文件? 如果此电脑是专门用来提供Internet资源的,那此台电脑不应接受任何打印请求。如果不打算使用打印功能.那么请删除打印机后台程序。
inetd
真需要从inetd运行服务吗? 如果以standalone模式运行ssh,而且只运行standalone后台程序(如Apache、BIND、MysQL或ProFTPD),那么inetd可能是多余的。至少,要使用grep命令grep -v ^# /etc/inetd.cdnf来检查系统正接受哪些服务。如果发现每个服务都可使用注译行安全地取消掉,那么为何要运行这个后台程序呢? 因此,可从引导进程(可从系统rc中删除,也可简单地使用命令chmod -x /usr/sbin/inetd删除) 中删除该后台程序。
telnet、rlogin、rexec、ftp
对于这些古老的后台程序来说,其远程登录、执行和文件传输功能大部分都由具备密码安全性和极高灵活性的ssh和scp代替了。除非确实很有必要保留这些后台程序,否则从系统中取消对这些程序的支持不失为上策。如果确实需要支持ftp连接,则可尝试在proftpd中加入mod_sql插件 (请参阅第85小节“使用带有mysql验证源的proftpd工具”)。
finger、comast、chargen、echo、identd
finger和comsat服务在开放Internet时代很有意义,那时用户比较好奇但一般没有不良动机。在当今秘密扫描端口和远程缓冲区溢出攻击盛行的时代,一般认为运行这些无关的服务很不好,因为这会向外部暴露有关服务器的信息。chargen和echo端口曾一度适于测试网络连接性,但现在这两个端口太容易勾起动机不良者入侵的欲望(并可能相互连接,从而快速而轻易地加重服务器负载)。
最后,identd服务曾经是意义重大的信息源,可向服务器提供哪些用户连接到电脑上的信息。不幸的是,在当今本地root账户滥用和桌面Linux电脑盛行的时代,安装实际上谎报连接者信息的identd(不要有这种想法) 变得很常见,以致于多数站点忽略任何作者信息。既然ident 声名不佳的、不可靠的信息源,那为什么还要保留它呢? 
要想删除不必要的服务,首先就要关闭这些服务 (可在 /etc/rc.d/init.d/ 中停止服务,然后从~/etc/inetd.conf 中删除,或者通过kill手工停止服务)。然后为确保计算机在下次引导时不会再运行这些服务,可从 /etc/rc.d/* 中删除它们相应的项目。一旦完成对系统的调整和裁减使之只运行所需的服务,即可重启电脑再次查看进程表。
如果绝对需要在电脑中运行不安全的服务,那就应该使用tcp wrapper或者本地防火墙来限制对电脑的访问,使得用户只能访问其绝对需要问的电脑。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22965/showart_440469.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP