视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
linux下各种服务器的架设
2025-09-29 22:26:15 责编:小OO
文档
郑州轻工业学院

实 训 报 告

实训名称:   Linux企业网络管理实训    

姓    名:赵广西            

院 (系):计算机与通信工程学院          

专业班级:信息安全08-01班        

学    号: 200813080155            

指导教师:蔡增玉 刘书如 吉星 李建春

成    绩:             

时间: 2010年12月20日至2010年12月31日

郑州轻工业学院软件学院

实训任务书

一、题目

Linux企业网络管理实训

二、实训的性质和任务

Linux典型企业网络管理实训是瞄准网络专业学生的就业方面知识和能力需求而制定,主要的目的是要求学生通过实训可以进行企业网络的设计、规划、设备的选型、各种安全策略的制定、各种服务的配置等。

三、实训的基本要求.

实训的基本要求:

1、网络的规划与设计

2、网络设备选型

3、网络设备的互连

4、网络安全策略的制定

5、网络各种服务的配置

6、实训报告的撰写

四、实训内容及要求

天/日期

任务描述通过标准
20,21布置任务和分组,做好实训计划安排
22,23网络具体规划(包括规划需求分析,总体设计)以及网络安全需求
24,27网络设备选型,网络安全规划与实施
28,29各种服务的配置(具体要求LAMP服务器配置实例,DNS服务器配置,防火墙的配置,DHCP的配置,FTP服务器配置。E-MAIL服务器配置)

30,31实训报告的撰写和验收
五、考核指标及成绩评定

实训成绩由下面构成: 

平时成绩(30%)+作品(20%)+实训报告(50%)=总评成绩

完  成  期  限:2010年12月 31日

指导教师签章:吉星  刘书如 蔡增玉 李建春 

专业负责人签章:                   

教学院长签章                        

2010年 12月20日

一、需求说明

(包括总体功能需求,设备需求,子网划分,安全需求,服务需求等。)

   

二、网络规划

  2.1 拓扑结构图

拓扑图说明:

  拓扑图中有两部分:总院网络和分院网络,有中心服务器与外部网络连接,进而与分院的路由器通信。总院网络有七个小的子网组成:门诊部下又划分为疗诊部和辅助疗诊部和护理部,急救中心,办公区又划分为后勤部和办公处,住院部。

  2.2 子网划分

  从拓扑图中可以看出给子网的划分情况

  医院网络划分

1.中心路由器

端口:Ser0/0:202.196.3.36/24()    端口:Fa1/0:192.168.1.1/24(服务器)

端口:Gig2/0:192.168.2.1/24 (门诊部) 端口:Gig3/0:192.168.3.1/24(急救)

端口:Gig4/0:192.168.4.1/24 (办公区)   端口:Gig5/0:192.168.5.1/24(住院部)

2.二级路由1

端口:Gig6/0:196.168.2.2/24   端口:Fa1/0:192.168.10.1/24

端口:Fa0/0:192.168.11.1/24   端口:Fa2/0:192.168.12.1/24

3.二级路由2

端口:Gig6/0:192.168.4.2/24   端口:Fa0/0:192.168.20.1/24

端口:Fa1/0:192.168.21.1/24

4.服务器IP:  192.168.1.2/24

诊疗部:    192.168.10.2/24-----192.168.10.254

辅助诊疗部:192.168.11.2/24------192.168.11.254/24

护理部:    192.168.12.2/24------192.168.12.254/24

急救中心:  192.168.3.2/24------192.168.3.254/24

后勤部:    192.168.20.2/24------192.168.20.254/24

办公处:    192.168.21.2/24------192.168.21.254/24

住院部:    192.168.5.2/24-------192.168.5.254/24

外部网络划分

1.外部路由器

端口:Ser0/0:202.196.3.34/24    

端口:Fa3/0:202.196.5.1/24

2.外部主机地址:202.196.5.4/24

服务器配置

   ①:中心路由

        动态路由协议配置:

           Network 192.168.1.0

                   192.168.2.0

                   192.168.3.0

                   192.168.4.0

                   192.168.5.0

                   202.196.3.0

         静态路由协议配置:

          Ip route 202.196.3.0 255.255.255.0 Serial10/0

   ② 二级路由器1

      动态路由协议配置

       Network 192.168.2.0

               192.168.10.0

               192.168.11.0

               192.168.12.0

      静态路由协议配置

       Ip route 192.168.2.0 255.255.255.0 Gig6/0

3二级路由器 2

  动态路由协议配置

