ww111222 发表于 2011-10-31 22:43:35

双线不同带宽,学习笔记,有详细注释脚本,欢迎指正

本帖最后由 ww111222 于 2011-10-31 23:04 编辑

01_序言#===================================================================================
#        基本资料
#===================================================================================
#日期:
#        2011-10-31
#
# ROS 版本:
#        3.30
#
# 设备环境:
#        HUAWEI Quidway S2024C SERIES 二层交换机        1台
#        HUAWEI Quidway S3526-AC 三层交换机        1台
#        HUAWEI Quidway S2016 二层交换机                1台
#        CISCO Catalyst 1900 SERIES 交换机        1台
#        CISCO 2610 路由器                        1台
#        C3-900/128M内存/128MCF卡(旧电脑)        2台
#        Intel 82559 PCI网卡                        3片
#        Intel 82559 双口网卡(Compaq NC3134)        4片
#        上海贝尔 54M 无线路由猫                        1台
#        AT&T 2710hg-b 无线路由猫                1台
#        Cisco 1231G 无线AP                        1台
#
# 线路环境:
#        电信光纤拨号        1条        带宽        10M        (可多拨)
#        联通ADSL拨号        1条        带宽        4M        (可多拨)
#       
#                                       
# 实现目标:
#        *、电信、联通,PCC负载,下载带宽叠加
#        *、上传、下载限速
#        *、策略路由:电信IP走电信,联通IP走联通
#        *、断线自动切换。
#        *、网银正常
#        *、客户端用PPPOE拨号,到期自动提醒并停止账号
#        *、特别IP可直接上网
#        *、DDNS动态域名支持
#        *、Winbox登录通行密码
#        *、端口映射、回流,断线自动刷新
#        *、ROS 日期时间自动与时间服务器同步。
#
#运行方式:
#        登录 WinBox,点开 files, 将本文件(英文文件名!)拖到 winbox里
#        在 > 状态 执行 : (否则 备注里的中文将会失效!)

#        >import ***.rsc

ww111222 发表于 2011-10-31 22:43:54

本帖最后由 ww111222 于 2011-10-31 23:04 编辑

02_ROS安全配置











#===================================================================================
#配置 用户
#===================================================================================
#        1、新增超级用户,设置复杂密码,并限制登录IP地址
#        2、增加一个自定义full组test,并设置权限为最高,带!表示禁用
#        3、将ROS系统默认组(full ,read, write)的权限全部设置为最低。
#        4、在full组新增加一个多位账号及复杂密码的用户。
#        5、为admin设置复杂密码,移动到 read 组,并限制登录IP地址
#

#        变量        LoginRosIP                可访问ROS的IP段,我这里是为了内网192.168.88.*/24和VPN拨号192.168.99.0/24都能访问
#        变量        CustomFullGroup                自定义最高权限用户组
#        变量        CustomAdminUserName        自定义超级用户名称(账号不能有中文)
#        变量        CustomAdminUserPass        自定义超级用户密码(密码可以有中文,这样破解难度加大)

:global LoginRosIP "192.168.0.0/16"
:global CustomFullGroup "test"
:global CustomAdminUserName "ww111222"
:global CustomAdminUserPass "cQZAQ@wsxZ工QXsw陈cCDEN98"

/ user group
add comment="最高权限组" \
        name=$CustomFullGroup \
        policy="local,telnet,ssh,reboot,read,test,winbox,password,web,sniff,sensitive,ftp,write,policy"

/ user group
set read \
        comment="系统读权限组,权限改为最低" \
        policy="!local,!telnet,!ssh,!reboot,!read,!test,!winbox,!password,!web,!sniff,!sensitive,!ftp,!write,!policy"

set write \
        comment="系统写权限组,权限改为最低" \
        policy="!local,!telnet,!ssh,!reboot,!read,!test,!winbox,!password,!web,!sniff,!sensitive,!ftp,!write,!policy"

