IPSEC黑白名单
Windows IPSEC
IPSec(Internet Protocol Security)是安全联网的一个策略功能。它通过端对端的安全性来提供主动的保护以防止专用网络与Internet的攻击。
Ipsec应用场景
1、客户对应用有特殊安全需求;
2、封锁常见的病毒传播端口;
3、没有硬件防火墙的预算;
只允许指定的IP访问服务器的mysql应用
1、 打开"运行"窗口,然后输入"secpol.msc"打开本地安全设置。
2、 在IP安全策略向导中,创建一个"port 3306"的策略。
3、 回到"IP安全策略,在本地计算机",选择"管理IP筛选器表和筛选器操作"。
4、 新建一个IP筛选器。
a) 首先选定IP的源地址,也就是允许访问DB的IP地址。
b) 创建目标地址,也就是Server本身的地址。
c) 选择协议类型。
d) 选择协议IP端口。
5、 添加IP筛选器操作,添加一个行为去规范IP的操作(是允许还是阻止这个IP访问Server)
a) 增加筛选器操作名称
b) 设置筛选器操作的行为,设置为允许。
c) 创建规则,也就是一个IP策略对应一个筛选器,可以建一个IP,允许这个IP策略访问Server,还可以见了一个IP策略,组织访问Server,从而实现IP的安全访问控制。
6、 选择IP筛选器列表,IP筛选器操作
命令行下的ipsec工具ipseccmd
ipseccmd的命令解析
常用参数
-w reg 表名将配置写入注册表,重启后仍有效。
-p 指定策略名称,如果名称存在,则将该规则加入此策略,否则创建一个。
-r 指定规则名称
-n 指定操作,可以是BLOCK、PASS或者INPASS,必须大写。
-x 激活该策略
-y 使之无效
-o 删除-p指定的策略
高级参数
-f 设置过滤规则。格式为 A.B.C.D/mask:port=A.B.C.D/mask:port:protocol
其中=前面是源地址,后面是目的地址。如果使用+,则表明此规则是双向的。IP地址中用*代表。
任何IP地址,0代表我自己的IP地址。还可以使用通配符,如:144.92.*.* 等效于144.92.0.0/16
+ 表示双向
* 表示所有IP
0 表示自己的IP
ipseccmd的命令实例
--禁止以任何协议访问某IP的任何端口--
ipseccmd -w REG -p "clxp safe policy" -r "disable connect ip" -f 0/255.255.255.255=202.108.22.5/255.255.255.255::-n BLOCK -x
解释:
设置名为"clxp safe policy"的IP安全策略,添加名为"disable connect ip"的规则。
筛选对象为:我的IP和202.108.22.5这个ip
筛选操作为:禁止访问
端口:所有
协议:所有
测试是否生效:此规则为我以任何端口都无法访问202.108.22.5这个IP。
-- 禁止访问某IP的某端口 --
ipseccmd -w REG -p "clxp safe policy" -r "disable connect ip" -f 0/255.255.255.255=202.108.22.5/255.255.255.255:80: -n BLOCK -x
解释:
设置名为"clxp safe policy"的IP安全策略,添加名为"disable connect ip"的规则。
筛选对象:我的IP和202.108.22.5这个ip
筛选操作:禁止访问
端口:80
协议:所有
测试是否生效:HTTP无法访问80端口,但是可以访问其他端口。
-- 禁止所有人访问我的某端口 --
ipseccmd -w REG -p "clxp safe policy" -r "Block TCP/135" -f *=0:135:TCP -n BLOCK -x
-- 禁PING --
ipseccmd -w REG -p "clxp safe policy" -r "disable out ping" -f *=0::icmp -n BLOCK -x
win7下的netsh解析(IPSEC命令行)
sc config PolicyAgent start=auto
sc start PolicyAgent
netsh ipsec static add policy name=D1
netsh ipsec static add filteraction name=Block action=block
netsh ipsec static add filter filterlist=LST srcaddr=me dstaddr=70.39.0.0 dstmask=255.255.0.0 protocol=0 mirrored=yes dstport=0
netsh ipsec static add rule name= policy=D1 filterlist=LST filteraction=Block
netsh ipsec static set policy name=D1 assign=y