首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | linux相关 | linux认证 | 下载中心 | 专题
oklinux
 系统管理:中文环境 系统管理 桌面应用 内核技术 Linux基础:安装配置 常用命令 经验技巧 软件应用 Linux数据库:Mysql POSTGRE
 网络管理:网络安全 网络应用 Linux服务器 编程开发:PHP CC++ Python Perl SHELL 嵌入式开发 | PHP基础 PHP技巧 PHP应用 PHP文摘
 首页 linux资讯动态 Linux专题 | 其他Unix Linux解决方案 硬件相关 Linux认证 企业应用 Apache | 相关下载:资料 参考手册 开发工具
 → 当前位置:首页>网络管理>网络安全>正文

Linux系统服务器安装后的安全配置方法

OKLinux www.oklinux.cn 2007-06-15 来源: skid 会员收藏 游客收藏

安装完成以后,应该马上采取哪些措施来增强服务器的安全性。对于其他的Linux发布或者版本,这些方法也是适用的。

 

一、关闭不必要的服务

 

Linux的服务分为两种,一种是由inetd超级服务器来启动的,如:ftp、telnet等;对于这些服务来说,系统并不总是运行telnetd、 ftpd等服务进程,而是由inetd进程监听这些服务的服务端口,一旦有服务请求到达就启动对应的服务进程(如:telnetd等)来提供服务。另外一种是独立的服务器,系统一直运行有对应的服务进程。

 

关闭这两种服务的方法是不同的,对于inetd启动的进程:

 

inetd超级服务器的配置文件为/etc/inetd.conf,该文件指示了inetd应该监听哪些服务请求,并在请求时启动对应的服务。因此只要通过编辑/etc/inetd.conf文件就可以实现关闭不需要的服务,例如希望关闭pop3服务,则在编辑/etc/inetd.conf文件以前文件中有如下的内容:

 

pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

 

要关闭pop3服务则在该行前添加注释符即可:

 

#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

 

通过编辑该文件,实现关闭不需要的服务(例如我的系统我仅仅开放了telnet和ftp服务)以后,则需要重新启动inetd超级服务器。首先找到inetd的进程号:

 

[root@aid /etc]# ps ax|grep inetd

 

358 ? S 0:00 inetd

 

然后重新启动inetd服务器:

 

[root@aid /etc]# kill -HUP 358

 

最后因为inetd.conf应该不允许普通用户读写,因此设置其访问权限为600:

 

chmod 600 /etc/inetd.conf

 

而且该文件应该不被任何用户修改,包括root用户。因此为了防止用户错误的修改该文件,为该文件添加不可修改位:

 

chattr i /etc/inetd.conf

 

对于独立服务器,则需要通过/usr/sbin/ntsysv命令来修改:

 

只需要服务前面通过空格键来选择是否在系统启动时启动该服务就可以实现关闭某个服务器,如:希望系统关闭dhcpd服务,则通过上下键选中该服务器,然后通过空格键去掉该服务前[ ]内的星号即表示系统启动时不开放该服务。若希望了解某个服务的具体含义,可以选择该服务以后按F1键来查看该服务的含义。

 

设置完毕以后,只有希望打开的服务前的[ ]内才会有星号。然后通过Tab键选择OK,按空格键。重新启动机器。

 

重新启动机器以后,可以通过下面的命令来察看系统打开了哪些服务,来决定是否已经关闭了不需要的服务,例如我仅仅希望提供telnet服务则:

 

[ideal@aid ideal]$ netstat -ln

 

Active Internet connections (only servers)

 

Proto Recv-Q Send-Q Local Address Foreign Address State

 

tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN

 

raw 0 0 0.0.0.0:1 0.0.0.0:* 7

 

raw 0 0 0.0.0.0:6 0.0.0.0:* 7

 

Active UNIX domain sockets (only servers)

 

Proto RefCnt Flags Type State I-Node Path

 