#不知道为什么,用脚本无法将系统自带的full权限改为全部没有!!!!
set full \
        comment="系统所有权限组,权限改为最低" \
        policy="!local,!telnet,!ssh,!reboot,!read,!test,!winbox,!password,!web,!sniff,!sensitive,!ftp,!write,!policy"



/ user
add name=$CustomAdminUserName \
        password=$CustomAdminUserPass \
        group=$CustomFullGroup \
        comment="实际超级用户" \
        address=$LoginRosIP \
        disable=no

/ user
add name="ASDFAF@ZX70980@CVZXVCAasf" \
        password="asdfaf09ok913中国41*&()&%^^&(*)33345" \
        group=full \
        comment="复杂账号/密码超级用户" \
        address=$LoginRosIP \
        disable=no




/ user
set admin \
        password="C!@#cq2cnzaqWWSXCDERf中国vbgtyhnasdfasdf" \
        group=read \
        comment="陷阱超级用户" \
        address=$LoginRosIP \
        disable=no




#===================================================================================
#配置 WINBOX 服务
#===================================================================================
#        禁止不需要的 ROS服务,加强安全
#        将winbox服务的端口号 由 8291 改变为:自定义端口号 登录IP范围改为内网IP

#        变量        RosPort                自定义登录ROS的端口
#        变量        LoginRosIP        自定义登录ROS的IP段范围,在 配置用户 已定义
#        参数        disable                yes 禁止/no 允许

:global RosPort "9988"

/ ip service
       set       telnet       address=$LoginRosIP       port=23            disabled=yes
       set       ftp          address=$LoginRosIP       port=21            disabled=yes
       set       www          address=$LoginRosIP       port=80            disabled=yes
       set       ssh          address=$LoginRosIP       port=22            disabled=yes
       set       www-ssl      address=$LoginRosIP       port=443             disabled=yes
       set       api          address=$LoginRosIP       port=8728            disabled=yes
       set       winbox       address=$LoginRosIP       port=$RosPort      disabled=no


#===================================================================================
#配置 MAC 地址登录
#===================================================================================
#        enable        允许MAC登录
#        disable        禁止MAC登录

:global MacLogin "enable"


:if ($MacLogin="enable") do={/tool mac-server mac-winbox enable 0} else={/tool mac-server mac-winbox disable 0}





#===================================================================================
#更改ROS名称
#===================================================================================
#       

/ system identity set name="ROS3.30_CQ"






#===================================================================================
#限制TTL值为1
#===================================================================================
#        PING IP或计算机名能探测到你电脑的一些信息。比如说用的是什么操作系统或目标主机是否存活。
#操作系统就可以通过PING通后返回的TTL值看出。若TTL值为128,则为WINDOWS NT系列的操作系统。
#若为64,则一般为Unix/Linux。当然这只是一般情况,因为TTL值是可以自己修改的。有些管理员通
#过修改TTL值来迷惑入侵者,让其不能很容易判断出主机上到底安装了何种操作系统和对自己的一些
#非法攻击。

#下级路由器的限制


/ip firewall mangle
add action=change-ttl \
        chain=prerouting \
        comment="修改TTL,禁止二级路由" \
        disabled=no \
        new-ttl=decrement:1





#===================================================================================
#设置 ROS 服务端口
#===================================================================================
#        用不上的服务全部禁止掉

#        参数        disabled        yes 禁止 /   no 允许

/ ip firewall service-port
        set        ftp        disabled=yes
        set         h323         disabled=yes
        set         irc         disabled=yes
        set         pptp         disabled=yes
        set         sip         disabled=yes
        set         tftp         disabled=yes






#===================================================================================
#设置 ROS 访问防火墙
#===================================================================================
#        在些感谢 bbs.routerclub.com 论坛的 YAWPYNG 提供的脚本
#        网址:http://bbs.routerclub.com/forum.php?mod=viewthread&tid=48223

#        感谢 网大群 菩提祖师 提供的脚本


