项目2 Linux系统下常用网络服务的安全配置.docx
《项目2 Linux系统下常用网络服务的安全配置.docx》由会员分享,可在线阅读,更多相关《项目2 Linux系统下常用网络服务的安全配置.docx(17页珍藏版)》请在冰豆网上搜索。
项目2Linux系统下常用网络服务的安全配置
项目2Linux系统下常用网络服务的安全配置
Window图形界面,而是采用文本命令行的方式进行安装和配置,并在文本模式运行网络应用服务。
本项目主要实现校园网内部网络服务器的安全管理问题。
一、项目简介在校园网本部(如图2所示)中心机房内假定有数台服务器,服务器安装的操作系统均为Linux,配置的常用服务有DHCP、DNS、邮件服务、Web、FTP、Samba、NFS等。
本项目需要在服务器上设置安全的服务,以保证网络服务器的安全,并测试网络服务的安全性。
二、实训环境
1、硬件环境数台(服务器的数目根据要求来定)服务器和数台测试客户机。
2、软件环境Linux系统使用CentOS
5、6,客户机使用WindowsXP、Windows7或者Linux系统。
本项目计划学时18学时(含评讲)。
任务1DHCP服务安全(2学时)[安全管理需求]DHCP服务是当前网络常用的服务,它实现了IP地址的分配管理,大大降低了网络管理员的负担。
因此,DHCP服务的安全直接关系到用户以及Linux系统的安全。
为了实现安全的DHCP服务器,需要使用chroot“牢笼“技术。
[任务描述]配置DHCP服务并利用“牢笼”技术来保证DHCP服务的安全。
使用该技术的前提是需要所有程序、配置文件和库文件都必须事先安装到chroot目录中,如果在这个目录中运行服务,用户将根本看不到Linux文件系统中那个真正的目录。
[步骤提示]
1、默认情况下CentOS系统并没有安装DHCP组件。
需要自己安装。
2、配制DHCP服务。
3、编译安装jail软件包。
jail软件可在http:
//sourceforge、net/projects/jail/上下载,用于实现chroot。
jail软件包提供了几个Perl脚本作为其核心命令,包括mkjailenv、addjailuser和addjailsw。
mkjailenv:
创建chroot目录,并且从真实文件系统中拷贝基本的软件环境。
addjailsw:
从真实文件系统中拷贝二进制可执行文件及其相关的其它文件(包括库文件、辅助性文件和设备文件)到该chroot目录中。
addjailuser:
创建新的chroot用户。
4、使用命令创建chroot目录,假定目录为/root/chroot/。
如图2-1所示。
[root@localhostsrc]#mkjailenv/root/chroot/mkjailenvAcomponentofJail(version
1、9forlinux)http:
//www、gsyc、inf、uc3m、es/~assman/jail/JuanM、CasillasMakingchrootedenvironmentinto/root/chroot/Doingpreinstall()
Doingspecial_devices()
Doinggen_template_password()
Doingpostinstall()Done、图2-1建立chroot“牢笼”目录
5、为“牢笼”添加dhcpd程序。
如图2-2所示。
[root@localhostchroot]#addjailsw/root/chroot/2为“牢宠”添加dhcpd程序
6、将dhcpd的相关文件复制到“牢宠”的相关目录中,目录结构如下:
# mkdirp/chroot/dhcp/var/state/dhcp#touch/chroot/dhcp/var/state/dhcp/dhcp、leases
7、重启dhcpd,进行测试。
(1)使用命令ps检查dhcpd进程,如图2-3所示。
[root@localhost~]#/root/chroot/usr/sbin/dhcpdInternetSystemsConsortiumDHCPServerV
3、0、5-RedHatCopyright2004-xxInternetSystemsConsortium、Allrightsreserved、Forinfo,pleasevisithttp:
//www、isc、org/sw/dhcp/WARNING:
Hostdeclarationsareglobal、Theyarenotlimitedtothescopeyoudeclaredthemin、Wrote0deletedhostdeclstoleasesfile、Wrote0newdynamichostdeclstoleasesfile、Wrote1leasestoleasesfile、ListeningonLPF/eth0/00:
0c:
29:
1a:
8d:
4a/1
92、1
68、10/24SendingonLPF/eth0/00:
0c:
29:
1a:
8d:
4a/1
92、1
68、10/24SendingonSocket/fallback/fallback-net[root@localhost~]#ps3在“牢笼”中的dhcpd进程启动及查看
(2)客户端windows7系统获得的IP地址如图2-4所示。
图2-4客户端获取IP地址示意图任务2安全的DNS服务器配置(4学时)[安全管理需求]DNS服务是当前网络中非常重要的服务,它实现了IP地址与域名的转换,使得人们能通过简单好记的域名来代替IP地址访问网络。
因此高效管理及使用DNS服务器是网络管理员的一个非常重要的问题。
[任务描述]配置DNS服务器并利用DNS提供的chroot机制实现安全的DNS服务。
使用辅助域名服务器实现冗余备份,与DHCP服务器配合实现DDNS功能。
拓扑图如下所示(图2-5)。
LAN2:
1
92、1
68、
20、0/24FQDN:
dns
1、gdsspt、netIP:
1
92、1
68、
20、5DNS:
1
92、1
68、
10、4GATEWAY:
1
92、1
68、
20、254LAN1:
1
92、1
68、
10、0/24FQDN:
dns、gdsspt、netIP:
1
92、1
68、
10、4DNS:
1
92、1
68、
10、4GATEWAY:
1
92、1
68、
10、254因特网图2-5网络实现DNS与DHCP拓扑图图2-5中,LAN1中配置了一台DHCP服务器和一台DNS服务器,LAN2中一台辅助DNS服务器并启动DHCP中继代理。
要求如下:
1、LAN1和LAN2内客户端自动获取IP地址、子网掩码、默认网关及DNS后缀(gdsspt、net)。
LAN1可用地址为1
92、1
68、
10、20~1
92、1
68、
10、100和1
92、1
68、
10、120~1
92、1
68、
10、250,LAN2可用IP地址为1
92、1
68、
20、20~1
92、1
68、
20、250。
2、网络的主DNS服务器为1
92、1
68、
10、4,为了提高网段1
92、1
68、
20、0/24DNS客户端的解析速度需要dns
1、gdsspt、net中建立一个辅助区域。
3、网络需要向内网及外网客户端提供web服务、邮件服务的名称解析,内网用户访问www、gdsspt、net及mail、gdsspt、net被DNS解析为1
92、1
68、
10、4,外网用户访问www、gdsspt、net及mail、gdsspt、net被DNS解析为202、103、0、10。
4、由于客户端数量众多所以需要使用DDNS,减轻DNS的维护工作量。
5、内网用户可以通过本地的DNS服务解析到公网的FQDN。
[步骤提示]
1、在主机dns、gdsspt、net和dns
1、gdsspt、net上安装DHCP服务。
(注:
主机名的修改需要在/etc/sysconfig/network和/etc/hosts中进行)
2、在主机dns、gdsspt、net和dns
1、gdsspt、net上安装DNS组件。
CentOS
5、6提供的组件如下:
bind-libs-
9、3、6-
16、P
1、el5bind-
9、3、6-
16、P
1、el5bind-chroot-
9、3、6-
16、P
1、el5bind-utils-
9、3、6-
16、P
1、el5caching-nameserver-
9、3、6-
16、P
1、el
5、x86_
64、rpm(非必需的,BIND配置例子,如果对BIND比较熟悉,可以不安装该组件。
)
3、开启DNS服务器的路由功能,使用如下命令完成。
echo1>/proc/sys/net/ipv4/ip_forward
4、为了更好地显示编辑的当前目录信息(提示符信息),可以修改PS1变量的选项,通过修改文件/etc/bashrc,将里面的"$PS1"="\\s-\\v\\\$"]&&PS1="[\u@\h\W]\\$"下的大写的W改成小写的w(表示完整显示目录信息)。
重新进入系统即可显示当前完整的编辑目录。
类似于如下图(图2-6)所示:
[root@localhost~]#cd/var/named/chroot/[root@localhost/var/named/chroot]#图2-6完整显示当前编辑目录示意图
5、在dns、gdsspt、net主机上创建DDNS密钥,通过cat查看并记下生成的密钥。
注:
TSIG(TransactionSignature,事务签名)使用加密验证DNS信息。
TSIG是以加密算法的方式,认证DNS服务器之间的数据传输。
首先必须在主要区域所在服务器上生成加密证书,之后将此证书传递给辅助区域所在服务器,经过配置后由辅助区域所在服务器以加密方式送往主要区域所在服务器的区域传输请求。
同时提供加密的DDNS。
TSIG功能确认DNS之信息是由某特定DNS服务器提供,并且大多数应用于DNS之间区域传输,确保辅助区域从主要区域复制得到的数据不会由其他假的DNS服务器提供或被篡改截取。
使用命令dnssec-keygen可以产生加密密钥(该命令的详细内容可参见其帮助文档)。
如图2-7所示。
[root@dns~]#cd/var/named/chroot/[root@dns/var/named/chroot]#dnssec-keygenMD5nUSERgdssptdnsKgdssptdns、+157+33084图2-7为DDNS创建密钥示意图
6、在dns、gdsspt、net主机上创建TSIG密钥,用于主机区域DNS传送,通过cat查看并记下生成的密钥。
如图2-8所示。
[root@dns~]#cd/var/named/chroot/[root@dns/var/named/chroot]#dnssec-keygenMD5nHOSTrndc-keyKrndc-key、+157+60882图2-8为主机客户端创建密钥示意图
7、在dns、gdsspt、net上使用/usr/share/doc/dhcp-
3、0、5/dhcpd、con、sample覆盖/etc/dhcpd、conf,并修改其内容。
如图2-9所示。
ddns-update-styleinterim;ignoreclient-updates;optiondomain-name"gdsspt、net";keygdssptdns{algorithmhmac-md5;secretO4gItWAab+aWoBjm9C7Fqw==;;}zonegdsspt、net、{primary1
92、1
68、
10、4;keygdssptdns;}zone
10、1
68、1
92、in-addr、arpa、{primary1
92、1
68、
10、4;keygdssptdns;}zone
20、1
68、1
92、in-addr、arpa、{primary1
92、1
68、
10、4;keygdssptdns;}shared-networkgdsspt{subnet1
92、1
68、
10、0netmask2
55、2
55、2
55、0{optionrouters1
92、1
68、
10、254;optionsubnet-mask2
55、2
55、2
55、0;optiondomain-name-servers1
92、1
68、
10、4,1
92、1
68、
20、5;optiontime-offsetbootp1
92、1
68、
10、201
92、1
68、
10、100;rangedynamic-bootp1
92、1
68、
10、1201
92、1
68、
10、250;default-lease-time21600;max-lease-time43200;}subnet1
92、1
68、
20、0netmask2
55、2
55、2
55、0{optionrouters1
92、1
68、
20、254;optionsubnet-mask2
55、2
55、2
55、0;optiondomain-name-servers1
92、1
68、
20、5,1
92、1
68、
10、4;optiontime-offsetbootp1
92、1
68、
20、201
92、1
68、
20、250;default-lease-time21600;max-lease-time43200;}}图2-9dhcpd配置文件设置示意图
8、在dns、gdsspt、net上配置BIND全局配置文件。
(1)复制全局配置文件模板,使用命令:
cp–p/var/namedchroot/etc/named、caching-nameserver、confnamed、conf
(2)修改named、conf文件,内容如图2-10所示。
options{listen-onport53{any;};listen-on-v6port53{:
:
1;};directory"/var/named";dump-file"/var/named/data/cache_dump、db";statistics-file"/var/named/data/named_stats、txt";memstatistics-file"/var/named/data/named_mem_stats、txt";query-sourceport53;query-source-v6port53;allow-query{any;};#202、103、
24、68isISPsDNSServer、forwarders{202、103、
24、68;};forwardfirst;};keygdsspttransfer{algorithmhmac-md5;secret4iWdKDIHv5l08I5Wp9LMLA==;};server1
92、1
68、
20、5{keys{gdsspttransfer;};};keygdssptdns{algorithmhmac-md5;secretO4gItWAab+aWoBjm9C7Fqw==;};logging{channeldefault_debug{file"data/named、run";severitydynamic;};};viewgdsspt_LAN_resolver{match-clients{1
92、1
68、
10、0/16;};match-destinations{any;};recursionyes;include"/etc/named_lan、zones";};viewgdsspt_WAN_resolver{match-clients{any;};match-destinations{any;};recursionyes;include"/etc/named_wan、zones";};图2-10named、conf文件配置示意图
9、在dns、gdsspt、net上配置BIND主配置文件
(1)复制主配置文件模板。
cp–p/var/named/chroot/etc/named、rfc19
12、zonesnamed_lan、zonescp–p/var/named/chroot/etc/named、rfc19
12、zonesnamed_wan、zones
(2)修改添加named_lan、zones文件,内容如图2-11所示。
zone"gdsspt、net"IN{typemaster;file"gdsspt、net、lan、zero";allow-update{keygdssptdns;};allow-transfer{keygdsspttransfer;};};zone"
10、1
68、1
92、in-addr、arpa"IN{typemaster;file"
10、1
68、1
92、local";allow-update{keygdssptdns;};allow-transfer{keygdsspttransfer;};};zone"
20、1
68、1
92、in-addr、arpa"IN{typemaster;file"
20、1
68、1
92、local";allow-update{keygdssptdns;};allow-transfer{keygdsspttransfer;};};图2-11主配置文件示意图
(1)(3)修改添加named_wan、zones文件,内容如图2-12所示。
zone"gdsspt、net"IN{typemaster;file"gdsspt、net、wan、zero";allow-update{none;};};图2-12主配置文件示意图
(2)
10、在dns、gdsspt、net上配置BIND区域文件。
(1)复制正向解析及反向解析文件模板,命令如下所示。
cp–p/var/named/chroot/var/named/named、zerogdsspt、net、lan、zerocp–p/var/named/chroot/var/named/named、zerogdsspt、net、wan、zerocp–p/var/named/chroot/var/named/named、local
10、1
68、1
92、localcp–p/var/named/chroot/var/named/named、local
20、1
68、1
92、local
(2)修改文件gdsspt、net、lan、zero,如图2-13所示。
$TTL86400@INSOAdns、gdsspt、net、root、gdsspt、net、(42;serial(d、adams)
3H;refresh15M;retry1W;expiry1D)
;minimumINNSdns、gdsspt、net、INMX10dns、gdsspt、net、dnsINA1
92、1
68、
10、4wwwINCNAMEdns、gdsspt、net、mailINCNAMEdns、gdsspt、net、图2-13正向区域文件配置
(1)(3)修改文件gdsspt、net、wan、zero,如图2-14所示。
$TTL86400@INSOAdns、gdsspt、net、root、gdsspt、net、(42;serial(d、adams)
3H;refresh15M;retry1W;expiry1D)
;minimumINNSdns、gdsspt、net、INMX10dns、gdsspt、net、dnsINA202、103、0、10wwwINCNAMEdns、gdsspt、net、mailINCNAMEdns、gdsspt、net、图2-14正向区域文件配置
(2)(4)修改文件
10、1
68、1
92、local,如图2-15所示。
$TTL86400@INSOAdns、gdsspt、net、root、gdsspt、net、(1997022700;Serial28800;Refresh14400;Retry3600000;Expire86400)
;MinimumINNSdns、gdsspt、net、4INPTRdns、gdsspt、net、图2-15反向区域文件配置
(1)(5)修改文件
20、1
68、1
92、local,如图2-16所示。
$TTL86400@INSOAdns、gdsspt、net、root、gdsspt、net、(1997022700;Serial28800;Refresh14400;Retry3600000;Expire86400)
;MinimumINNSdns、gdsspt、net、图2-16反向区域文件配置
(2)
11、在dns、gdsspt、net上修改/var/named/chroot/var/named系统权限。
命令如下:
chownnameserver、confnamed、conf
(2)修改named、conf文件,如图2-17所示。
options{listen-onport53{any;};listen-on-v6port53{:
:
1;};directory"/var/named";dump-file"/var/named/data/cache_dump、db";statistics-file"/var/named/data/named_stats、txt";memstatistics-file"/var/named/data/named_mem_stats、txt";query-sourceport53;query-source-v6port53;allow-query{any;};};logging{channeldefault_debug{file"data/named、run";severitydynamic;};};keygdsspttransfer{algorithmh