Network  192.168.4.0

         192.168.20.1

         192.168.21.0

静态路由协议配置

 Ip Route  192.168.4.0  255.255.255.0 Gig6/0 

4外部路由器

   动态路由协议配置

    Network    202.196.3.0

                  202.196.5.0

      静态路由协议配置

       Ip Route   202.196.3.0     255.255.255.0  Ser0/0

  架好线以后应该配置路由器中心路由器有六个端口要设置,各个端口的IP,网关,子网掩码,需要实施IP的转换,已实现内部私有IP到共有IP的转换,还要实施安全策略防火墙,防火墙可以在路由器上配置也可以在服务器上配置,本工程在服务器上配置。

 2.3 网络总体规划 

   千兆以太网是相当成功的10Mpbs以太网和100Mpbs快速以太网标准的扩展。目前IEEE已经批准千兆以太网的工程。

   千兆为以太网

  

三、网络设备的选型

3.1 对设备的要求

高性能,所有网络设备都应足够的吞吐量,高可靠性和高可用性,应该考虑多种容错技术;可管理性,所有的网络设备均可用适当的管理软件进行监控,设置,管理,采用统一的国际标准;性价比,尽最大可能的提高设备的性价比。

3.2 设备的简介

 

设备名称型号数量功能
服务器IBM System x3650 M3(7945IEI)

1主要为内提供服务(如DNS,FTP等)

主路由器思科2811

1主要进行安全设置和私有地址到共有地址的转换。
路由器思科1841c

2主要划分子网用。
交换机思科WS-C3560-34TS-S

9为接入交换机的任意两个网络节点提供独享的电信号通路
    作为中小型规模的网络,Cisco 2811路由器一台,2811作为一款部署于运营商网络边缘和数据中心、体积小巧、性能出众的光纤路由器,在网络边缘和数据中心,必须提供出色的性能和服务来满足企业和电信运营商的需要。它具有以下优点:线速并发服务的性能,如安全,语音,广域网和多T1/E1/xDSL先进的服务费率 。

通过提高性能和增强的模块化投资保护 。通过高密度的提高高速广域网接口卡插槽(四)。 增强网络模块插槽 ,支持超过90现有和新模块 ,支持现有的目标,网管系统的WIC,VWICs大多数,维斯 。两个集成10/100快速以太网端口 ,可选的第二层以太网供电(PoE)(作为一个选项)切换支持 。安全方面,板载加密 ,高达1500的VPN隧道支持与的AIM - EPII加模块 ,防病毒,通过网络准入控制(NAC)的国防支援 ,入侵防御状态以及思科IOS防火墙的支持和许多更重要的安全功能 。声音方面,模拟和数字语音呼叫支持 ,可选语音邮件支持 ,用于Cisco CallManager Express的(思科CME)的可选支持本地呼叫处理的主张单独注册to36 IP电话业务 。可选支持存活远程电话支持小企业分支机构多达36个IP电话本地呼叫处理。

防火墙的选取,考虑中小型型企业的网络吞吐量比较大,这里选择的PIX,所有流经PIX的数据都必须接受严格而全面的检验,检验内容包括数据源和目标地址,TCP随机序列号,TCP端口号和附加标志等,自由满足特定条件的数据才能通过这道防火墙,内核技术不公开,可以很好防止黑客攻击。

(根据网络规划,需要多少种设备,每种设备的具体型号,功能和数量。比如服务器、路由器的型号选择等)

3.3 网络设备的配置

连接到因特网的路由器的配置,主要配置动态地址转换,将内部地址转换为外部地址:

设置NAT功能的路由器至少要有一个内部端口(Inside),一个外部端口(Outside)。内部端口连接的网络用户使用的是内部IP地址。  

  内部端口可以为任意一个路由器端口。外部端口连接的是外部的网络,如Internet  。外部端口可以为路由器上的任意端口。  

内部本地地址(Inside local address):分配给内部网络中的计算机的内部IP地址。  

  内部合法地址(Inside global address):对外进入IP通信时,代表一个或多个内部本地地址的合法IP地址。需要申请才可取得的IP地址。  

1、静态地址转换适用的环境  

  静态地址转换将内部本地地址与内部合法地址进行一对一的转换,且需要指定和哪个合法地址进行转换。如果内部网络有E-mail服务器或FTP服务器等可以为外部用户提供的服务,这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务(本项目有WWW服务器供访问,所以要用静态地址转换)

