|
|
最近搞了个服务器,没想到没几天就被攻击了,痛定思痛哇,以前就是研究攻防的,服务器开了也是偷懒,啥也没配置,结果被黑了。因此要把如何设置整理一下,以备配置下一个服务器用。
8 a: z& h! e$ Q% g) s4 a8 s一、先关闭不需要的端口
- x7 S- S4 b! A% W F7 m 我比较小心,先关了端口。只开了3389、21、80、1433,有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接--属性--Internet协议(TCP/IP)--高级--选项--TCP/IP筛选--属性--把勾打上,然后添加你需要的端口即可。PS一句:设置完端口需要重新启动!
+ S4 Y2 Z& w( p0 }. h% n2 [0 t% H- G6 N! {- y9 R B( o- p
当然大家也可以更改远程连接端口方法:% B" J n8 N' |9 \6 u, U
Windows Registry Editor Version 5.00" O4 n0 e4 Y* O1 f( ]" Q( O i
[HKEY_LOCAL_MACHINE \ SYSTEM\ Current ControlSet \ Control \ Terminal Server\WinStations\RDP-Tcp]
+ [0 ^5 s3 R- m: j) _"PortNumber"=dword:00002683
7 M" f, Q3 }2 o* f3 A+ l. q e7 u c+ H- B& _. e: r$ `+ ^
保存为.REG文件双击即可!更改为9859,当然大家也可以换别的端口,直接打开以上注册表的地址,把值改为十进制的输入你想要的端口即可!重启生效; h! F: k6 e/ w& q! N- Y c& i
还有一点,在2003系统里,用TCP/IP筛选里的端口过滤功能,使用FTP服务器的时候,只开放21端口,在进行FTP传输的时候,FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的Windows连接防火墙能很好的解决这个问题,不推荐使用网卡的TCP/IP过滤功能。
7 B T6 ]. h. i二.关闭不需要的服务打开相应的审核策略: m9 B9 m+ a) t( A9 Z/ y8 R
我关闭了以下的服务: e! }$ o: F9 i
Computer Browser 维护网络上计算机的最新列表以及提供这个列表
, ?0 C |) Z% Z+ t' q Task scheduler 允许程序在指定时间运行- d2 ?; B! l% Z; v$ Q9 |8 Y
Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息. n' V. O7 l8 h" T
Distributed File System: 局域网管理共享文件,不需要禁用- [( Q6 F" g# F( Q3 x
Distributed linktracking client:用于局域网更新连接信息,不需要禁用9 b5 M1 n( \, W/ |* @0 M% j; R
Error reporting service:禁止发送错误报告5 ?0 Q; W5 m! G0 N) T, a" q
Microsoft Serch:提供快速的单词搜索,不需要可禁用: H( M# q7 X4 r* `
NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用2 ~* [5 \6 ^, ?
PrintSpooler:如果没有打印机可禁用7 C# c+ B( R- Z! Y, w0 C* Y. e8 J; |* M
Remote Registry:禁止远程修改注册表
7 S) @( [$ k* |# T( [( a m+ X Remote Desktop Help Session Manager:禁止远程协助) e1 s' s* A9 x% N3 G1 H8 A& K
Workstation关闭的话远程NET命令列不出用户组( A/ M+ u) h) L) f, z2 d
把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和标准上来说,多余的东西就没必要开启,减少一份隐患。) r: c$ s U+ m! e [7 }+ `% T5 W
在"网络连接"里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。在高级选项里,使用"Internet连接防火墙",这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。
( k& w( S7 t" e# V1 B在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,你需要根据情况在这二者之间做出选择。7 N" P0 w8 m, F8 ^* t/ u2 ?
2 q, `2 q4 ~$ f3 Z5 s6 R
推荐的要审核的项目是:" u* E9 B0 X; d4 O. p8 q
登录事件. g. p7 d* r4 C. \" F4 ^6 G
账户登录事件
# g, b& n9 I- e+ W3 d. ? 系统事件
* b* O2 ?! W7 u3 L0 e) i 策略更改, S6 a* W% K f; P( m# o7 N2 Q3 K- h
对象访问
/ h( L2 `+ _1 u; c3 `) P* E 目录服务访问
) R9 \* z. L$ [ M5 a 特权使用
% u b- h* J+ e9 ?: U & x: _1 {# d" X# v
三、关闭默认共享的空连接
, A$ @- Q+ @* }) Z 地球人都知道,我就不多说了!
# w7 u8 z p9 m& C. A$ p
2 I9 `+ y7 P3 I% V( h8 x# i四、磁盘权限设置
) f. p; u5 L* X- ?( Z, K C盘只给administrators和system权限,其他的权限不给,其他的盘也可以这样设置,这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。 @9 L( f, B [8 i: b! v5 d. I) |: D
Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行。以前有朋友单独设置Instsrv和temp等目录权限,其实没有这个必要的。
: M6 W8 c" Z! C& j T; i, |, [+ |2 w
" t `- T; F0 \! J 另外在c:/Documents and Settings/这里相当重要,后面的目录里的权限根本不会继承从前的设置,如果仅仅只是设置了C盘给administrators权限,而在All Users/Application Data目录下会出现everyone用户有完全控制权限,这样入侵这可以跳转到这个目录,写入脚本或只文件,再结合其他漏洞来提升权限;譬如利用serv-u的本地溢出提升权限,或系统遗漏有补丁,数据库的弱点,甚至社会工程学等等N多方法,从前不是有牛人发飑说:"只要给我一个webshell,我就能拿到system",这也的确是有可能的。在用做web/ftp服务器的系统里,建议是将这些目录都设置的锁死。其他每个盘的目录都按照这样设置,每个盘都只给adinistrators权限。1 {0 z: O0 }' [8 [1 O, B3 O* {
另外,还将:( `/ w& Q( o% `
net.exe NET命令
. R ?7 a4 \ {) }, s cmd.exe CMD 懂电脑的都知道咯~
% `2 j, z8 E/ v5 T6 n tftp.exe; t- ~3 O0 \2 Z' v3 I q$ M
netstat.exe
7 u* r$ m, {4 a9 p regedit.exe 注册表啦大家都知道
, }% Q- g4 g$ |8 t at.exe
7 [% |. k$ T9 X attrib.exe* F2 m5 D+ K3 p% F, F
cacls.exe ACL用户组权限设置,此命令可以在NTFS下设置任何文件夹的任何权限!偶入侵的时候没少用这个....(:
5 W" ~9 h2 X: v% a- u" o format.exe 不说了,大家都知道是做嘛的0 h/ \& ~. C! T9 K
大家都知道ASP木马吧,有个CMD运行这个的,这些如果都可以在CMD下运行..55,,估计别的没啥,format下估计就哭料~~~(:这些文件都设置只允许administrator访问。; U5 p! a4 S$ B% X) }
五、防火墙、杀毒软件的安装
+ N2 h U; M3 Y8 x8 h 关于这个东西的安装其实我也说不来,反正安装什么的都有,建议使用卡巴,卖咖啡。用系统自带的防火墙,这个我不专业,不说了!大家凑合!
7 z5 ~9 r) l- J& J m$ T4 q 六、SQL2000 SERV-U FTP安全设置
3 k8 o1 _2 n0 }" w SQL安全方面
; M0 e. P! I( e 1、System Administrators 角色最好不要超过两个5 V% [6 z/ |- n' ] S
2、如果是在本机最好将身份验证配置为Win登陆( c2 S# V# X1 I2 O. n5 |
3、不要使用Sa账户,为其配置一个超级复杂的密码
, F1 ?8 m j% F 或修改sa用户名:
% s% T Z7 W [6 q5 C update sysxlogins set name='xxxx' where sid=0x01
I1 H/ V1 S% g6 e; F5 O update sysxlogins set sid=0xE765555BD44F054F89CD0076A06EA823 where name='xxxx'
! A6 M: N+ A1 x1 ` G& t9 q5 X# ] 4、删除以下的扩展存储过程格式为:
- F: B i/ [* ^% Z9 f; o use master
; P6 h3 r* g7 H* z# C sp_dropextendedproc '扩展存储过程名'5 q4 N- p/ G$ k7 m4 ~2 Q- z
xp_cmdshell:是进入操作系统的最佳捷径,删除# ]1 b0 _5 n E) q. d
访问注册表的存储过程,删除' h+ K0 {" W$ q3 l. C
Xp_regaddmultistringXp_regdeletekeyXp_regdeletevalueXp_regenumvalues
8 k8 ^1 V" p; ]1 A Xp_regread Xp_regwrite Xp_regremovemultistring+ s" N' D6 x4 f H6 w* J' S: f
OLE自动存储过程,不需要,删除# K3 T8 K7 ^/ v! K: S' p. z: d
Sp_OACreate Sp_OADestroySp_OAGetErrorInfoSp_OAGetProperty
0 e( W$ B( R' r, V: A# q9 U% U+ ? Sp_OAMethodSp_OASetPropertySp_OAStop
. |! ] k$ Z# c! T 5、隐藏 SQL Server、更改默认的1433端口。6 y* i4 {/ J8 o* @% Q
右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口。
* Q) ~/ L1 a0 \0 p 6.为数据库建立一个新的角色,禁止改角色对系统表的的select等权限,防止sql注入时利用系统表。
' k7 X ~2 w/ {1 o serv-u的几点常规安全需要设置下:7 _( ~& J1 b! J/ k6 S$ ]9 ^- ]) L
选中"Block "FTP_bounce"attack and FXP"。什么是FXP呢?通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个"PORT"命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。
- Q" V$ Z% O4 \& a1 | 七、IIS安全设置0 V0 p* f, R \; W5 b9 w
IIS的安全:
- T* x6 U+ V4 H ? 1、不使用默认的Web站点,如果使用也要将IIS目录与系统磁盘分开。
7 r& K# E$ N( ^3 P! q) Z" }6 @ 2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。
7 l- S# O9 h. B- F8 [ 3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。; s5 Z$ C! t& u: j6 I! K. {6 r
4、删除不必要的IIS扩展名映射。& s% v2 T& e, K+ ]' D9 | p' |# _9 p
右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为.shtml、.shtm、 .stm。* j; ^' ]4 D0 h, h) t4 n; h6 q- o
5、更改IIS日志的路径
( n, w- o' n6 V* ]% W' n2 P" d2 d5 c 右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性0 v0 ~& O6 v7 G. D8 J3 m* E
6、如果使用的是2000可以使用iislockdown来保护IIS,在2003运行的IE6.0的版本不需要。
b8 t$ O4 R1 u6 L; o( a; _5 q 八、其它
% H/ l! |: S x( m, C' e 1、系统升级、打操作系统补丁,尤其是IIS 6.0补丁、SQL SP3a补丁,甚至IE 6.0补丁也要打。同时及时跟踪最新漏洞补丁;
# M4 V5 t' L1 v# ^& g 2、停掉Guest 帐号、并给guest 加一个异常复杂的密码,把Administrator改名或伪装!
" ], l/ a6 q; g- O; @/ E' \+ E" x3、隐藏重要文件/目录( S; `6 ?2 i. ]* ?
可以修改注册表实现完全隐藏:“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0。
; d; c8 H( a+ M4 q, b# N 4、启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器。: q* o7 S, R( r q0 D: t
5、防止SYN洪水攻击。3 _4 ~; E; a; ]6 y8 [7 H
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters- _- E- c ]" [0 {8 c. w- a' [
新建DWORD值,名为SynAttackProtect,值为2' L1 D! [/ y( O
6. 禁止响应ICMP路由通告报文! _$ k2 r2 z8 f. v
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet\ Services\Tcpip\Parameters\Interfaces\interface+ C4 D' z( z/ g6 Z& I# d; O0 k0 z
新建DWORD值,名为PerformRouterDiscovery 值为0。; M( [. \; M: s
7. 防止ICMP重定向报文的攻击2 n* N8 \, U9 \9 ~. u
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
2 R" o" J* d9 w4 L 将EnableICMPRedirects 值设为0' E% }/ ]5 l- r4 E( h
8. 不支持IGMP协议
) u1 V5 U6 m, j* w7 V5 Y HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters7 c6 C/ j# u9 G T
新建DWORD值,名为IGMPLevel 值为0。4 @/ V5 B3 b% c: u- W! k6 A9 u
9、禁用DCOM:
2 D3 O3 Z1 q: a; F' D$ a 运行中输入Dcomcnfg.exe。回车,单击“控制台根节点”下的“组件服务”。打开“计算机”子文件夹。
( i& D3 ^! M ?3 l7 Y
6 W P7 t; p5 ^( k' _- O/ n% r0 H" F6 D
|
|