服务器安全是必须要面对的一个问题,特别是针对用户数量多,涉及交易的网站。而近几年来黑客们的入侵与攻击技术的发展速度都明显在加快,服务器安全防护加固的事情就刻不容缓了。这里跟大家聊聊服务器安全防护加固。
服务器安全防护加固
服务器安全防护加固,除非自己有专门的安全攻防团队,不然大部分企业都是与安全厂商合作,使用安全防护产品保护服务器主机的安全,这里跟大家介绍一下安全狗的Web服务器系统安全防护产品。
比较全能的产品可以试试服务器安全狗这款免费的服务器防御软件,可以比较全面的提升服务器的防护能力,抵抗一定程度的入侵攻击,有需要的朋友可以自行下载使用。
付费的产品可以了解下安全狗的云磐产品,用户可以根据自己的需求进行选择相对应的服务和扩充,以下是云磐产品的介绍。
安全狗以SECaaS安全即为用户提供一站式的云安全产品与服务,包括(云)主机安全、WEB应用安全、网站防篡改、抗DDoS云服务、安全大数据态势感知等,同时平台配备7*24
小时的安全专家服务,真正为用户构建安全即服务模式的纵深防御产品和服务,为业务发展保驾护航。
日志分析及态势感知云服务
云磐融合大数据分析技术、可视化技术、威胁情报技术于一体,为企业构建的新一代云安全管理平台。
安全大数据分析,全方位融合安全数据,进行多维度智能分析
可视化大屏展示,提供整体态势感知、攻防对抗态势、流量访问态势、威胁事件态势四屏展示
态势预测,可发现威胁态势的走向,预见风险,防范于未然
威胁情报驱动,依托于安全狗观鸿威胁情报服务平台
Web应用安全云服务
云磐通过网络层过滤和主机层应用自保护(RASP)相结合的技术,既能够过滤传统常见的攻击又可以对异常变形和未知漏洞的高级攻击进行识别,达到双层纵深防御的效果。
集中管理网站和WAF防护节点
通过平台设置各个防护节点安全策略,并下发至防护节点
以可视化的形式统计网站的安全状态,展现网站的风险和威胁
网页防篡改云服务
云磐采用第二代密码水印技术+第三代系统驱动级文件保护技术双结合,对网站安全进行双重防护,具有响应速度快、判断准确、资源暂用少及部署灵活等特点。
基于内核驱动防护技术,支持单独文件、文件夹及多级文件夹目录内容篡改保护
水印技术阻止被篡改网页流出,并自动恢复被篡改文件
支持断线状态下阻止篡改内容流出,返回篡改提示页面
完全防护技术,支持大规模连续篡改攻击防护
(云)主机安全服务
云磐采用先进的端点检测及响应(EDR)技术模型及自适应安全架构相结合的理念思路来构建的新一代(云)主机入侵监测及安全管理云服务系统。
解决公有云环境中遇到的安全及管理问题
解决新安全形势下数据中心安全问题
结合威胁情报进行主机终端异常行为捕获及分析
满足(云)等保2.0对于主机安全的合规性要求
抗DDoS云服务
云磐提供了高效流量清洗中心,针对从网络层到应用层的攻击流量进行精确清洗。目前可清洗的流量峰值超过500Gbps。采用即用即开的机制,通过敏锐流量监测机制来弹性判断用户是否需要开启抗D服务。
快速感知,弹性控制,可快速适应不同流量的攻击
全面抵抗CC攻击以及各种纯流量攻击
专家全程参与防御,协助做出最正确的响应措施
能力强劲,可清洗的流量峰值超过500Gbps
服务器安全防护加固-windows篇
一.更改终端默认端口号
步骤:
1.运行regedit2.[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Wds\rdpwd\Tds\tcp],看见PortNamber值了吗其默认值是3389,修改成所希望的端口即可,例如123453.[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\TenninalServer\WinStations\RDP\Tcp],将PortNumber的值(默认是3389)修改成端口12345(自定义)。
二.NTFS权限设置
注意:
1、2008R2默认的文件夹和文件所有者为TrustedInstaller,这个用户同时拥有所有控制权限。2、注册表同的项也是这样,所有者为TrustedInstaller。3、如果要修改文件权限时应该先设置管理员组administrators为所有者,再设置其它权限。4、如果要删除或改名注册表,同样也需先设置管理员组为所有者,同时还要应该到子项,
直接删除当前项还是删除不掉时可以先删除子项后再删除此项
1.C盘只给administrators和system权限,其他的权限不给,其他的盘也可以这样设置(web目录权限依具体情况而定)
2.这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。
Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行(如果你使用IIS的话,要引用windows下的dll文件)。
3.c:/user/只给administrators和system权限
三.删除默认共享
1.打开dos,netshare查看默认共享
2.新建文本文档输入命令
netsharec$/delnetshared$/del//如有E盘可再添加默认共享名均为c$、d$等
netshareIPC$/delnetshareadmin$/del另存为sharedelte.bat
3.运行gpedit.msc,展开windous设置—脚本(启动\关机)—启动)—右键属性—添加sharedelte.bat
同理可编辑其它规则
四.ipsec策略
以远程终端为例1.控制面板——windows防火墙——高级设置——入站规则——新建规则——端口——特定端口tcp(如3389)——允许连接2.完成以上操作之后右击该条规则作用域——本地ip地址——任何ip地址——远程ip地址——下列ip地址——添加管理者ip同理其它端口可以通过此功能对特定网段屏蔽(如80端口)
其它请参考win2003安全优化
Windows2008R2服务器的安全加固补充
最近托管了一台2U服务器到机房,安装的是Windows2008系统,打算用IIS做webserver,因此需要把没用的端口、服务关闭,减小风险。
我发现现在网络上有价值的东西实在是太少了,很多人都是转载来转载去,学而不思,没有一点营养。还是自己总结总结吧,大概有以下几步:
1.如何关掉IPv6
这一点国内国外网站上基本上都有了共识,都是按照下面两步来进行。据说执行之后就剩本地换回路由还没关闭。但关闭之后我发现某些端口还是同时监听ipv4和ipv6的端口,尤其是135端口,已经把ipv4关闭了,ipv6竟然还开着。匪夷所思啊……
先关闭网络连接->本地连接->属性->Internet协议版本6(TCP/IPv6)
然后再修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters,增加一个Dword项,名字:DisabledComponents,值:ffffffff(十六位的8个f)
重启服务器即可关闭ipv6
2.如何关闭135端口
这个破端口是RPC服务的端口,以前出过很多问题,现在貌似没啥漏洞了,不过还是心有余悸啊,想关的这样关:
开始->运行->dcomcnfg->组件服务->计算机->我的电脑->属性->默认属性->关闭“在此计算机上启用分布式COM”->默认协议->移除“面向连接的TCP/IP”
但是感觉做了以上的操作还能看到135在Listen状态,还可以试试这样。
在cmd中执行:netshrpcadd127.0.0.0,这样135端口只监听127.0.0.1了。
3.如何关闭445端口
445端口是netbios用来在局域网内解析机器名的服务端口,一般服务器不需要对LAN开放什么共享,所以可以关闭。
修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters,则更加一个Dword项:SMBDeviceEnabled,值:0
4.关闭Netbios服务(关闭139端口)
网络连接->本地连接->属性->Internet协议版本4->属性->高级->WINS->禁用TCP/IP上的NetBIOS
5.关闭LLMNR(关闭5355端口)
什么是LLMNR本地链路多播名称解析,也叫多播DNS,用于解析本地网段上的名称,没啥用但还占着5355端口。
使用组策略关闭,运行->gpedit.msc->计算机配置->管理模板->网络->DNS客户端->关闭多播名称解析->启用
还有一种方法,我没尝试,如果没有组策略管理的可以试试,修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsof\WindowsNT\DNSClient,新建一个Dword项,名字:EnableMulticast,值:0
6.关闭WindowsRemoteManagement服务(关闭47001端口)
Windows远程管理服务,用于配合IIS管理硬件,一般用不到,但开放了47001端口很不爽,关闭方法很简单,禁用这个服务即可。
7.关闭UDP500,UDP4500端口
这两个端口让我搜索了半天,虽然知道应该和VPN有关,但是不知道是哪个服务在占用。最后终于找到了,其实是IKEandAuthIPIPsecKeyingModules服务在作怪。如果你的服务器上不运行基于IKE认证的VPN服务,就可以关闭了。(我用的是PPTP方式连接VPN,把ipsec和ike都关闭了)
8.删除文件和打印机共享
网络连接->本地连接->属性,把除了“Internet协议版本4”以外的东西都勾掉。
9.关闭文件和打印机共享
直接停止“server”服务,并设置为禁用,重启后再右键点某个磁盘选属性,“共享”这个页面就不存在了。
服务器安全防护加固-linux篇
1.确保运行php的用户为一般用户,如www
2.php.ini参数设置
disable_functions=passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,phpinfo#禁用的函数
expose_php=off#避免暴露PHP信息
display_errors=off#关闭错误信息提示
register_globals=off#关闭全局变量
enable_dl=off#不允许调用dl
allow_url_include=off#避免远程调用文件
upload_tmp_dir=/tmp#明确定义upload目录
open_basedir=./:/tmp:/home/wwwroot/#限制用户访问的目录
open_basedir参数详解
open_basedir可将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径,也可用符号"."来代表当前目录。注意用open_basedir指定的限制实际上是前缀,而不是目录名。
举例来说:若"open_basedir=/home/wwwroot",那么目录"/home/wwwroot"和"/home/wwwroot1"都是可以访问的。所以如果要将访问限制在仅为指定的目录,请用斜线结束路径名。
从网上获取的资料来看,open_basedir会对php操作io的性能产生很大的影响。研究资料表明,配置了php_basedir的脚本io执行速度会比没有配置的慢10倍甚至更多,请大家自己衡量
open_basedir也可以同时设置多个目录,在Windows中用分号分隔目录,在任何其它系统中用冒号分隔目录。当其作用于Apache模块时,父目录中的open_basedir路径自动被继承。
MySQL安全设置
1.MySQL版本的选择
在正式生产环境中,禁止使用4.1系列的MySQL数据库。至少需要使用5.1.39或以上版本。
2.网络和端口的配置
在数据库只需供本机使用的情况下,使用–skip-networking参数禁止监听网络。
3.确保运行MySQL的用户为一般用户,如mysql,注意存放数据目录权限为mysql
vi/etc/my.cnf
user=mysql
log_bin=mysql-bin
expire_logs_days=7
(1)禁止root账号从网络访问数据库,root账号只允许来自本地主机的登陆。
mysql>flushpriveleges;
(2)删除匿名账号和空口令账号
mysql>USEmysql;
mysql>deletefromuserwhereUser=;
mysql>deletefromuserwherePassword=;
mysql>deletefromdbwhereUser=;
web服务器安全
确保运行Nginx或者Apache的用户为一般用户,如www,注意存放数据目录权限为www
防止sql注入
return404;
}
关闭存放数据上传等目录的PHP解析
location~*^/(attachments|data)/.*\.(php|php5)${
denyall;
针对Apache:关闭图片目录/上传等目录的PHP解析
orderallow,deny
Denyfromall
木马查杀和防范
php木马快速查找命令
.?.?
利用findmtime查找最近两天或者发现木马的这几天,有哪些PHP文件被修改
find-mtime-2-typef-name\*.php
关于服务器安全防护加固就介绍到这里,如果您对于服务器防护有更高的需求或者是遇到无法解决的服务器安全问题,可以向安全狗寻求技术支持,我们会安排专业的技术团队为您提供相应的技术解决方案,保证您的服务器安全稳定运行。