静态地址转换基本配置步骤:  

 (1)、在内部本地地址与内部合法地址之间建立静态地址转换。在全局设置状态下输入:  

 Ip  nat  inside  source  static  内部本地地址  内部合法地址  

 (2)、指定连接网络的内部端口  在端口设置状态下输入:  

    ip  nat  inside  

 (3)、指定连接外部网络的外部端口  在端口设置状态下输入:  

  ip  nat  outside  

  

  注:可以根据实际需要定义多个内部端口及多个外部端口。  

 本项目的简单的地址转换  

  本实例实现静态NAT地址转换功能。将2501的以太口作为内部端口,同步端口ser0/0作为外部端口。其中192.168.1.2的内部本地地址采用静态地址转换。其内部合法地址分别对应为202.196.3.36。    

  路由器2501的配置:  

  Current  configuration:  

  version  11.3  

  no  service  password-encryption  

  hostname  2501  

  ip  nat  inside  source  static  202.196.3.36  192.168.1.2  

 

  interface  Ethernet0  

  ip  address  192.168.1.2  255.255.255.0  

  ip  nat  inside  

  interface  Serial0  

  ip  address  202.196.3.36  255.255.255.0  

  ip  nat  outside  

  no  ip  mroute-cache  

  bandwidth  2000  

  no  fair-queue  

  clockrate  2000000  

  interface  Serial1  

  no  ip  address  

  shutdown  

  no  ip  classless  

  ip  route  0.0.0.0  0.0.0.0  Serial0  

  line  con  0  

  line  aux  0  

  line  vty  0  4  

  password  cisco  

  end  

  配置完成后可以用以下语句进行查看:  

  show  ip  nat  statistcs  

  show  ip  nat  translations  

3、复用动态地址转换适用的环境:  

  复用动态地址转换首先是一种动态地址转换,但是它可以允许多个内部本地地址共用一个内部合法地址。只申请到少量IP地址但却经常同时有多于合法地址个数的用户上外部网络的情况,这种转换极为有用。    

  注意:当多个用户同时使用一个IP地址,外部网络通过路由器内部利用上层的如TCP或UDP端口号等唯一标识某台计算机。  

  复用动态地址转换配置步骤:  

  在全局设置模式下,定义内部合地址池  

  ip  nat  pool  地址池名字  起始IP地址  终止IP地址  子网掩码  

  其中地址池名字可以任意设定。  

  在全局设置模式下,定义一个标准的access-list规则以允许哪些内部本地地址可以进行动态地址转换。  

  access-list  标号  permit  源地址  通配符  

  其中标号为1-99之间的整数。  

  在全局设置模式下,设置在内部的本地地址与内部合法IP地址间建立复用动态地址转换。  

    ip  nat  inside  source  list  访问列表标号  pool  内部合法地址池名字  overload  

  在端口设置状态下,指定与内部网络相连的内部端口  

  ip  nat  inside  

  在端口设置状态下,指定与外部网络相连的外部端口  

  ip  nat  outside 

实例:应用了复用动态NAT地址转换功能。将2501的以太口作为内部端口,同步端口0作为外部端口。192.168.1.0网段采用复用动态地址转换。假设企业只申请了一个合法的IP地址202.196.3.36。    

  2501的配置  

  Current  configuration:  

  version  11.3  

  no  service  password-encryption  

  hostname  2501  

  ip  nat  pool  bbb  192.1.1.1  192.1.1.1  netmask  255.255.255.0  

  ip  nat  inside  source  list  1  pool  bbb  overload  

  interface  Ethernet0  

  ip  address  192.168.1.0  255.255.255.0  

  ip  nat  inside  

  interface  Serial0  

  ip  address  202.196.3.36  255.255.255.0  

  ip  nat  outside  

  no  ip  mroute-cache  

  bandwidth  2000  

  no  fair-queue  

  clockrate  2000000  

  interface  Serial1  

  no  ip  address  

  shutdown  

  no  ip  classless  

  ip  route  0.0.0.0  0.0.0.0  Serial0  

  access-list  1  permit  192.168.1.2  0.0.0.255  

  line  con  0  

  line  aux  0  

  line  vty  0  4  

  password  cisco  

  end    

3.4 线路的设置

四、服务需求分析

   4.1 Apache 服务器

   由于医院需要有自己的网站,供外面的人访问,所以要架设www,用到Apache服务。外人可以根据自己的账户登录医院网站查看自己的医保,所以还要附加有Mysql数据库服务。

  4.2 DNS 服务器

   为了本院工作人员能用好记的域名访问内,所以要架设DNS服务器。

  4.3 DHCP服务器

   由于医院内的主机数量太多不可能手动分配IP等信息,要让让用户端的电脑可以在开机的时候就立即自动的设定好网路的参数值,这些参数值可以包括了 IP、netmask、network、gateway 与 DNS 的位址等等。如此一来,呵呵!  就需要DHCP服务器

