RSS订阅
RSS订阅TT服务器

如何为VMware配置和保护Linux?

2008-9-3  选择字号:  | |
打印本文章

导读:本文讨论为VMware配置和保护Ubuntu Linux。

关键词:VMware配置 Linux Ubuntu

正在加载数据... 【TechTarget中国原创】在上一部分中,我们学习了如何安装Linux,我们安装了所有必须的Ubuntu Linux组件。现在我们能继续配置和保护Ubuntu安装。在这部分中,我们将讨论到这些步骤。

【TechTarget中国原创】在上一部分中,我们学习了如何安装Linux,我们安装了所有必须的Ubuntu Linux组件。现在我们能继续配置和保护Ubuntu安装。在这部分中,我们将讨论到这些步骤。

  配置

  由于Ubuntu Server Install CD可能通常不在服务器的CD-ROM里,我们需要告知Ubuntu为随后的更新另觅地方。(这个CD不包含来自Ubuntu的最新包装)为了从更新序列里删除CD媒介,我们将在文件来源里注释掉它的入口。输入:

  sudo vi /etc/apt/sources.list

  找到任何以“deb cdrom”开始的入口行,通过在行前加前缀a "#"(磅)字符注释掉行。这时候,你必须决定是否将为来自主要Ubuntu错误或一个本地的服务器回收更新。如果你需要进一步编辑文件指向一个本地的知识库,那么这样做。

  保存文件并退出编辑。

  网络配置
  
  现在我们来看看需要配置的网络设置。

  /etc/network/interfaces

  如果你的服务器里有附加的NIC,现在是时候配置它们了。我们需要编辑文件/etc/network/interfaces。

  sudo vi /etc/network/interfaces

  在我们修改文件之前,应该像下面这样:

NIC

  这个节以“auto eth2”开始并以“dns-nameservers”结束,应整体复制。你的可能不读eth2;如果是这样,大多数可能是eth0 或eth1。不管这个,一旦这个节被下面(或上面)现有的覆盖,我们需要对副本作一些更改。

  这个副本仍然读“eth2”。在副本里任何读“eth2”的地方,你应该更改成在服务器安装期间你记下的那些NIC ID号里的一个。例如,在下面的屏幕,我把副本“eth2”改成“eth0”。

NIC ID

  如果你注意到,我也在原先的节上更改了注释,从“原先的网络界面”到“管理网络界面”。我也更改了副本上“虚拟机网络界面”的注释。

  你应该为服务器的每个NIC重复复制原始节的过程。服务器拥有的NIC的数量(或至少是驱动有的)与你安装时记录的NIC ID的数量相同。所有附加的NIC专用于虚拟机,因此当你复制时,你也应该更改它们的注释为“虚拟机网络界面”。只有原始的NIC将专用于管理服务器和VMware;其余的NIC将专用于虚拟机本身。

  一旦配置了所有的NIC,保存并退出文件。为了核实我们所作的更改是正确的,输入下面内容在服务器上重新启动网络:

  sudo /etc/init.d/networking restart
 
  由于你没有任何连接的网络线缆,这个命令需要很长时间。如果你没有收到任何错误信息,那么配置是正确的。如果收到错误信息,你应该返回并检查文件,看看是否输入了错误的信息。如果你发现不了错误,你可能通常应该在lostcreations dot com网站给我发邮件了。

  /etc/hosts

  我们需要修改/etc/hosts文件以便服务器有一个完全合格的域名。输入:

  sudo /etc/hosts

  你的主机文件将和下面的屏幕类似:

