海运的博客

Windows 2003服务器安全设置

发布时间:November 10, 2012 // 分类:网络安全,Windows // No Comments

1.计算机安全策略设置(gpedit.msc)
Windows设置——>安全设置——>账户策略——>账户锁定策略:

账户锁定阀值:3次无效登录
账户锁定时间:30分钟
复位账户锁定计时器:30分钟之后

本地策略——>安全选项:

交互式登陆:不显示上次的用户名          启用
帐户:重命名来宾帐户            重命名
帐户:重命名系统管理员帐户         重命名

本地策略——>审核策略:

审核策略更改   成功 失败  
审核登录事件   成功 失败
审核对象访问      失败
审核过程跟踪   无审核
审核目录服务访问    失败
审核特权使用      失败
审核系统事件   成功 失败
审核账户登录事件 成功 失败
审核账户管理   成功 失败

本地策略——>用户权限分配:

从网络访问此计算机:保留Guest组、IIS-WPG组。
关闭系统:只有Administrators组、其它全部删除。
通过终端服务拒绝登陆:加入Guests、User组
通过终端服务允许登陆:只加入Administrators组,其他全部删除

2.禁用不必要的服务:

#https://www.haiyun.me
Computer Browser
DHCP Client
Error reporting service
PrintSpooler
Remote Registry
Remote Desktop Help Session Manager
TCP/IP NetBIOS Helper
Help and Support
Windows Audio
Server
Workstation

3.开启防火墙或TCP/IP筛选:
windows2003安全设置TCP-IP筛选.png
windows2003安全防火墙设置.png
4.修改3389远程桌面端口:

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber /t 
REG_DWORD /d $newport /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t 
REG_DWORD /d $newport /f
#然后关闭并重新启动远程桌面,远程连接操作请重新启动系统生效。
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t 
REG_DWORD /d 1 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t 
REG_DWORD /d 0 /f

5.IIS新建网站时尽量新建不同的用户,并权限最小化:

网站匿名访问用户属于Guest群组
应用程序池标记用户属于IIS_WPG群组
网站目录仅保留系统管理员网站用户权限

6.系统目录权限:

C:\administrators/system全部权限,继承到下级目录。
C:\Program Files\Common Files 开放Everyone,默认的读取及运行,列出文件目录,读取三个权限。
C:\Windows\ 开放USERS默认的读取及运行,列出文件目录,读取三个权限。
C:\Windows\Temp 开放Everyone 修改,读取及运行,列出文件目录,读取,写入权限。

7.禁用不安全的组件、调整ASP.NET安全级别防WebShell木马
8.使用UrlScan应用防火墙过滤链接
9.SQL2000数据库服务器安全设置

Linux服务器内核网络参数优化

发布时间:November 8, 2012 // 分类:系统调优 // No Comments

由于TCP协议缺陷被恶意利用Syn-Flood攻击,Linux内核调整这些参数可缓解这类攻击:

net.ipv4.tcp_syncookies = 1
#启用syncookies
net.ipv4.tcp_max_syn_backlog = 8192
#SYN队列长度
net.ipv4.tcp_synack_retries=2
#SYN ACK重试次数

Linux服务器作为网关或代理时TIME-WAIT较多,可通过以下参数优化调整:

net.ipv4.tcp_fin_timeout = 30
#主动关闭方FIN-WAIT-2超时时间
net.ipv4.tcp_keepalive_time = 1200
#TCP发送keepalive消息的频度
net.ipv4.tcp_tw_reuse = 1
#开启TIME-WAIT重用
net.ipv4.tcp_tw_recycle = 1
#开启TIME-WAIT快速回收
net.ipv4.ip_local_port_range = 1024 65000
#向外连接的端口范围
net.ipv4.tcp_max_tw_buckets = 5000
#最大TIME-WAIT数量,超过立即清除
net.ipv4.tcp_syn_retries = 2
#SYN重试次数

其它一些参数优化:

net.ipv4.tcp_rmem = 4096 87380 4194304
#TCP接收缓冲大小,对应最小、默认、最大
net.ipv4.tcp_wmem = 4096 16384 4194304
#TCP发送缓冲大小,对应最小、默认、最大
net.core.rmem_max = 16777216
#最大发送套接字缓冲区大小
net.core.wmem_max = 16777216
#最大接收套接字缓冲区大小
net.core.netdev_max_backlog = 262144
#当网络接口接收速率比内核处理快时允许发到队列的数据包数目
net.core.somaxconn = 262144
#最大连接队列,超过导致连接超时或重传

Iptables数据包、连接标记模块MARK/CONNMARK使用

发布时间:November 7, 2012 // 分类:Iptables // No Comments

MARK标记用于将特定的数据包打上标签,供Iptables配合TCQOS流量限制或应用策略路由
看看和MARK相关的有哪些模块:

ls /usr/lib/iptables/|grep -i mark
libxt_CONNMARK.so
libxt_MARK.so
libxt_connmark.so
libxt_mark.so

其中大写的为标记模块,小写的为匹配模块,它们之间是相辅相成的。
MARK标记数据包:

#如将所有TCP数据包标记为1
iptables -t mangle -A PREROUTING -p tcp -j MARK --set-mark 1

mark匹配数据包:

#匹配标记1的数据并保存数据包中的MARK到连接中
iptables -t mangle -A PREROUTING -p tcp -m mark --mark 1 -j CONNMARK --save-mark
#将非空mark数据包保存到连接中
iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j CONNMARK --save-mark