4.4 FTP 服务器

   为了方便网内用户的信息共享所以要用到FTP服务器。按组划分,供用户上传下载。

五、服务具体配置

(选什么软件,为什么? 如何配置,运行效果如何)

   

六、网络安全策略

(采取安全措施,每种措施如何实施,效果如何)

5.1 路由器的安全配置

路由器是网络中的神经中枢,广域网就是靠一个个路由器连接起来组成的,局域网中也已经普片的应用到了路由器,下面讲下本项目中网络安全中路由器的安全配置吧。本项目用的路由器是CISCO路由器。

  1.配置访问控制列表:

  使用访问控制列表的目的就是为了保护路由器的安全和优化网络的流量.访问列表的作用就是在数据包经过路由器某一个端口时,该数据包是否允许转发通过,必须先在访问控制列表里边查找,如果允许,则通过.所以,保护路由器的前提,还是先考虑配置访问控制列表吧.

  访问列表有多种形式,最常用的有标准访问列表和扩展访问列表.

  创建一个标准访问控制列表的基本配置语法:access-list access-list-number{deny|permit} source [source-wildcard]

  注释:access-list-number是定义访问列表编号的一个值,范围从1--99.参数deny或permit指定了允许还是拒绝数据包.参数source是发送数据包的主机地址.source-wildcard则是发送数据包的主机的通配符.在实际应用中,如果数据包的源地址在访问列表中未能找到,或者是找到了未被允许转发,则该包将会被拒绝.下面是一个简单访问列表示例介绍:

  1) access-list 3 permit 192.168.1.0 0.0.5.255 */指明一个列表号为3的访问控制列表,并允许192.168.1.0这个网段的数据通过0.0.5.255是通配符.

  2) access-list 3 permit 192.168.1.2 0.0.5.255 */允许所有源地址为从192.168.1.2到192.168.5.254的数据包通过应用了该访问列表的路由器接口.

  3) access-list 3 deny 192.168.20.2 0.0.23.255 */拒绝源IP地址为192.168.20.2到192.168.23.254的数据包通过该访问列表.

  配置了访问列表后,就要启用访问控制列表,我们可以在接口配置模式下使用access-group或ip access-class命令来指定访问列表应用于某个接口.使用关键字in(out)来定义该接口是出站数据包还是入站数据包.

示例:ip access-group 3 in */定义该端口入站数据包必须按照访问列表3上的原则.

  由于标准访问控制列表对使用的端口不进行区别,所以,引入了扩展访问控制列表(列表号从100--199).扩展访问列表能够对数据包的源地址,目的地址和端口等项目进行检查,这其中,任何一个项目都可以导致某个数据包不被允许经过路由器接口.简单的配置示例:

1) ip access-list 101 permit tcp any host 192.168.1.2 established log

2) ip access-list 101 permit tcp any host 192.168.1.2 eq www log

3) ip access-list 101 permit tcp any host 192.168.1.2 eq ftp log

4) ip access-list 101 permit tcp any host 192.168.1.2 log

  注释:

  第一行允许通过TCP协议访问主机192.168.1.2,如果没个连接已经在主机192.168.1.2和某个要访问的远程主机之间建立,则该行不会允许任何数据包通过路由器接口,除非回话是从内部企业网内部发起的.第二行允许任何连接到主机192.168.1.2来请求www服务,而所有其他类型的连接将被拒绝,这是因为在访问列表自动默认的在列表尾部,有一个deny any any语句来其他类型连接.第三行是拒绝任何FTP连接来访问192.168.1.2主机.第四行是允许所有类型的访问连接到192.168.1.2主机.

  2.保护路由器的密码

  1)禁用enable password命令,改密码加密机制已经很古老,存在极大安全漏洞,必须禁用,做法是:no enable password

  2)利用enable secret命令设置密码,该加密机制是IOS采用了MD5散列算法进行加密,具体语法是:enable secret[level level] {password|encryption-type encrypted-password}

 举例:

  Ro(config-if)#enable secret level 9 ~@~!79#^&^0^ */设置一个级别为9级的~@~!79#^&^0^密码

