码迷,mamicode.com
首页 > 其他好文 > 详细

专项小结

时间:2015-11-12 17:52:43      阅读:352      评论:0      收藏:0      [点我收藏+]

标签:

1、虚拟机带宽控制

Q:如何实现虚拟机带宽控制?

A:通过libvirt的virsh工具可以实现虚拟机上传和下载流量控制,virsh工具使用方法如下:

virsh domiftune <domain> <interface> inbound x outbound y --live

domain 虚拟机id

interface 虚拟机网卡MAC地址

inbound  后接x是虚拟机下载流量限制值,单位是KB

outbound  后接y是虚拟机上传流量限制值,单位是KB

 

Q:能否取消虚拟机带宽控制?

A:libvirt提供的virsh domiftune没有取消流量控制

如上,设置一个足够大的inbound和outbound可以达到取消流量控制的效果,可设为15000。

 

2、安全审计

Q:日志审计系统如何获取远程服务器的组件日志?

A:远程服务器的组件日志存在.log文件中,可以通过rsyslog获取并传到日志审计服务器。修改远程服务器配置/etc/rsyslog.conf,添加下面的内容来手机nc组件日志:

$Modload imfile

#File 1

$InputFileName /var/log/eucalyptus/nc.log

$InputFileTag tag1:

$InputFileStateFile /tmp/eucalyptus-nc-state

$InputFileFacility local4

$InputFileServerity info

$InputRunFileMonitor

并在该配置文件最后添加local4.* @@remote-nost:514 remote-host是日志审计服务器地址)

 

Q:日志审计系统能否收集同一远程服务器的不同组件日志?

A:可以通过rsyslog收集同一主机的不同组件日志。修改远程服务器配置/etc/rsyslog.conf,添加如下内容来手机nc和audit组件日志:

$Modload imfile

#File 1

$InputFileName /var/log/eucalyptus/nc.log

$InputFileTag tag1:

$InputFileStateFile /tmp/eucalyptus-nc-state

$InputFileFacility local4

$InputFileServerity info

$InputRunFileMonitor

#File 2

$InputFileName /var/log/audit/audit.log

$InputFileTag tag1:

$InputFileStateFile /tmp/audit-state

$InputFileFacility local4

$InputFileServerity info

$InputRunFileMonitor

并在该配置文件最后添加local4.* @@remote-nost:514 remote-host是日志审计服务器地址)

 

3、抗拒绝服务攻击

Q:如何设置通过简单的iptables规则实现抗拒绝服务攻击?

A:在iptables的mangle表中,对PREROUTING链设置以下规则可以实现抗拒绝服务攻击:

 

iptables -A PREROUTING -t mangle -p icmp --icmp-type echo-request -m limit --limit 6/min --limit-burst 30 -j ACCEPT

iptables -A PREROUTING -t mangle -p icmp --icmp-type echo-request -j DROP

iptables -A PREROUTING -t mangle -p tcp --syn -m limit --limit 1/min --limit-burst 30 -j ACCEPT

#iptables -A PREROUTING -t mangle -p tcp --tcp-flags SYN,ACK,FIN,RST -m limit -limit 1/min --limit-burst 30 -j ACCEPT

iptables -A PREROUTING -t mangle -p tcp --syn -j DROP

iptables -A PREROUTING -t mangle -p udp -m limit --limit 10/min --limit-burst 30 -j ACCEPT

iptables -A PREROUTING -t mangle -p udp -j DROP

 

Q:使用tcpdump抓取拒绝服务攻击包时能否通过协议来抓取?

A:可以,tcpdump抓包工具支持抓取指定协议的数据包,举例抓取来自192.168.7.107的udp包,其抓包命令如下:

#tcpdump -i br0 src 192.168.7.107 and udp -A -s0

 

Q: 什么是mangle表?

A:mangle表是iptables三表五链的其中一个表。Mangle表的作用是改变包的属性,同时,网络数据包进入本地时,必将首先经过mangle表的PREROUTING链。

4、防恶意软件加载

Q:windows防恶意软件加载如何实现?

A:windows提供软件白名单功能,白名单启用后仅允许运行和安装白名单里的软件。通过修改注册表可以很方便的启用白名单。启用白名单的注册表注入文件如下:

Windows Registry Editor Version 5.00

 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

"NoDriveTypeAutoRun"=dword:00000091

"RestrictRun"=dword:00000001

 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun]

"1"="nfscmd.exe"

"2"="iexplore.exe"

"3"="regedit.exe"

"4"="QQ.exe"

"5"="wps.exe"

"6"="wpp.exe"

"7"="Foxmail.exe"

"8"="mmc.exe"

"9"="notepad.exe"

"10"="chrome.exe"

"11"="mspaint.exe"

"12"="AcroRd32.exe"

"13"="et.exe"

 

Q:linux如何实现防恶意软件加载?

A:linux强制访问控制策略与windows软件白名单效果相似,可以作为防恶意软件加载方法。以Linuxmint为例,通过内核重编译加入强防控制grsecurity。

使用gradm2命令来生成强防规则:

#开启强防学习模式,根据用户操作自动生成学习日志

#gradm2 -F -L learn.log

#从日志文件生成强防规则

#gradm2 -F -L learn.log -O policy

5、ipv6支持

Q:ipv6是否支持dhcp固定MAC分配?

A:可以使用linux下的dhcpd -6来启动一个ipv6的dhcp服务,可以为指定的MAC地址分配固定ipv6地址。linux虚拟机可以通过dhcp客户端获取ipv6地址,windows虚拟机不支持这种方式的dhcp服务。

 

Q:ipv6转换为数字后占128bit,如何进行地址池计算?

A:在ipv6字符串地址转换为数值进行计算时,可以转换为前64bit和后64bit,通过后64bit来计算地址池。

 

Q:开启ipv6支持,虚拟机获取不到ipv6地址?

A:虚拟机的ipv6地址通过dhcp分配。首先在CC上检查DHCP服务是否开启:

#ps -aux | grep dhcp

可以看到dhcpd -6 进程,如果看不到该进程,检查CC端是否配置ipv6地址。

CC端ipv6地址与平台配置文件/etc/eucalyptus/eucalyptus.conf中的DNSv6配置相同:

VNET_DNSV6=””

 

6、vlan支持

Q:vlan模式下,如何实现虚拟机网络隔离?

A:通过vlan-tag实现虚拟机网络隔离。Vlan模式下,云平台将一个安全组视为一个虚拟vlan。虚拟机启动时为eth0创建一个vlan标签eth0.*和一个网桥eucabr*,虚拟机的虚拟网卡vnet*和eth0.*挂载同一个网桥上,实现同一vlan之间的通信,并阻断不同vlan之间的通信。

 

Q:vlan支持需要什么样的条件?

A:vlan支持需要CC和NC之间的交换机都支持vlan-tag。可以通过vlan-claan来验证,下面是vlan-clean方法:

在CC上:

#vconfig add eth0 10

#ifconfig eth0.10 192.168.1.2 up

在NC上:

#vconfig add eth0 10

#ifconfig eth0.10 192.168.1.3 up

#ping 192.168.1.2

以上方法中,最后的ping能通则说明服务器交换机支持vlan。

 

vlan模式下,kvm的虚拟机将不再使用br0作为虚拟机桥接网桥,而是使用eucabr*作为桥接网桥,所以在配置vlan前需要清除宿主上的br0网桥

#ifconfig br0 down

#brctl delbr br0

 

Q:vlan支持云平台配置文件如何配置?

A:云平台的MANAGED模式是对应支持vlan的,主要配置项如下:

VNET_MODE=”MANAGED”

VNET_PRIVINTERFACE=”eth0”

VNET_PUBINTERFACE=”eth0”

VNET_PUBLICIPS=

VNET_SUBNET=

VNET_NETMASK=

VNET_ADDRSPERNET=

VNET_DNS=

 

Q:vlan模式下,为什么在不同vlan下的虚拟机相互能ping通?

A:先来看一个例子,在下图中,pc3,pc4,pc5分别连接到vlan3,vlan4,vlan5上. Linux box的eth0连到交换机的trunk口上。在linux box上,配置eth0.3,eth0.4,eth0.5三个vlan interface,并配置相应的ip地址。在pc3,pc4,pc5上分别设置缺省网关为eth0.3,eth0.4,eth0.5上的地址。这样,pc3,pc4,pc5就可以通过linux box的转发来实现相互间的通信。

 