主机文件

  你的主机文件和我的主机文件的差别在于我已经在服务器添加了一个FQDN(完全合格域名)。看我文件的第二行,在主机名“vms02”之前,我添加了服务器的FQDN“vms02.lostcreations.com”。在文件里添加你的FQDN,保存并退出文件。

  在控制台输入下面的命令能确认你的服务器拥有了FQDN:

  hostname –f

  这将返回到你服务器的FQDN。

  Syslog

  如果你访问一个专用的系统日志服务器,继续并指示服务器发送所有调试水平的日志登录。可以通过编辑文件file0 /etc/syslog.conf做到:

  sudo vi /etc/syslog.conf

  添加这行到文件里的任何地方:

  *.debug @FQDN_OR_IP_OF_SYSLOG_SERVER

  保存并退出文件。假若你需要使用服务器诊断一个问题并不能登录的话,所有在系统日志的调试记录能帮助你。

  禁用服务

  Ubuntu Server装载了大量VMware服务器不需要的服务。如果服务器不需要使用一个服务,那么这个服务就不需要在启动时启用。我禁用的两个服务是alsa-utils和pcmciautils。你可能会发现其他你希望禁用的服务。你能通过/etc/init.d目录清单看见一系列服务。

  alsa-utils

  文件/etc/init.d/alsa-utils很容易禁用。为了禁用alsa-utils,重新命名每一个在/etc/rcS.d/里的文件“S50alsa-utils”代号连接“K50alsa-utils”。这将在启动时从启用禁止alsa-utils。现在为了停止这个服务,输入:

  sudo /etc/init.d/alsa-utils stop

  pcmciautils

  为了禁止pcmciautils,在/etc/rcS.d/里重新命名”S13pcmciautils“代号连接为“S87pcmciautils”。这将在启动时从启用里禁止pcmciautils服务。现在为了停止这个服务,输入:

  sudo /etc/init.d/pcmciautils stop

  保护

  尽管Ubuntu Linux是一个安全的操作系统,我们能做一些事情减少额外的攻击。

  Host.deny与hosts.allow

  hosts.deny和hosts.allow文件允许我们配置与服务器上的任何开放端口会话的远程主机。例如,ssh守护进程支持TCP封装,因此,它将尊重由hosts.deny和hosts.allow文件定义的ACLs。另一方面,Apache Web服务器(默认下)不支持TCP封装,因此,hosts.deny和hosts.allow文件客户端能访问的Apache进程开放的端口没有影响。

  我练习了访问控制,这意味着我明确地拒绝所有的访问并同意访问。为了明白地拒绝访问,编辑/etc/hosts.deny文件:

  sudo vi /etc/hosts.deny

  添加这行到文件的末端:

  ALL:ALL

  保存并退出文件。这时候,如果你的服务器与网络相连,没有远程客户端能够访问任何由支持TCP封装过程开放的端口。这是因为你已经明确地拒绝了所有客户端。

  现在,你需要允许一些客户端。编辑etc/hosts.allow文件:

  sudo vi /etc/hosts.allow

  通过在文件的末端添加下面的代码允许某些客户端的所有远程连接:

  ALL:CLIENT_HOSTNAME_1, CLIENT_HOSTNAME_2, CLIENT_IP_ADDRESS_1,
  *.CLIENT.DOMAIN.COM

  保存并退出文件。通过主机名和IP地址,你能看见添加到文件里的目录。为了学习更多关于主机访问控制列表文件,在shell里输入下面的行:

  man hosts_access

  显示的man页面将描述hosts.deny和hosts.allow文件的格式(提示,它们是相同的格式)。

  这时候,所有远程客户端被拒绝访问由支持TCP封装(tcp wrappers)进程所扩展的服务器端口,除了那些你明确允许的客户端。并且由于目前仅开放的端口是支持sshd进程的22,并且由于sshd支持TCP封装,如果你的服务器在网络上,那么只有在hosts.allow文件里明确允许的客户端能够通过ssh与服务器连接。

  SSHD

  除了主机访问文件,另一种锁定ssh daemon的方法是限制客户端使用公共密匙认证。

  请确定你想要这么做。如果你确实要这么做,那么你将不能使用密码通过ssh远程登录服务器。你需要有一个公共密匙。如果你不确定这一步,请阅读sial.org上的关于ssh和公共密匙的文档。

  为了限制ssh daemon,编辑etc/ssh/sshd_config:

  sudo vi /etc/ssh/sshd_config

  找到这一行:

  # PasswordAuthentication yes

  并更改为不接受密码认证:

  PasswordAuthentication no

  我们也需要告诉ssh daemon只应该监听管理界面NIC。找到这行:

  # ListenAddress 0.0.0.0

  用下面的代替:

  ListenAddress MGMT_NIC_IP

  MGMT_NIC_IP是管理网络界面的IP。更改这个设置意味着ssh daemon将不会监听专用于虚拟机的NIC。

  保存并退出文件。输入下面的行重新启动ssh daemon:

  sudo /etc/init.d/ssh restart

  现在,ssh daemon将只接受公共密匙认证并只监听来自管理界面NIC上的连接。

  IPtables

  为了预防到服务器上的未授权访问,我们将建立防火墙。我们将在/etc/rc.local里设置这些规则以便在启动时间里启用,编辑etc/rc.local:

  sudo vi /etc/rc.local

  在文件里复制和粘贴下面的防火墙规则,使用服务器管理网络界面的IP地址代替MGMT_NIC_IP。

  - --- 开始复制 ---

#
# INPUT
#

# allow all incoming traffic from the management interface NIC
# as long as it is a part of an established connection
iptables -I INPUT 1 -j ACCEPT -d MGMT_NIC_IP -m state --state
RELATED,ESTABLISHED

# allow all ssh traffic to the management interface NIC
iptables -I INPUT 2 -j ACCEPT -p TCP -d MGMT_NIC_IP --destination-port 22

# allow all VMware MUI HTTP traffic to the management interface NIC
iptables -I INPUT 3 -j ACCEPT -p TCP -d MGMT_NIC_IP --destination-port 8222

# allow all VMware MUI HTTPS traffic to the management interface NIC
iptables -I INPUT 4 -j ACCEPT -p TCP -d MGMT_NIC_IP --destination-port 8333

# allow all VMware Authorization Daemon traffic to the management
interface NIC
iptables -I INPUT 5 -j ACCEPT -p TCP -d MGMT_NIC_IP --destination-port 902