Ro(config-if)#service router-encryption */启动服务密码加密过程

  enable secret命令允许管理员通过数字0-15,来指定密码加密级别.其默认级别为15.

  3.控制telnet访问控制

  为了保护路由器访问控制权限,必须登陆访问路由器的主机,针对VTY(telnet)端口访问控制的方法,具体配置要先建立一个访问控制列表,如下示例,建立一个标准的访问控制列表(编号从1--99任意选择):

access-list 90 permit 192.168.1.2

access-list 90 permit 192.168.4.2

  该访问列表仅允许以上两个IP地址之一的主机对路由器进行telnet访问,注意:创建该列表后必须指定到路由器端口某个端口上,具体指定方法如下:

line vty E0 4

access-class 90 in

  以上配置是入站到E0端口的telnet示例,出站配置采用out,在这里将不再详细赘述.为了保护路由器的安全设置,也可以其telnet访问的权限,比如:通过分配管理密码来一个管理员只能有使用show命令的配置如下:

enable secret level 6 123456

privilege exec 6 show

  给其分配密码为123456,telnet进入路由器后,只能用show命令,其他任何设置权限全部被.另外,也可以通过访问时间来所有端口的登陆访问情况,在超时的情况下,将自动断开,下面是一个配置所有端口访问活动3分30秒的设置示例:

exec-timeout 3 30

  4.禁止CDP

  CDP(Cisco Discovery Protocol)CISCO查找协议,该协议存在CISCO中都是默认启动的,他有一个缺陷就是:对所有发出的设备请求都做出应答.这样将威胁到路由器的泄密情况,因此,必须禁止其运行,方法如下:

no cdp run

  管理员也可以指定禁止某端口的CDP,比如:为了让路由器内部网络使用CDP,而禁止路由器对的CDP应答,可以输入以下接口命令:

no cdp enable

  5.HTTP服务的配置

  现在许多CISCO设备,都允许使用WEB界面来进行控制配置了,这样可以为初学者提供方便的管理,但是,在这方便的背后,却隐藏了很大的危机,为了能够配置好HTTP服务,使用ip http server命令可以打开HTTP服务,使用no ip http server命令可以关闭HTTP服务.为了安全考虑,如果需要使用HTTP服务来管理路由器的话,最好是配合访问控制列表和AAA认证来做,也可以使用enable password命令来控制登陆路由器的密码.具体的配置是在全局模式下来完成的,下面是我们创建一个简单的标准访问控制列表配合使用HTTP服务的示例:

ip http server */打开HTTP服务

ip http port 10248 */定义10248端口为HTTP服务访问端口

access-list 80 permit host 192.168.1.0 */创建标准访问列表80,只允许192.168.1.0主机通过

ip http access-class 80 */定义了列表号为80的标准访问列表为HTTP服务允许访问的

ip http authentication aaa tacacs */增加AAA认证服务来验证HTTP控制的主机

  保护路由器并不是这样简单的事情,在很多实际应用中,还需要很多辅助配置.为了保护路由器,各种各样的安全产品都相继出现,比如给路由器添加硬件防火墙,配置AAA服务认证,设置IDS入侵检测等等吧.为了维护路由器的安全稳定工作,我要告诉大家最重要的还是配置最小化IOS,没有服务的设备,肯定没有人能够入侵,最小化的服务就是我们最大化的安全

5.2 服务器安全配置

1. 防火墙

本项目我们用到的简单的防火墙设置,网路安全除了随时注意套件的漏洞,以及网路上的安全通报之外,你最好能够依据自己的环境来订定防火墙机制, 这样对于你的网路环境,会比较有保障一点喔!那么什么是防火墙呢? 其实防火墙就是在管制进入到我们网域内的主机(或者可以说是网域)的资料封包的一种机制, 例如Linux的iptables 就是一种防火墙机制了。当然了,更广义的来说, 只要能够分析与过滤进出我们管理之网域的封包资料,就可以称为防火墙。

而这个防火墙又可以分为硬体防火墙与本机的软体防火墙。硬体防火墙是由厂商设计好的主机硬体, 这部硬体防火墙内的作业系统主要以提供封包资料的过滤机制为主,并将其他的功能拿掉。因为单纯作为防火墙功能而已, 因此封包过滤的速度与效率较佳。至于软体防火墙呢?那就是我们用软体防火墙本Linux的iptables,因为iptables是Linux自带的防火墙所以执行效率很高。

咱们的 iptables 至少可以有底下这几种抵挡封包的方式∶

ⅰ 拒绝让 Internet 的封包进入 Linux 主机的某些 port、

ⅱ 拒绝让某些来源 IP 的封包进入