在vlan模式下,CC服务器上会创建与虚拟机相同的vlan-tagging,并配置对应vlan的缺省网关地址,此时,CC服务器可以看做是如上图的linux box。

如果想要禁止vlan之间的相互通信,把设置在eth0.*上的缺省网关地址删除即可。注意删除的缺省网关一定要重新加到eth0网卡上。使用ip add\del 可以完成以上操作。

 

Q:vlan模式下,虚拟机能不能更改所在vlan?

A:不能,云平台中,每一个vlan对应一个安全组,每个安全组都有不同的子网和网关,不同安全组的ip地址不重复。在不重新分配地址的情况下,虚拟机无法更改所在的vlan。

 

7、安全告警

Q:使用hMailServer搭建的报警邮箱无法发送报警邮件?

A:原因是在平台中设置了管理员邮箱为外网邮箱,而在内网环境下,邮件无法发送系统信息到外网邮件,继而一直尝试重新发送,占据大量发件队列,造成告警邮件无法发出。解决办法是,进入hMailServfer管理界面,清空邮件服务器的发送邮件队列clear queue。

 

Q:使用hMailServer搭建的报警邮箱无法接收报警邮件?

A:设置邮箱容量达到设置的最大值时,无法接收到任何邮件。进入进入hMailServfer管理界面,清空邮箱空间或增加邮箱空间即可收到报警邮件。

 

8、测试环境

Q:怎么配置服务器ipv6地址,使其开机自动配置?

A:修改/etc/sysconfig/network-scripts/ifcfg_br0

NM_CONTROLLED=yes

ONBOOT=yes

TYPE=Bridge

BOOTPROTO=none

PREFIX=24

DEFROUTE="yes"

IPV4_FAILURE_FATAL="yes"

#IPV6INIT=no

USERCTL=no

 

DEVICE=br0

IPADDR=192.168.7.106

GATEWAY=192.168.7.254

DNS1=124.16.136.254

NETMASK=255.255.255.0

 

IPV6ADDR=2001:db8:0:1::5/64

IPV6INIT=yes

IPV6_AUTOCONF=no

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=yes

 

Q:云平台组件SC启动失败?

A:云平台组件SC启动失败一般是组件启动时获取到非预期的ip地址,解决办法是清除SC所在宿主机上除eth0上配置的SC组件ip地址之外的所有网卡上的ip地址。

如在eth1上有ip地址 192.168.0.1,则执行:

#ip addr del 192.168.0.1 dev eth1,或关闭eth1网卡:ifdown eth1

 

Q:云平台组件CLoud启动失败?

A:云平台组件cloud启动前,关闭dnsmasq服务,因为他与cloud会占用同一个端口53。将dnsmasq从开机启动服务中删去:

#/etc       /init.d/dnsmasq stop

#chkconifg dnsmasq off

 

Q:云平台资源总数为0?

A:如果云平台组件配置正确,但资源总数为0是因为NC服务器时间与CLC服务器时间相差较多。执行时间同步命令可以解决这个问题。

#ntpdate -u ip-cloud

#hwclock --systohc

 

Q:为什么windows虚拟机能够分配到IP地址而linux虚拟机分配不到?

A:云平台未配置ipv6时,centos虚拟机配置网卡时,如果将ipv6和ipv4均配置为dhcp自动获取,他们会使用同一个dhcp客户端。dhcp客户端首先探寻ipv6的dhcp服务,如果未在第一时间探寻到DHCP -6服务,dhcp客户端将关闭而不是继续探寻ipv6的dhcp服务,这会导致虚拟机无法获取ip地址。解决方法是修改镜像网卡配置,取消ipv6的dhcp自动获取配置。

云平台在已经配置ipv6的情况下,如果ipv6的dhcp服务启动失败,也会导致linux虚拟机无法获取ip地址。此时,需检查CC服务器的ipv6地址时候与云平台配置VNET_DNSV6相同。

专项小结

标签:

原文地址:http://www.cnblogs.com/open1024/p/4959520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!