2013年7月26日星期五

防火墙和深信服(SangFor SG 3.3R2)的误会

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
防火墙和深信服(SangFor SG 3.3R2)的误会  阅读原文»

用户名:sliang2012
文章数:4
评论数:11
访问量:2302
无忧币:374
博客积分:98
博客等级:1
注册日期:2012-03-04

防火墙和深信服(SangFor SG 3.3R2)的误会

首先说明一下公司的网络拓扑吧,如图:

网络很简单,四个vlan,防火墙和深信服单独一个vlan33,核心交换机除了必要安全配置外,对内网没有任何控制,路由都是自动生成,并且加了条默认路由下一跳是防火墙的lan口。

好了,下面描述一下问题,从我获得防火墙管理权限之后(以前都是上级在管理,出问题后我趁机接手了)发现每天都有一个重复事件,一个外网ip 1.2.3.4居然在我们内部网络一直向各台存在或者不存在的pc发送udp包,并且端口是999,防火墙发现异常把它deny了。有图如下:

我就奇怪了,去百度了一下这个ip是加拿大的,可是防火墙说得很清楚,是从1-Trusted 到 1-Trusted 内网口的,那就一定是内部的问题了,由于查到999端口是已知的木马Deep Throat(深喉)利用的端口,所以怀疑是中了木马了,而我们内网一直有木马和病毒我是知道的,而且用wireshark抓包后发现好多机器都发这个包。所以我在域中部署了360企业版(这在我另外的博客中有写到)杀毒后以为就解决了,杀了好多病毒和木马,但是就是没有Deep Throat,也没有用到999端口的,所以问题依旧!

因为好多机器都在发,而且很随机,所以一台台分析有点麻烦,并且只在刚上班的时候很多人开机的是发的最多,我就想把它禁掉试试看,所以我在h3c核心交换机上每个vlan的out方向做了禁止1.2.3.4的acl,结果好多机器过一会就断网了,而也有不少正常的,这就让我纳闷了,由于生产环境,虽然下班了,还是有不少人在办公,我立马把acl撤销了。后来我想了一下把标准acl拒绝原地址为1.2.3.4的包应用到各个vlan的in的方向,并且除了防火墙和深信服的vlan没有应用,结果毫无影响力,网络也正常,但是1.2.3.4还是出现了,豁然开朗了,防火墙的策略对自身没有任何影响,如果问题出在防火墙那防火墙肯定不会deny掉1.2.3.4,所以问题只能是在深信服上面了,打电话给深信服,他们的人说:"你们过期很久了,要购买服务,不然什么都不说"。公司为了省钱,而且以前的网管估计也没有这种意识,买回来就没动过,软件版本还是买回来的时候的样子

那就只能自己去寻找答案了,我和我的另外一个同事讨论了一下,发现有个很可疑的地方,就是深信服行为管控的时候,用户必须安装一个控件才能上网,于是跑到那些可以电脑上面一看,问题明白了

所有运行ingress.exe的都在向1.2.3.4发包,而深信服本身居然隐藏了一个1.2.3.4的ip,真不明白深信服公司为什么会用这么一个外网的ip来收发这些包,而不用我们配置给它的内网管理ip呢??搞得防火墙误报!而且在操作手册上面也从来没有提到过有这个ip。这里没有任何贬低深信服的意思,只是如实说而已,而且我觉得深信服做行为管控还是很不错的,很方便,也很简单!如果哪位朋友用深信服的帮留意一下你们是否也有这个问题,帮问问厂商^_^!

本文出自 "愤怒的菜鸟" 博客,谢绝转载!

分享至 一键收藏,随时查看,分享好友!
昵称:
登录快速注册
内容:

有关puppet agent端三种备份恢复方案探讨研究  阅读原文»

有关puppetagent端备份恢复方案探讨:

备份方案一、通过自定义facter结合元素backup进行备份恢复

一、facter部署

1、创建目录结构

[root@puppetservermodules]#mkdirpublic/{modules,manifests,files,lib/facter}-p

2、打开模块中的插件功能

[root@puppetserverpublic]#vim/etc/puppet/puppet.conf

[main]

pluginsync=true