ⅲ 拒绝让带有某些特殊旗标( flag )的封包进入

ⅳ 分析硬体位址(MAC)来提供服务

 针对以上可以按下完成:

 第一.清除规则和计数器

   列出目前的规则

     iptables –L –N

   清除本机的所有规则

     iptables –F

     iptables  -X

     iptables  -Z

 第二.配置新的规则

   FTP只允许内部网访问。

   iptables  -A INPUT -i eth0  -p tcp  -s !192.168.0.0 192.168.100.245/255.255.255.0  --dport 21 –j DROP

   WEB开放

   iptables –A INPUT -i eth0 –p tcp –dport 80 –j ACCEPT

   拒绝特定来源的Ip访问

   iptables   —A   INPUT   -i   eht0  –s  192.168.2.2  –j  DROP

  拒绝让带有某些特殊旗标SYN的封包进入

   iptable  -A  INPUT -i  eht0  -p tcp –sport 1:1023  \

> --dport 1:1023 –syn –j DROP

  针对区域内的硬体位址(MAC)来提供联通服务

iptables  -A INPUT –M  mac –mac-source aa:bb:cc:dd:00:11 –j accept

2.物理安全

首先,防热,服务器在夏天更容易死机,出现故障,其中最重要的一个原因是服务器温度过高,服务器一般是7*24小时不间断工作,如果服务器周围环境温度过高,服务器不能很好的散热,使CPU温度超过了它所能承受的温度,服务器就将死机。所以在夏天,服务器应该放在有空调的房间里。

  其次,防晒,夏天日照时间长,日光强烈,服务器不能放在阳光能达到的地方,像阳台、窗户旁边等阳光容易照进去的地方,因为那样服务器温度会很快升高,导致服务器死机。

  第三,防潮 夏天雨水过多,服务器长期期工作在潮湿环境中也容易产生一些意外的故障,严重的话甚至会损坏硬件配件。电脑要尽量放置在通风的地方使用,如果空气湿度太大,可以用风扇吹吹服务器。

  第四,防雷 夏天雷电多,雷电形成的电压会通过电源线、电话通信线等途径给服务器等硬件设备带来损坏。对应措施就是购买带有防雷功能的设备。

  第五,防雨,突如其来的风雨很多。服务器一定要放在雨淋不到的地方,防止突然的雨水给将服务器淋湿,否则服务器很可能就因为一场雨而OVER了。

3. 安全的apache服务器配置

本项目中只有apache服务器是对开放的所以重点讲apache服务器的安全。如果你能遵守下边这些建议,那么你将得到一台相对安全的apache服务器。 

一:勤打补丁 

   你必须要相信这个是最有用的手段,缓冲区溢出等漏洞都必须使用这种手段来防御,勤快点相信对你没有坏处 

在http:www.apache.org上最新的changelog中都写有:bug fix ,security bug fix的字样,做为负责任的管理员要经常关注相关漏洞,及时升级系统添加补丁。使用最新安全版本对加强apache至关重要 

二:隐藏和伪装Apache的版本 

打乱攻击者的步骤,给攻击者带来麻烦,相信是管理员愿意看到的。软件的漏洞信息和版本是相关的,在攻击者收集你服务软件信息时候给与迷惑是个不错的选择,何况版本号,对攻击者来说相当与GPS定位一样重要 

默认情况,系统会把apache版本模块都显示出来(http返回头),如果列举目录的话,会显示域名信息(文件列表正文),去除Apache版本号的方法是修改配置文件,找到关键字,修改为下边 

ServerSignature off 

ServerTokens prod 

通过分析web服务器类型,大致可以推测操作系统类型,win使用iis,linux普遍apache,默认的Apache配置里没有任何信息保护机制,并且允许目录浏览,通过目录浏览,通常可以得到类似“apache/1.37 Server at apache.linuxforum.net Port 80”或“apache/2.0.49(unix)PHP/4.3.8”的信息 

通过修改配置文件中的ServerTokens参数,可以将Apache的相关信息隐藏起来,如果不行的话,可能是提示信息被编译在程序里了,要隐藏需要修改apache的源代码,然后重新编译程序,以替换内容 

编辑ap_release.h文件, 

修改"#define AP_SERVER_BASEPRODUCT\\"Apache\\""为 

"#define AP_SERVER_BASEPRODUCT\\"Microsoft-IIS/5.0\\" 

编辑os/unix/os.h文件 

修改"#define PLATFORM\\"Unix\\""为 

"#define PLATFORM\\'Win32" 