CONNMARK标记连接:

iptables -j CONNMARK --help
--set-mark #标记连接
--save-mark #保存数据包中的MARK到连接中
--restore-mark #将连接中的MARK设置到同一连接的其它数据包中
iptables -t mangle -A PREROUTING -p tcp -j CONNMARK --set-mark 1

connmark匹配连接:

iptables -m connmark --help
--mark value #匹配连接的MARK的标记
#匹配连接标记1并将连接中的标记设置到数据包中
iptables -t mangle -A PREROUTING -p tcp -m connmark --mark 1 -j CONNMARK --restore-mark

应用案例:Iptables标记数据策略路由多WAN带宽叠加并负载均衡

其它可参考:
https://blog.csdn.net/bytxl/article/details/7918403
https://blog.csdn.net/dog250/article/details/78301259

ROS标记中的mark-connection和mark-packet区别

发布时间:November 7, 2012 // 分类:ROS // No Comments

之前有记录使用ROS做QOS的一些心得,关于使用mark-connection和mark-packet还有一些疑问,mark-connection和mark-packet有什么区别,为什么要用mark-connection?下面是个人的一些理解:
1.标记mark-connection和mark-packet主要区别:

#https://www.haiyun.me
mark-connection应用到同一连接中的所有数据包,容易识别上传、下载数据包;
mark-packet仅标记单一数据包,识别上传、下载需双向标记所有数据包。

2.标记mark-connection和mark-packet性能分析,数据包标记mark-packet示例:

/ip firewall mangle
add chain=prerouting action=mark-packet new-packet-mark=HTTP protocol=tcp dst-port=80 in-interface=bridge-local
add chain=prerouting action=mark-packet new-packet-mark=HTTP protocol=tcp dst-port=80 in-interface=pppoe-out1
#这样Mangle对经过的每个数据包都要进行mark-packet,数据包是否TCP协议?目标端口是否80?进入网络端口是?

连接标记mark-connection示例:

add chain=prerouting action=mark-connection new-connection-mark=HTTP protocol=tcp dst-port=80 in-interface=bridge-local
add chain=prerouting action=mark-packet new-packet-mark=HTTP in-interface=bridge-local connection-mark=HTTP
#这样在Mangle链只需进行以下判断,是否新连接?是否有连接标记?

3.在QOS中使用mark-connection还是mark-packet?

使用队列限速要时上传、下载要分开,所以只能识别mark-packet;
标记单向数据包使用mark-packet,如小数据包、TCP标志(SYN)优先之类的;
标记双向数据包mark-packet和mark-connection都可实现,通过上面例子使用mark-connection更优。

4.在多线带宽叠加和策略路由时要先标记数据再标记路由,这个时候就要用mark-connection了,因为同一连接不同数据包最好从同一出口发出。

ip firewall mangle add chain=prerouting action=mark-connection new-connection-mark=www.haiyun.me \
protocol=tcp dst-port=80 connection-state=new 
ip firewall mangle add chain=prerouting action=mark-routing new-routing-mark=www.haiyun.me \
connection-mark=www.haiyun.me 

一个实例:ROS单线ADSL使用、HTB、PCQ做流量控制

OpenWRT/Linux多WAN带宽叠加使用iptables标记策略路由负载均衡

发布时间:November 7, 2012 // 分类:OpenWrt // 18 Comments

之前有介绍OpenWrt下ADSL多拨使用nexthop负载均衡,负载不是很理想,本次使用iptable标记数据包并配合策略路由实现负载均衡。
WAN1数据标记:

iptables -t mangle -N WAN1
#标记数据包
iptables -t mangle -A WAN1 -j MARK --set-mark 1 
#把数据包中的mark设置到整个连接中
iptables -t mangle -A WAN1 -j CONNMARK --save-mark 

WAN2数据标记:

iptables -t mangle -N WAN2
iptables -t mangle -A WAN2 -j MARK --set-mark 1 
iptables -t mangle -A WAN2 -j CONNMARK --save-mark 

把已存在连接中的mark设置到数据包中,实现同个连接同个宽带IP出:

iptables -t mangle -N RESTORE
iptables -t mangle -A RESTORE -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -m state --state ESTABLISHED,RELATED -j RESTORE

使用NTH模块公平分发新数据包到WAN1和WAN2:

iptables -t mangle -A PREROUTING -m state --state NEW -m statistic --mode nth --every 2 --packet 0 -j WAN1
iptables -t mangle -A PREROUTING -m state --state NEW -m statistic --mode nth --every 2 --packet 1 -j WAN2

设置路由表:

cat /etc/iproute2/rt_tables 
#https://www.haiyun.me
255    local
254    main
253    default
0    unspec
252 WAN1
251 WAN2

设置路由表默认路由:

ip route flush table WAN1
ip route add table WAN1 default via 2.2.2.2 dev ppp0
ip route flush table WAN2
ip route add table WAN2 default via 1.1.1.1 dev ppp1

根据iptables标记应用路由:

ip rule del from all fwmark 2 2>/dev/null
ip rule del from all fwmark 1 2>/dev/null
ip rule add fwmark 1 table my_wan0
ip rule add fwmark 2 table my_wan1
ip route flush cache

禁用源地址验证:

cat /etc/sysctl.conf 
net.ipv4.conf.default.rp_filter = 0
分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
归档