网络很简单,四个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。这里没有任何贬低深信服的意思,只是如实说而已,而且我觉得深信服做行为管控还是很不错的,很方便,也很简单!如果哪位朋友用深信服的帮留意一下你们是否也有这个问题,帮问问厂商^_^!
本文出自 "愤怒的菜鸟" 博客,谢绝转载!
有关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
没有评论:
发表评论