修改完成后,重新编译,安装apache,在修改配置文件为上边做过的,再次启动apache后,用工具扫描,发现提示信息中已经显示为windows操作系统了 

这个等于告诉恶意用户很多有用信息,虽然说不算开了门,但等于被告诉了门在那里,还是相当危险的 

三:建立安全的目录结构apache服务器包括四个目录结构 

ServerRoot #保存配置文件,二进制文件与其他服务器配置文件 

DocumentRoot #保存web站点内容,包括HTML文件和图片等 

ScripAlias #保存CGI脚本 

Customlog 和 Errorlog #保存日志和错误日志 

建议的目录结构为,以上四种目录相互并且不存在父子逻辑关系 

注: 

ServerRoot目录只能为root用户访问 

DocumentRoot目录应该能够被管理web站点内容的用户访问和使用apache服务器的apache用户与组访问 

ScripAlias目录应该只能被CGI开发人员和apache用户访问 

Customlog 和 Errorlog只能被root访问 

下边是一个安全目录结构的事例 

+-------/etc/ 

| +----/http (ServerRoot) 

| +----/logs (Customlog 和 Errorlog) 

+-------var/www 

| +---/cgi-bin (ScripAlias) 

| +---/html (DocumentRoot) 

这样的目录结构是比较安全的,因为目录之间,某个目录权限错误不会影响到其他目录 

四:为apache使用专门的用户与组 

按照最小的原则,需要给apache分配一个合适的权限,让其能够完成web服务 

注: 

最小原则是系统安全中最基本的原则之一,使用者对系统及数据进行存取所需要的最小权限,保证用户可以完成任务,同时也确保被窃取或异常操作所造成的损失 

必须保证apache使用一个专门的用户与组,不要使用系统预定的帐户,比如nobody用户与nogroup组 

因为只有root用户可以运行apache,DocumentRoot应该能够被管理web站点内容的用户访问和使用apache服务器的apache用户与组访问,例如,希望“test”用户在web站点发布内容,并且可以以httpd身份运行apache服务器,可以这样设定 

groupadd webteam 

usermod -G webteam test 

chown -R httpd.webteam /www/html 

chmod -R 2570 /www/htdocs 

只有root能访问日志,推荐这样的权限 

chown -R root.root /etc/logs 

chown -R 700 /etc/logs 

五:web目录的访问策略 

对于可以访问的web目录,要使用相对保守的途径进行访问,不要让用户查看任何目录索引列表 

禁止使用目录索引: 

apache在接到用户对一个目录的访问时,会查找DirectoryIndex指令指定的目录索引文件,默认为index.html,如果该文件不存在,那么apache会创建动态列表为用户显示该目录的内容,这样就会暴露web站点结构,因此需要修改配置文件禁止显示动态目录索引,修改httpd.conf 

Options -Indexes FollowSymLinks 

Options指令通知apache禁止使用目录索引,FollowSymLinks表示不允许使用符号连接。 

禁止默认访问: 

要的安全策略必须要禁止默认访问的存在,只对指定的目录开放权限,如果允许访问/var/www/html目录,使用如下设定 

Order deny,allow 

Allow from all 

禁止用户重载: 

为了禁止用户对目录配置文件(htaccess)进行重载(修改),可以这样设定 

AllowOverride None 

六:apache服务器访问控制 

apache的access.conf文件负责设置文件的访问权限,可以实现互联网域名和ip地址的访问控制 

如允许192.168.1.1到192.168.1.254的主机访问,可以这样设定 

order deny,allow 

deny from all 

allow from pair 192.168.1.0/255.255.255.0 

七:apache服务器的密码保护 

.htaccess文件是apache上的一个设置文件,它是一个文本文件,.htaccess文件提供了针对目录改变配置的方法 

既通过在一个特定的文档目录中放置一个包含一个或多个指令的文件(.htaccess文件),以作用于此目录和子目录。 

.htaccess的功能包括设置网页密码,设置发生错误时出现的文件,改变首业的文件名(如,index.html),禁止读取文件名,重新导向文件,加上MIME类别,禁止目录下的文件等。 

注:.htaccess是一个完整的文件名,不是***.htaccess或其他格式,在/abc目录下放置一个.htaccess文件,那么/abc与它的子目录都会被这个文件影响,但/index.html不会被影响 

.htaccess的建立和使用比较复杂点,如果感兴趣的朋友可以回帖发问,这里就不具体写出来了,这种保护要比某些程序实现的保护安全,那种方法可以通过被猜测方法获取密码,用.htaccess很难被破解,但文本方式的验证会比较慢,对少量用户没影响,但对大量用户就必须使用带数据模块的验证了,这需要编译源代码时候开启模块,默认是不开启的 