#        通关密码是"*****" <---- 自定义变量里的数字
#        在浏览器输入http://你的ROS IP:****
#        ROS 解析到"****"时 , 就自动将外网访问者的IP 加到白名单.
#        再通过 WinBox 登录 你的ROS IP:****

# ========   ROS本身的防火墙规则一定要在其它规则之前。 ==========


#        变量        PassWD                IP登录ROS时的通关密码
#        变量        DropScanIPList        非法扫描IP列表名_黑名单
#        变量        AcceptAdminIP        合法登录IP列表名_白名单


:global PassWD "64888"
:global DropScanIPList "DropScanIPList_List"
:global AcceptAdminIP "AcceptAdminIP_List"




/ip firewall filter   
add action=drop \
        chain=input \
        comment="封 非法扫描IP列表_黑名单" \
        disabled=no \
        src-address-list=$DropScanIPList



/ip firewall filter
add action=drop \
        chain=output \
        comment="禁止ping" \
        disabled=no \
protocol=icmp



/ip firewall filter
add action=drop \
        chain=input \
        comment="封tracert路由跟踪" \
        disabled=no \
        icmp-options=11:0 \
        protocol=icmp
       
       
       



#
# PSD (Port scan detecting) 端口扫描检测技术是保护RouterOS路由器安全的一项有效技术。
# 扫描开放的端口往往是黑客攻击的第一步,比如NMAP就是很好的端口扫描工具。
# 在RouterOS加入以下规则 add chain=input protocol=tcp psd=21,3s,3,1 action=drop comment="detect and drop port scan connections" disabled=no
# 可以有效阻断外部ip对RouterOS路由器的扫描。
# Action中可以直接drop,或者先log,再drop, 还可以将对你进行的端口扫描的ip地址放入 address list,禁止这些ip对路由器的后续访问。
# 但是 Psd=21,3s,3,1 这四个参数的具体含义又是什么呢?
#iptables的官方文档是这样描述的
# 第一个参数 21-> Portscan detection weight threshold(端口扫描检测权重阈值)
# 第二个参数 3s-> Portscan detection delay threshold   (端口扫描检测延迟阈值)
# 第三个参数 3   -> Privileged ports weight            (1-1024端口权重)
# 第四个参数 1   -> High ports weight                  (1024以上端口权重)

#我来翻译一下,假设有一台机器对你的RouterOS路由器的不同端口持续发送一系列数据包,每两个数据包之间的时间间隔不超过3秒,这些包的目的端口如果是1024以下端口,
#那么权重就记为3,如果目的端口是1024以上端口,则权重记为1,这些连续的包的权重将会被累加,如果累加的值超过21,将会启用以上的端口扫描检测防火墙规则,其后续的数据包将会被丢弃。
#也就是说,对低端口连续发送7个至不同端口的数据包,或者对高端口发送21个,或者其混合权重达到21,都会触发该防火墙规则。
#21,3s,3,1是默认参数,理解了以上参数的详细内容以后,可以根据自己的特定需求对其进行修改。





       

/ip firewall filter
add action=add-src-to-address-list \
        address-list=$DropScanIPList \
    address-list-timeout=2w \
    chain=input \
    comment="端口扫描 加入列表" \
    disabled=no \
    protocol=tcp \
    psd=21,3s,3,1
   
   
/ip firewall filter   
add action=add-src-to-address-list \
        address-list=$DropScanIPList \
    address-list-timeout=2w \
    chain=input \
    comment="NMAP FIN 隐蔽扫描 加入列表" \
    disabled=no \
    protocol=tcp \
    tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
   
   
   
/ip firewall filter      
add action=add-src-to-address-list \
        address-list=$DropScanIPList \
    address-list-timeout=2w \
    chain=input \
    comment="SYN/FIN 扫描 加入列表" \
    disabled=no \
    protocol=tcp \
    tcp-flags=fin,syn
   
   
   