从上面的命令输出可以看到系统仅仅开放了23号端口,也就是telnet服务。

 

二、控制使用开放的服务的用户

 

在上面提到的/etc/inetd.conf的配置文件中,我们看到pop3服务配置一行的最后两个字段为:

 

/usr/sbin/tcpd ipop3d

 

很显然,pop3的服务器程序为ipop3d,那么/usr/sbin/tcpd又是什么含义呢?这是一个称为Tcp wrapper的安全程序。该程序用来在启动某个服务以前查看两个配置文件来决定该用户是否允许使用该服务。在/etc目录下,有两个文件: hosts.deny hosts.allow。

 

通过配置这两个文件,你可以指定哪些客户机允许使用这些服务。配置这两个文件是通过一种简单的访问控制语言来实现的,访问控制语句的基本格式为: 程序名列表,主机名/IP地址列表。

 

程序名列表指定一个或者多个提供相应服务的程序的名字,名字之间用逗号或者空格分隔,可以在inetd.conf文件里查看提供相应服务的程序名:如上面的文件示例中,pop所在行的最后一项就是所需的程序名:ipop3d。

 

主机名/IP地址列表指定允许或者禁止使用该服务的一个或者多个主机的标识,主机名之间用逗号或空格分隔。程序名和主机地址都可以使用通配符,实现方便的指定多项服务和多个主机。 当服务请求到达服务器时,访问控制软件就按照下列顺序查询这两个文件,直到遇到一个匹配为止:

 

1. 当在/etc/hosts.allow里面有一项与请求服务的主机地址项匹配,那么就允许该主机获取该服务

 

2. 否则,如果在/etc/hosts.deny里面有一项与请求服务的主机地址项匹配,就禁止该主机使用该项服务

 

3. 若均没有匹配,则允许使用该服务。若相应的配置文件不存在,访问控制软件就认为是一个空文件,所以可以通过删除或者移走配置文件实现对所有主机关闭所有服务。

 

在文件中,空白行或者以#开头的行被忽略,你可以通过在行前加 # 实 现注释功能。Linux提供了下面灵活的方式指定进程或者主机列表:

共6页: 上一页 1 [2] [3] [4] [5] [6] 下一页
上一篇:一较高下 UNIX体验中心所提供的服务器   下一篇:感染Linux系统脚本程序的病毒技术介绍
收藏于收藏夹】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
·感染Linux系统脚本程序的病毒技术介绍
·如何增强Linux和Unix服务器系统安全性
·Linux安全之道 加固Linux服务器的绝招
·Linux下vsftpd的安全化的配置
·用SRP建立安全的LinuxTelnet服务器二
·网络安全手册<一>
·如何把linux配置成pix的日志主机
·教你一招Linux常见紧急情况处理方法
·网络安全手册<三>
·网络安全手册<二>
发表评论
密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行榜
·Linux服务器存储空间巧妙
·Xen和虚拟化技术学习指南
·为Linux服务器部署高效防
·RedHatAS4 WEB服务及虚拟
·静态和动态编译Apache+php
·Red Hat Linux 9 架设FTP
·操作系统安全防护技巧介绍
·UBUNTU里架设SquirrelMail
·在Linux下建立VPN服务器来
·Linux下网络电视配置-gsop
最新文章
·Linux操作系统下的集群工
·详细讲解 Linux系统无盘工
·Chinasec可信监控系统内网
·LVS集群学习笔记(NAT\DR\
·判断你的Linux系统机器是
·保护互联网上Linux系统机
·Linux操作系统下SVN服务器
·Linux系统服务器安全配置
·Linux操作系统中Samba服务
·针对Linux系统网络服务器
·Ubuntu 7.04桌面Linux服务
·搭建一个简单的Linux操作
·DNS服务器安装配置方法详
·Linux操作系统下的网络安
·构筑Unix系统防火墙体系的

设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2007 All rights reserved OKLinux.Cn 版权所有
合作联系 QQ:18743986 Email:arlan8005#163.com