八:让apache运行在“监牢”中 

“监牢”的意思是指通过chroot机制来更改某个软件运行时所能看到的根目录,简单说,就是被在指定目录中,保证软件只能对该目录与子目录文件有所动作,从而保证整个服务器的安全,即使被破坏或侵入,损伤也不大 

以前,unix/linux上的daemon都是以root权限启动的,当时,这是一件理所当然的事情,像apache这样的服务器软件,需要绑定到80端口上来监听请求,而root是唯一有这种权限的用户,随着攻击手段和强度的增加,这样会使服务器受到相当大的威胁,一但被利用缓冲区溢出漏洞,就可以控制整个系统。现在的服务器设计通常以root启动,然后进程放弃root权限,改为某个低级的帐号运行。这种方式显然会降低对系统的危害,但攻击者还是会寻找漏洞提升权限,即使无法获得root权限,也可以删除文件,涂改主页等 

为了进一步提高系统安全性,linux内核引入chroot机制,chroot是内核中的一个系统调用,软件可以通过调用函数库的chroot函数,来更改某个进程所能见到的跟目录,比如,apache软件安装在/usr/local/httpd目录,以root启动apache,这个root权限的父进程会派生数个以nobody权限运行的子进程,父进程监听80端口,然后交给某个子进程处理,这时候子进程所处的目录续承父进程,即/usr/local/httpd目录,但是一但目录权限设定错误,被攻击的apache子进程可以访问/usr/local , /usr ,/tmp甚至整个文件系统,因为apache进程所处的跟目录仍然是整个文件系统的跟目录,如果可以用chroot将apache在/usr/local/httpd/下,那么apache所存取的文件都被在/usr/local/httpd下,创建chroot监牢的作用就是将进程权限在文件目录树下,保证安全。 

如果自己手动apache的监牢,将是很烦琐和复杂的工作,需要牵扯到库文件,这里可以使用jail包来简化监牢的实现 

jail的官方网站为: http://www.jmcresearch.com有兴趣可以逛逛 

这里也不写出具体的创建过程稍微麻烦,如果对安全有需要的话,请回帖,会及时补上 

九:apache服务器防范Dos 

apache服务经常会碰到Dos攻击,防范的主要手段是通过软件,apahce Dos Evasive Maneuvers Module 

来实现的,它是一款mod_access的代替软件,可以对抗DoS攻击,该软件可以快速拒绝来自相同地址对同一URL的重复请求,通过查询内部一张各子进程的哈希表来实现 

可以到网址:http://online/.securityfocus.com/tools/ 上下载软件 

十:减少CGI和SSI风险 

CGI脚本的漏洞已经成为WEB服务器的首要安全隐患,通常是程序编写CGI脚本产生了许多漏洞,控制CGI的漏洞除了在编写时候注意对输入数据的合法检查,对系统调用的谨慎使用等因素外,首先使用CGI程序所有者的ID来运行这些程序,即使被漏洞危害也仅限于该ID能访问的文件,不会对整个系统带来致命的危害,因此需要谨慎使用CGI程序。 

1.3版的apache集成了suEXEC程序,可以为apache提供CGI程序的控制支持,可以把suEXEC看做一个包装器,在Apache接到CGI程序的调用请求后,把这个请求交给suEXEC来负责完成具体调用,并从suEXEC返回结果,suEXEC可以解决一些安全问题,但会影响速度 

如果是对安全性要求很高时候,建议使用suEXEC,此外还有一个软件CGIWrap,它的安全性要高与suEXEC 

减少SSI脚本风险,如果用exec等SSI命令运行外部程序,也会存在类似CGI脚本风险,除了内部调试程序时,应使用 

option命令禁止其使用: 

Option IncludesNOEXEC 

十一:使用ssl加固Apache 

使用具有SSL功能的服务器,可以提高网站敏感页的安全性能,SSL工作与TCP/IP协议和HTTP协议之间 

SSL可以加密互联网上传递的数据流,提供身份验证,在线购物而不必担心别人窃取信用卡信息,在基于电子商务和基于web邮件的地方非常重要。

降低服务器运行的权限

   使各种服务器运行的权限最低化,这样可以防止服务器被攻破后,使黑客能得到的权限也不大,进而减少损失。

5.3 客户机安全配置

    

七、实训心得下载本文

显示全文
专题