重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
随着开源系统Linux的盛行,其在大中型企业的应用也在逐渐普及,很多企业的应用服务都是构筑在其之上,例如Web服务、数据库服务、集群服务等等。因此,Linux的安全性就成为了企业构筑安全应用的一个基础,是重中之重,如何对其进行安全防护是企业需要解决的一个基础性问题,基于此,本文将给出十大企业级Linux服务器安全防护的要点。 1、强化:密码管理 设定登录密码是一项非常重要的安全措施,如果用户的密码设定不合适,就很容易被破译,尤其是拥有超级用户使用权限的用户,如果没有良好的密码,将给系统造成很大的安全漏洞。 目前密码破解程序大多采用字典攻击以及暴力攻击手段,而其中用户密码设定不当,则极易受到字典攻击的威胁。很多用户喜欢用自己的英文名、生日或者账户等信息来设定密码,这样,黑客可能通过字典攻击或者是社会工程的手段来破解密码。所以建议用户在设定密码的过程中,应尽量使用非字典中出现的组合字符,并且采用数字与字符相结合、大小写相结合的密码设置方式,增加密码被黑客破解的难度。而且,也可以使用定期修改密码、使密码定期作废的方式,来保护自己的登录密码。 在多用户系统中,如果强迫每个用户选择不易猜出的密码,将大大提高系统的安全性。但如果passwd程序无法强迫每个上机用户使用恰当的密码,要确保密码的安全度,就只能依靠密码破解程序了。实际上,密码破解程序是黑客工具箱中的一种工具,它将常用的密码或者是英文字典中所有可能用来作密码的字都用程序加密成密码字,然后将其与Linux系统的/etc/passwd密码文件或/etc/shadow影子文件相比较,如果发现有吻合的密码,就可以求得明码了。在网络上可以找到很多密码破解程序,比较有名的程序是crack和john the ripper.用户可以自己先执行密码破解程序,找出容易被黑客破解的密码,先行改正总比被黑客破解要有利。 2、限定:网络服务管理 早期的Linux版本中,每一个不同的网络服务都有一个服务程序(守护进程,Daemon)在后台运行,后来的版本用统一的/etc/inetd服务器程序担此重任。Inetd是Internetdaemon的缩写,它同时监视多个网络端口,一旦接收到外界传来的连接信息,就执行相应的TCP或UDP网络服务。由于受inetd的统一指挥,因此Linux中的大部分TCP或UDP服务都是在/etc/inetd.conf文件中设定。所以取消不必要服务的第一步就是检查/etc/inetd.conf文件,在不要的服务前加上“#”号。 一般来说,除了http、smtp、telnet和ftp之外,其他服务都应该取消,诸如简单文件传输协议tftp、网络邮件存储及接收所用的imap/ipop传输协议、寻找和搜索资料用的gopher以及用于时间同步的daytime和time等。还有一些报告系统状态的服务,如finger、efinger、systat和netstat等,虽然对系统查错和寻找用户非常有用,但也给黑客提供了方便之门。例如,黑客可以利用finger服务查找用户的电话、使用目录以及其他重要信息。因此,很多Linux系统将这些服务全部取消或部分取消,以增强系统的安全性。Inetd除了利用/etc/inetd.conf设置系统服务项之外,还利用/etc/services文件查找各项服务所使用的端口。因此,用户必须仔细检查该文件中各端口的设定,以免有安全上的漏洞。 在后继的Linux版本中(比如Red Hat Linux7.2之后),取而代之的是采用xinetd进行网络服务的管理。 当然,具体取消哪些服务不能一概而论,需要根据实际的应用情况来定,但是系统管理员需要做到心中有数,因为一旦系统出现安全问题,才能做到有步骤、有条不紊地进行查漏和补救工作,这点比较重要。 3、严格审计:系统登录用户管理 在进入Linux系统之前,所有用户都需要登录,也就是说,用户需要输入用户账号和密码,只有它们通过系统验证之后,用户才能进入系统。 与其他Unix操作系统一样,Linux一般将密码加密之后,存放在/etc/passwd文件中。Linux系统上的所有用户都可以读到/etc/passwd文件,虽然文件中保存的密码已经经过加密,但仍然不太安全。因为一般的用户可以利用现成的密码破译工具,以穷举法猜测出密码。比较安全的方法是设定影子文件/etc/shadow,只允许有特殊权限的用户阅读该文件。 在Linux系统中,如果要采用影子文件,必须将所有的公用程序重新编译,才能支持影子文件。这种方法比较麻烦,比较简便的方法是采用插入式验证模块(PAM)。很多Linux系统都带有Linux的工具程序PAM,它是一种身份验证机制,可以用来动态地改变身份验证的方法和要求,而不要求重新编译其他公用程序。这是因为PAM采用封闭包的方式,将所有与身份验证有关的逻辑全部隐藏在模块内,因此它是采用影子档案的最佳帮手。 此外,PAM还有很多安全功能:它可以将传统的DES加密方法改写为其他功能更强的加密方法,以确保用户密码不会轻易地遭人破译;它可以设定每个用户使用电脑资源的上限;它甚至可以设定用户的上机时间和地点。 Linux系统管理人员只需花费几小时去安装和设定PAM,就能大大提高Linux系统的安全性,把很多攻击阻挡在系统之外。 4、设定:用户账号安全等级管理 除密码之外,用户账号也有安全等级,这是因为在Linux上每个账号可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应该根据需要赋予该账号不同的权限,并且归并到不同的用户组中。 在Linux系统中的部分文件中,可以设定允许上机和不允许上机人员的名单。其中,允许上机人员名单在/etc/hosts.allow中设置,不允许上机人员名单在/etc/hosts.deny中设置。此外,Linux将自动把允许进入或不允许进入的结果记录到/var/log/secure文件中,系统管理员可以据此查出可疑的进入记录。 每个账号ID应该有专人负责。在企业中,如果负责某个ID的职员离职,管理员应立即从系统中删除该账号。很多入侵事件都是借用了那些很久不用的账号。 在用户账号之中,黑客最喜欢具有root权限的账号,这种超级用户有权修改或删除各种系统设置,可以在系统中畅行无阻。因此,在给任何账号赋予root权限之前,都必须仔细考虑。 Linux系统中的/etc/securetty文件包含了一组能够以root账号登录的终端机名称。例如,在RedHatLinux系统中,该文件的初始值仅允许本地虚拟控制台(rtys)以root权限登录,而不允许远程用户以root权限登录。最好不要修改该文件,如果一定要从远程登录为root权限,最好是先以普通账号登录,然后利用su命令升级为超级用户。 5、谨慎使用:“r系列”远程程序管理 在Linux系统中有一系列r字头的公用程序,比如rlogin,rcp等等。它们非常容易被黑客用来入侵我们的系统,因而非常危险,因此绝对不要将root账号开放给这些公用程序。由于这些公用程序都是用。rhosts文件或者hosts.equiv文件核准进入的,因此一定要确保root账号不包括在这些文件之内。 由于r等远程指令是黑客们用来攻击系统的较好途径,因此很多安全工具都是针对这一安全漏洞而设计的。例如,PAM工具就可以用来将r字头公用程序有效地禁止掉,它在/etc/pam.d/rlogin文件中加上登录必须先核准的指令,使整个系统的用户都不能使用自己home目录下的。rhosts文件。 6、限制:root用户权限管理 Root一直是Linux保护的重点,由于它权力无限,因此最好不要轻易将超级用户授权出去。但是,有些程序的安装和维护工作必须要求有超级用户的权限,在这种情况下,可以利用其他工具让这类用户有部分超级用户的权限。sudo就是这样的工具。 sudo程序允许一般用户经过组态设定后,以用户自己的密码再登录一次,取得超级用户的权限,但只能执行有限的几个指令。例如,应用sudo后,可以让管理磁带备份的管理人员每天按时登录到系统中,取得超级用户权限去执行文档备份工作,但却没有特权去作其他只有超级用户才能作的工作。 sudo不但限制了用户的权限,而且还将每次使用sudo所执行的指令记录下来,不管该指令的执行是成功还是失败。在大型企业中,有时候有许多人同时管理Linux系统的各个不同部分,每个管理人员都有用sudo授权给某些用户超级用户权限的能力,从sudo的日志中,可以追踪到谁做了什么以及改动了系统的哪些部分。 值得注意的是,sudo并不能限制所有的用户行为,尤其是当某些简单的指令没有设置限定时,就有可能被黑客滥用。例如,一般用来显示文件内容的/etc/cat指令,如果有了超级用户的权限,黑客就可以用它修改或删除一些重要的文件。 7、追踪黑客踪迹:日志管理 当用户仔细设定了各种与Linux相关的配置(最常用日志管理选项),并且安装了必要的安全防护工具之后,Linux操作系统的安全性的确大为提高,但是却并不能保证防止那些比较熟练的网络黑客的入侵。 在平时,网络管理人员要经常提高警惕,随时注意各种可疑状况,并且按时检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志以及用户登录日志等。在检查这些日志时,要注意是否有不合常理的时间记载。例如: 正常用户在半夜三更登录; 不正常的日志记录,比如日志只记录了一半就切断了,或者整个日志文件被删除了; 用户从陌生的网址进入系统; 因密码错误或用户账号错误被摈弃在外的日志记录,尤其是那些一再连续尝试进入失败,但却有一定模式的试错法; 非法使用或不正当使用超级用户权限su的指令; 重新开机或重新启动各项服务的记录。 上述这些问题都需要系统管理员随时留意系统登录的用户状况以及查看相应日志文件,许多背离正常行为的蛛丝马迹都应当引起高度注意。 8、横向扩展:综合防御管理 防火墙、IDS等防护技术已经成功地应用到网络安全的各个领域,而且都有非常成熟的产品。 在Linux系统来说,有一个自带的Netfilter/Iptables防火墙框架,通过合理地配置其也能起到主机防火墙的功效。在Linux系统中也有相应的轻量级的网络入侵检测系统Snort以及主机入侵检测系统LIDS(Linux Intrusion Detection System),使用它们可以快速、高效地进行防护。 需要提醒注意的是:在大多数的应用情境下,我们需要综合使用这两项技术,因为防火墙相当于安全防护的第一层,它仅仅通过简单地比较IP地址/端口对来过滤网络流量,而IDS更加具体,它需要通过具体的数据包(部分或者全部)来过滤网络流量,是安全防护的第二层。综合使用它们,能够做到互补,并且发挥各自的优势,最终实现综合防御。 9、评测:漏洞追踪及管理 Linux作为一种优秀的开源软件,其自身的发展也日新月异,同时,其存在的问题也会在日后的应用中慢慢暴露出来。黑客对新技术的关注从一定程度上来说要高于我们防护人员,所以要想在网络攻防的战争中处于有利地位,保护Linux系统的安全,就要求我们要保持高度的警惕性和对新技术的高度关注。用户特别是使用Linux作为关键业务系统的系统管理员们,需要通过Linux的一些权威网站和论坛上尽快地获取有关该系统的一些新技术以及一些新的系统漏洞的信息,进行漏洞扫描、渗透测试等系统化的相关配套工作,做到防范于未然,提早行动,在漏洞出现后甚至是出现前的最短时间内封堵系统的漏洞,并且在实践中不断地提高安全防护的技能,这样才是一个比较的解决办法和出路。 10、保持更新:补丁管理 Linux作为一种优秀的开源软件,其稳定性、安全性和可用性有极为可靠的保证,世界上的Linux高手共同维护着个优秀的产品,因而起流通渠道很多,而且经常有更新的程序和系统补丁出现,因此,为了加强系统安全,一定要经常更新系统内核。 Kernel是Linux操作系统的核心,它常驻内存,用于加载操作系统的其他部分,并实现操作系统的基本功能。由于Kernel控制计算机和网络的各种功能,因此,它的安全性对整个系统安全至关重要。早期的Kernel版本存在许多众所周知的安全漏洞,而且也不太稳定,只有2.0.x以上的版本才比较稳定和安全(一般说来,内核版本号为偶数的相对稳定,而为奇数的则一般为测试版本,用户们使用时要多留意),新版本的运行效率也有很大改观。在设定Kernel的功能时,只选择必要的功能,千万不要所有功能照单全收,否则会使Kernel变得很大,既占用系统资源,也给黑客留下可乘之机。 在Internet上常常有最新的安全修补程序,Linux系统管理员应该消息灵通,经常光顾安全新闻组,查阅新的修补程序。
我们提供的服务有:网站设计制作、做网站、微信公众号开发、网站优化、网站认证、思南ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的思南网站制作公司
Web服务器攻击常利用Web服务器软件和配置中的漏洞,web服务器安全也是我们现在很多人关注的一点,那么你知道web服务器安全设置吗?下面是我整理的一些关于web服务器安全设置的相关资料,供你参考。
web服务器安全设置一、IIS的相关设置
删除默认建立的站点的虚拟目录,停止默认web站点,删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制, 带宽设置以及性能设置等其他设置。配置应用程序映射,删除所有不必要的应用程序扩展,只保留asp,php,cgi,pl,aspx应用程序扩展。对于php和cgi,推荐使用isapi方式解析,用exe解析对安全和性能有所影响。用户程序调试设置发送文本错误信息给客户。
对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如C:WINNTsystem32inetsrvssinc.dll来防止数据库被下载。设置IIS的日志保存目录,调整日志记录信息。设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。另外为隐藏系统信息,防止telnet到80端口所泄露的系统版本信息可修改IIS的banner信息,可以使用winhex手工修改或者使用相关软件如banneredit修改。
对于用户站点所在的目录,在此说明一下,用户的FTP根目录下对应三个文件佳,wwwroot,database,logfiles,分别存放站点文件,数据库备份和该站点的日志。如果一旦发生入侵事件可对该用户站点所在目录设置具体的权限,图片所在的目录只给予列目录的权限,程序所在目录如果不需要生成文件(如生成html的程序)不给予写入权限。因为是虚拟主机平常对脚本安全没办法做到细致入微的地步。
方法
用户从脚本提升权限:
web服务器安全设置二、ASP的安全设置
设置过权限和服务之后,防范asp木马还需要做以下工作,在cmd窗口运行以下命令:
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
即可将WScript.Shell, Shell.application, WScript.Network组件卸载,可有效防止asp木马通过wscript或shell.application执行命令以及使用木马查看一些系统敏感信息。另法:可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法。
另外,对于FSO由于用户程序需要使用,服务器上可以不注销掉该组件,这里只提一下FSO的防范,但并不需要在自动开通空间的虚拟商服务器上使用,只适合于手工开通的站点。可以针对需要FSO和不需要FSO的站点设置两个组,对于需要FSO的用户组给予c:winntsystem32scrrun.dll文件的执行权限,不需要的不给权限。重新启动服务器即可生效。
对于这样的设置结合上面的权限设置,你会发现海阳木马已经在这里失去了作用!
web服务器安全设置三、PHP的安全设置
默认安装的php需要有以下几个注意的问题:
C:\winnt\php.ini只给予users读权限即可。在php.ini里需要做如下设置:
Safe_mode=on
register_globals = Off
allow_url_fopen = Off
display_errors = Off
magic_quotes_gpc = On [默认是on,但需检查一遍]
open_basedir =web目录
disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod
默认设置com.allow_dcom = true修改为false[修改前要取消掉前面的;]
web服务器安全设置四、MySQL安全设置
如果服务器上启用MySQL数据库,MySQL数据库需要注意的安全设置为:
删除mysql中的所有默认用户,只保留本地root帐户,为root用户加上一个复杂的密码。赋予普通用户updatedeletealertcreatedrop权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库操作的权限。检查mysql.user表,取消不必要用户的shutdown_priv,reload_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非mysql的 其它 信息出去。可以为mysql设置一个启动用户,该用户只对mysql目录有权限。设置安装目录的data数据库的权限(此目录存放了mysql数据库的数据信息)。对于mysql安装目录给users加上读取、列目录和执行权限。
Serv-u安全问题:
安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。修改serv-u的banner信息,设置被动模式端口范围(4001—4003)在本地服务器中设置中做好相关安全设置:包括检查匿名密码,禁用反超时调度,拦截“FTP bounce”攻击和FXP,对于在30秒内连接超过3次的用户拦截10分钟。域中的设置为:要求复杂密码,目录只使用小写字母,高级中设置取消允许使用MDTM命令更改文件的日期。
更改serv-u的启动用户:在系统中新建一个用户,设置一个复杂点的密码,不属于任何组。将servu的安装目录给予该用户完全控制权限。建立一个FTP根目录,需要给予这个用户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是继承了该用户的权限,否则无法操 作文 件。另外需要给该目录以上的上级目录给该用户的读取权限,否则会在连接的时候出现530 Not logged in, home directory does not exist。比如在测试的时候ftp根目录为d:soft,必须给d盘该用户的读取权限,为了安全取消d盘其他文件夹的继承权限。而一般的使用默认的system启动就没有这些问题,因为system一般都拥有这些权限的。
web服务器安全设置五、数据库服务器的安全设置
对于专用的MSSQL数据库服务器,按照上文所讲的设置TCP/IP筛选和IP策略,对外只开放1433和5631端口。对于MSSQL首先需要为sa设置一个强壮的密码,使用混合身份验证,加强数据库日志的记录,审核数据库登陆事件的”成功和失败”.删除一些不需要的和危险的OLE自动存储过程(会造成 企业管理 器中部分功能不能使用),这些过程包括如下:
Sp_OAcreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注册表访问过程,包括有:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue
Xp_regenumvalues Xp_regread Xp_regremovemultistring
Xp_regwrite
去掉其他系统存储过程,如果认为还有威胁,当然要小心drop这些过程,可以在测试机器上测试,保证正常的系统能完成工作,这些过程包括:
xp_cmdshell xp_dirtree xp_dropwebtask sp_addsrvrolemember
xp_makewebtask xp_runwebtask xp_subdirs sp_addlogin
sp_addextendedproc
在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例可防止对1434端口的探测,可修改默认使用的1433端口。除去数据库的guest账户把未经认可的使用者据之在外。 例外情况是master和 tempdb 数据库,因为对他们guest帐户是必需的。另外注意设置好各个数据库用户的权限,对于这些用户只给予所在数据库的一些权限。在程序中不要用sa用户去连接任何数据库。网络上有建议大家使用协议加密的,千万不要这么做,否则你只能重装MSSQL了。
1)、系统安全基本设置
1.安装说明:系统全部NTFS格式化,重新安装系统(采用原版win2003),安装杀毒软件(Mcafee),并将杀毒软件更新,安装sp2补钉,安装IIS(只安装必须的组件),安装SQL2000,安装点虐 2.0,开启防火墙。并将服务器打上最新的补钉。
2)、关闭不需要的服务
Computer Browser:维护网络计算机更新,禁用
Distributed File System: 局域网管理共享文件,不需要禁用
Distributed linktracking client:用于局域网更新连接信息,不需要禁用
Error reporting service:禁止发送错误报告
Microsoft Serch:提供快速的单词搜索,不需要可禁用
NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用
PrintSpooler:如果没有打印机可禁用
Remote Registry:禁止远程修改注册表
Remote Desktop Help Session Manager:禁止远程协助 其他服务有待核查
3)、设置和管理账户
1、将Guest账户禁用并更改名称和描述,然后输入一个复杂的密码
2、系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于10位
3、新建一个名为Administrator的陷阱帐号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码
4、计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效 时间为30分钟
5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用
6、 在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户,Aspnet账户
7、创建一个User账户,运行系统,如果要运行特权命令使用Runas命令。
4)、打开相应的审核策略
审核策略更改:成功
审核登录事件:成功,失败
审核对象访问:失败
审核对象追踪:成功,失败
审核目录服务访问:失败
审核特权使用:失败
审核系统事件:成功,失败
审核账户登录事件:成功,失败
审核账户管理:成功,失败
5)、 其它安全相关设置
1、禁止C$、D$、ADMIN$一类的缺省共享
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters,在右边的 窗口中新建Dword值,名称设为AutoShareServer值设为0
2、解除NetBios与TCP/IP协议的绑定
右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的 NETBIOS
3、隐藏重要文件/目录
可以修改注册表实现完全隐藏: “HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrent-VersionExplorerAdvancedFol derHi-ddenSHOWALL”,鼠标右击“CheckedValue”,选择修改,把数值由1改为0
4、防止SYN洪水攻击
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 新建DWORD 值,名为SynAttackProtect,值为2
5、 禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfacesinterface 新建DWORD值,名为PerformRouterDiscovery 值为0
6. 防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 将EnableICMPRedirects 值设为0
7、 不支持IGMP协议
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 新建DWORD 值,名为IGMPLevel 值为0
8、禁用DCOM:运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子 文件夹。
对于本地计算机,请以右键单击“我的电脑”,然后选择“属 性”。选择“默认属性”选项卡。清除“在这台计算机上启用分布式 COM”复选框。
9、终端服务的默认端口为3389,可考虑修改为别的端口。
修改方法为: 服务器端:打开注册表,在“HKLM\SYSTEM\Current ControlSet\Control\Terminal Server\Win Stations” 处找到类似RDP-TCP的子键,修改PortNumber值。 客户端:按正常步骤建一个客户端连接,选中这个连接,在“文件”菜单中选择导出,在指定位置会 生成一个后缀为点吸烟 s的文件。打开该文件,修改“Server Port”值为与服务器端的PortNumber对应的 值。然后再导入该文件(方法:菜单→文件→导入),这样客户端就修改了端口。
6)、配置 IIS 服务
1、不使用默认的Web站点,如果使用也要将 将IIS目录与系统磁盘分开。
2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。
3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、 MSADC。
4、删除不必要的IIS扩展名映射。 右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映 射。主要为.shtml, .shtm, .stm
5、更改IIS日志的路径 右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性
6、如果使用的是2000可以使用iislockdown来保护IIS,在2003运行的IE6.0的版本不需要。
7、使用UrlScan
UrlScan是一个ISAPI筛选器,它对传入的HTTP数据包进行分析并可以拒绝任何可疑的通信量。 目前最新的版本是2.5,如果是2000Server需要先安装1.0或2.0的版本。 如果没有特殊的要求采用UrlScan默认配置就可以了。 但如果你在服务器运行ASP.NET程序,并要进行调试你需打开要 %WINDIR%System32InetsrvURLscan,文件夹中的URLScan.ini 文件,然后在UserAllowVerbs节添 加debug谓词,注意此节是区分大小写的。 如果你的网页是.asp网页你需要在DenyExtensions删除.asp相关的内容。 如果你的网页使用了非ASCII代码,你需要在Option节中将AllowHighBitCharacters的值设为1 在对URLScan.ini 文件做了更改后,你需要重启IIS服务才能生效,快速方法运行中输入iisreset 如果你在配置后出现什么问题,你可以通过添加/删除程序删除UrlScan。
8、利用WIS (Web Injection Scanner)工具对整个网站进行SQL Injection 脆弱性扫描.
7)、配置Sql服务器
1、System Administrators 角色最好不要超过两个
3、不要使用Sa账户,为其配置一个超级复杂的密码
4、删除以下的扩展存储过程格式为:
use master sp_dropextendedproc '扩展存储过程名'
xp_cmdshell:是进入操作系统的最佳捷径,删除 访问注册表的存储过程,
删除
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues Xp_regread Xp_regwrite Xp_regremovemultistring
OLE自动存储过程,不需要删除
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty Sp_OAMethod Sp_OASetProperty Sp_OAStop
5、隐藏 SQL Server、更改默认的1433端口
右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默 认的1433端口。
8)、修改系统日志保存地址 默认位置为 应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\system32\config,默认 文件大小512KB,管理员都会改变这个默认大小。
安全日志文件:%systemroot%\system32\config\SecEvent.EVT 系统日志文件:%systemroot%\system32\config\SysEvent.EVT 应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT Internet信息服务FTP日志默认位置:%systemroot%\system32\logfiles\msftpsvc1\,默认每天一个日 志 Internet信息服务WWW日志默认位置:%systemroot%\system32\logfiles\w3svc1\,默认每天一个日 志 Scheduler(任务计划)服务日志默认位置:%systemroot%\schedlgu.txt 应用程序日志,安全日志,系统日志,DNS服务器日志,它们这些LOG文件在注册表中的: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog Schedluler(任务计划)服务日志在注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent SQL 删掉或改名xplog70.dll [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters] "AutoShareServer"=dword:00000000 "AutoShareWks"=dword:00000000 // AutoShareWks 对pro版本 // AutoShareServer 对server版本 // 0
禁止管理共享admin$,c$,d$之类默认共享 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA] "restrictanonymous"=dword:00000001 //0x1 匿名用户无法列举本机用户列表 //0x2 匿名用户无法连接本机IPC$共享(可能sql server不能够启动
9)、本地安全策略
1.只开放服务需要的端口与协议。 具体方法为:按顺序打开“网上邻居→属性→本地连接→属性→Internet 协议→属性→高级→选项→ TCP/IP筛选→属性”,添加需要的TCP、UDP端口以及IP协议即可。根据服务开设口,常用的TCP 口有:80口用于Web服务;21用于FTP服务;25口用于SMTP;23口用于Telnet服务;110口 用于POP3。常用的UDP端口有:53口-DNS域名解析服务;161口-snmp简单的网络管理协议。 8000、4000用于OICQ,服务器用8000来接收信息,客户端用4000发送信息。 封TCP端口: 21(FTP,换FTP端口)23(TELNET),53(DNS),135,136,137,138,139,443,445,1028,1433,3389 可封TCP端口:1080,3128,6588,8080(以上为代理端口).25(SMTP),161(SNMP),67(引导) 封UDP端口:1434(这个就不用说了吧) 封所有ICMP,即封PING 以上是最常被扫的端口,有别的同样也封,当然因为80是做WEB用的
2、禁止建立空连接 默认情况下,任何用户可通过空连接连上服务器,枚举账号并猜测密码。空连接用的端口是139, 通过空连接,可以复制文件到远端服务器,计划执行一个任务,这就是一个漏洞。可以通过以下两 种方法禁止建立空连接:
(1) 修改注册表中 Local_Machine\System\ CurrentControlSet\Control\LSA-RestrictAnonymous 的值为1。
(2) 修改Windows 2000的本地安全策略。设置“本地安全策略→本地策略→选项”中的 RestrictAnonymous(匿名连接的额外限制)为“不容许枚举SAM账号和共享”。 首先,Windows 2000的默认安装允许任何用户通过空连接得到系统所有账号和共享列表,这本来 是为了方便局域网用户共享资源和文件的,但是,同时任何一个远程用户也可以通过同样的方法得 到您的用户列表,并可能使用暴力法破解用户密码给整个网络带来破坏。很多人都只知道更改注册 表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1来禁止空用户连接, 实际上Windows 2000的本地安全策略里(如果是域服务器就是在域服务器安全和域安全策略里) 就有RestrictAnonymous选项,其中有三个值:“0”这个值是系统默认的,没有任何限制,远程用户 可以知道您机器上所有的账号、组信息、共享目录、网络传输列表(NetServerTransportEnum)等;“1” 这个值是只允许非NULL用户存取SAM账号信息和共享信息;“2”这个值只有Windows 2000才支 持,需要注意的是,如果使用了这个值,就不能再共享资源了,所以还是推荐把数值设为“1”比较 好。
10)、防止asp木马
1、基于FileSystemObject组件的asp木马
cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用 regsvr32 scrrun.dll /u /s //删除
2.基于shell.application组件的asp木马
cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用 regsvr32 shell32.dll /u /s //删除
3.将图片文件夹的权限设置为不允许运行。
4.如果网站中不存在有asp的话,禁用asp
11)、防止SQL注入
1.尽量使用参数化语句
2.无法使用参数化的SQL使用过滤。
3.网站设置为不显示详细错误信息,页面出错时一律跳转到错误页面。
4.不要使用sa用户连接数据库
5、新建一个public权限数据库用户,并用这个用户访问数据库 6、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限
最后强调一下,以上设置可能会影响到有些应用服务,例如导至不能连接上远程服务器,
因此强烈建议,以上设置首先在本地机器或虚拟机(VMware Workstation)上做好设置,确定没事之后然后再在服务器上做。