/ip firewall filter   
add action=add-src-to-address-list \
        address-list=$DropScanIPList \
    address-list-timeout=2w \
    chain=input \
    comment="SYN/RST 扫描 加入列表" \
    disabled=no \
    protocol=tcp \
    tcp-flags=syn,rst
   
   
/ip firewall filter   
add action=add-src-to-address-list \
        address-list=$DropScanIPList \
    address-list-timeout=2w \
    chain=input \
    comment="FIN/PSH/URG 扫描 加入列表" \
    disabled=no \
    protocol=tcp \
    tcp-flags=fin,psh,urg,!syn,!rst,!ack
   
   
/ip firewall filter   
add action=add-src-to-address-list \
        address-list=$DropScanIPList \
    address-list-timeout=2w \
    chain=input \
    comment="ALL/ALL 扫描 加入列表" \
    disabled=no \
    protocol=tcp \
    tcp-flags=fin,syn,rst,psh,ack,urg
   
   
/ip firewall filter   
add action=add-src-to-address-list \
        address-list=$DropScanIPList \
    address-list-timeout=2w \
    chain=input \
    comment="NMAP NULL 扫描IP 加入列表" \
    disabled=no \
    protocol=tcp \
    tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg
   
   




#通关密码功能,将外网访问者的IP 加到白名单

#通关密码就是"64888" <---- 自己更改换成其它数字
#在浏览器输入http://你的ROS IP:64888
#ROS 解析到"64888"时 , 就自动将外网访问者的IP 加到address list.



/ip firewall filter
add action=add-src-to-address-list \
        address-list=$AcceptAdminIP \
       address-list-timeout=4w2d2h \
       chain=input \
       comment="将通关IP加入到_白名单" \
       disabled=no \
       dst-port=$PassWD \
       protocol=tcp\
       src-address-list=("!" . $AcceptAdminIP)









#以下这一条是除了允许名单之外的IP 都拒绝访问自定义的 PORT




/ip firewall filter
add action=drop \
        chain=input \
        comment="禁止所有 非白名单 IP 访问 ROS登录端口" \
        disabled=no \
        dst-port=$RosPort \
        protocol=tcp \
        src-address-list=("!" . $AcceptAdminIP)



ww111222 发表于 2011-10-31 23:01:29

bobwalker 发表于 2011-10-31 22:59 static/image/common/back.gif
注册测试ADSL多拨带宽能否加倍,如果不能加倍,推荐4MADSL移除。


已经测试, 不能加倍

      

         

9939781 发表于 2011-10-31 23:14:54

:L楼主是程序员吧,排版这么有杀气。。。

peckpock 发表于 2011-10-31 23:22:57

太有耐心了

ww111222 发表于 2011-10-31 23:49:08

9939781 发表于 2011-10-31 23:14 static/image/common/back.gif
楼主是程序员吧,排版这么有杀气。。。



算是吧, N年前 考过,


      习惯了。



这样看着 清晰, 明白。



    大家也好理解。

wpsliu 发表于 2011-11-1 00:03:54

:L楼主超级厉害....精神可嘉

hs_wupan 发表于 2011-11-1 00:08:06

排版确实有霸气。。。看着清晰 漂亮:victory:

jiangyufu 发表于 2011-11-1 11:55:37

赞一个,哈哈啊

注册马 发表于 2011-11-1 13:42:14

看上 去果然有杀气啊!~做得这么清淅

tonykong 发表于 2011-11-2 00:04:28

谢谢楼主,学习一下.

白头 发表于 2011-11-2 23:39:26

:hug:不管楼主男的女的,我都给力一抱~!学习了

老树昏鸦 发表于 2011-11-3 01:13:27

中国要多一些牛人,创造国产的ROS,不说让外国了用我们中国的软件,起码可以不用老外的软件。

风轻 发表于 2011-11-3 17:48:18

好长 好长!!!!!

michaelyuan 发表于 2011-11-3 21:42:19

支持原创:lol
页: [1] 2
查看完整版本: 双线不同带宽,学习笔记,有详细注释脚本,欢迎指正