3、编写自定义fact

[root@puppetserverpublic]#vim/etc/puppet/modules/public/lib/facter/backup_date.rb

#backup_date.rb

#

Facter.add("backup_date")do

setcodedo

Facter::Util::Resolution.exec('/bin/date+%Y%m%d%H%M%S')

end

end

4、建立环境变量(测试用)

[root@puppetserverpublic]#exportFACTERLIB=/etc/puppet/modules/public/lib/facter

5、测试fact(如果不正常,会显示调试信息)

[root@puppetserverpuppet]#facterbackup_date

6、客户端查看facter是否被下载生效

notice:StartingPuppetclientversion2.7.21

info:Retrievingplugin

notice:/File[/var/lib/puppet/lib/facter/backup_date.rb]/ensure:definedcontentas'{md5}91d97be10a35ab7971f77a2be9696031'

info:Loadingdownloadedplugin/var/lib/puppet/lib/facter/backup_date.rb

info:Loadingfactsin/var/lib/puppet/lib/facter/backup_date.rb

info:Cachingcatalogforagent1.bsgchina.com

info:Applyingconfigurationversion'1374652447'

notice:Finishedcatalogrunin1.47seconds

info:Retrievingplugin

info:Loadingfactsin/var/lib/puppet/lib/facter/backup_date.rb

info:Cachingcatalogforagent1.bsgchina.com

info:Applyingconfigurationversion'1374652447'

notice:Finishedcatalogrunin1.36seconds

[root@agent1ssh]#ll/var/lib/puppet/lib/facter/

total8

-rw-r--r--1rootroot138Jul2416:13backup_date.rb

[root@agent1ssh]#

二、使用backup调用自定义变量

1、在模块的config.pp文件中添加元素backup

[root@puppetservermanifests]#vim/etc/puppet/modules/ssh/manifests/config.pp

classssh::config{

file{$ssh::params::ssh_service_config:

ensure=>present,

owner=>'root',

group=>'root',

mode=>0440,

source=>"puppet:///modules/ssh/etc/ssh/sshd_config",

backup=>".$backup_date.bak",\\添加信息

require=>Class["ssh::install"],

notify=>Class["ssh::service"],

}

}

2、在节点查看对应目录下是否有按日期备份的文件

[root@agent1ssh]#llsshd*

-rw-r-----1rootroot3134Jul2416:20sshd_config

-r--r-----1rootroot3190Jul2416:17sshd_config.20130724162024.bak

-r--r-----1rootroot3173Jul2416:20sshd_config.20130724162039.bak

方案二、通过filebucket实现备份的集中化管理,通过节点或者puppetserver进行恢复

1、在site.pp中添加filebucket资源

[root@puppetserverssh]#vim/etc/puppet/manifests/site.pp

import'nodes/*'

$puppetserver='puppetserver.bsgchina.com'

filebucket{'main':

path=>false,#设置agent节点本地不需要保存

#path=>"/var/lib/puppet/databackup",

server=>'puppetserver.bsgchina.com'#设置将文件更改过之前的版本保存到远程服务器puppetserver.bsgchina.com

}

2、在puppetmaster上修改模块配置文件

[root@puppetserverssh]#vim/etc/puppet/modules/mysql/manifests/config.pp

classmysql::config{

file{"/etc/my.cnf":

ensure=>present,

owner=>'mysql',

group=>'mysql',

mode=>0644,

source=>"puppet:///modules/mysql/etc/my.cnf",

backup=>'main',#设置backup备份方式为之前site.pp中定义的main方式

#backup=>".$backup_date.bak",

require=>Class["mysql::install"],

notify=>Class["mysql::service"],

}

file{"/var/lib/mysql":

group=>'mysql',

owner=>'mysql',

recurse=>'true',

require=>File["/etc/my.cnf"],

}

}

3、修改测试文件模拟新版本发布

vim/etc/puppet/modules/mysql/files/etc/my.cnf

4、节点进行监听

[root@agent1ssh]#puppetagent--server=puppetserver.bsgchina.com--verbose--no-daemonize

info:Retrievingplugin

info:Loadingfactsinbackup_date

阅读更多内容

没有评论:

发表评论