# reject all other traffic to the management interface NIC
iptables -I INPUT 6 -j REJECT -d MGMT_NIC_IP --reject-with
icmp-port-unreachable


#
# OUTPUT
#

# allow all outgoing traffic from the management interface NIC
# if it is a part of an established connection
iptables -I OUTPUT 1 -j ACCEPT -s MGMT_NIC_IP -m state --state
RELATED,ESTABLISHED

# allow all DNS queries from the management interface NIC
iptables -I OUTPUT 2 -j ACCEPT -s MGMT_NIC_IP -p UDP --destination-port 53

# reject all other traffic from localhost
iptables -I OUTPUT 3 -j REJECT -s 127.0.0.1 --reject-with
icmp-port-unreachable

# reject all other traffic from the management interface NIC
iptables -I OUTPUT 4 -j REJECT -s MGMT_NIC_IP --reject-with
icmp-port-unreachable

- --- 结束复制 ---

  一旦你在/etc/rc.local里复制和粘贴了防火墙,装载它们请输入:

  sudo /etc/init.d/rc.local start

  核实防火墙已装载,输入:

  sudo iptables –L

  你能看见防火墙目录在shell里。请记住防火墙目录是一个相当限制的设置,不过仅关于管理界面NIC。这个防火墙规则设置一点都不影响服务器里其他的NIC及专用于虚拟机的NIC。

  如果通过ssh,你有一个到服务器的远程控制session并且不能发送一些服务器的信息或发到另一台服务器,记住,你想这样做的话就必须编辑防火墙规则。例如,这个规则没有考虑到你想要更新的服务器。

  开始网络

  现在该安全地配置网络了。一旦上面这些完成,如果正确输了所有的网络信息,服务器就能在网络上通话了。

  在这一系列的下一部分中,我们将讨论如何保护VMware Server及监视与备份服务器。


Linux上安装VMware Server
 Linux上的VMware Server
 VMware Server的组件
 如何为VMware安装及准备Linux?
 如何为VMware配置和保护Linux?
 如何在Linux上安装与备份VMware?
 如何使用Linux安装和管理VMware MUI?
 如何在Linux下创建VMware虚拟机?
 Linux系统下如何使用VMware安装子操作系统

还没有登录? 阅读全文请先登录或注册
用户名:(请填写您的E-mail做为登录账号)
  • 获取最新的IT业界资讯、市场动态、行业趋势等独家原创内容。
  • 分享国内外技术专业人士提供的技巧经验。
  • 利用专注IT的技术资源中心,不断更新专业知识。
  • 享受白皮书、Webcast等系列特色增值服务。
  • 免费参加TT中国举办的各种会员活动。
  • 更多的精彩服务,在不断开发中……
用户名:(请填写您的E-mail)
密 码:
 永久登录
请输入您的登录email:
VMware HA工具是一款有用的工具,可以监控虚拟机并重新设置出现故障的虚拟服务器。那么,为了满足虚拟服务器的这些需求,应该如何配置VMware HA呢?
什么是VM Explorer(VMX)?这款免费的VMware工具有什么作用?如何使用VM Explorer备份与管理VMware ESX虚拟机?
如何让VMware虚拟架构里的混合模式端口组不受到威胁?如何激活混合模式端口组并且保持其他的都没影响?
如果用户在隔离区(DMZ)内配置VMware ESX或者VMware ESXi宿主虚拟机的话,需要格外注意网络问题。
在同一条光缆上不仅仅传输一类数据信息,这就是所谓的数据混合。只要所有的数据具有同样的安全等级和安全区域,在数据混合中就没有必要考虑安全问题。然而……
ESX是性能比较稳定的虚拟化产品,但是也存在一些安全漏洞。ESXi是VMware免费嵌入式hypervisor,它也存在安全缺陷。对于这两款产品,我们该如何安全地管理它们?本指南将从网络和管理方面入手,提供一些实用技巧。
在前面的专题“Hyper-V指南”中,我们探讨了Hyper-V的虚拟架构、系统要求及与其他产品之间的竞争。在本指南中,我们将具体描述如何管理Hyper-V、如何对Hyper-V备份以及如何进行性能优化等。
在之前的专题里,我们学习了如何运行ESX Server以及它与免费的VMware Server的比较。在本专题中,我们将详细描述VMware ESX Server子操作系统性能的技巧。
最新更新
专家答疑
技巧
Anil Desai
你推荐使用虚拟机优化器吗?使用的时候需要注意哪些情况呢?我没有你所提的虚拟机优化器产品的任何经验,我询问了……
Joe Foran
当谈及Xen时,我会听到如准虚拟化、hypervisor和HVM。这些术语到底是什么意思?简而言之,它们是描述Xen如何运行的结构条款。不像……
Serdar Yegulalp
无论何时我使用Virtual Server的虚拟机远程控制客户端,都会碰到许多问题,如远程机滞后或重复击键或不响应。我该怎么办?