Web 环境安全 优化建议例(web优化的几个方面)
nanshan 2024-10-26 11:13 11 浏览 0 评论
Web 环境安全包含常见易出现安全问题的 Web 支撑服务组件,典型的如 PHP、Apache、Tomcat、Nginx、IIS、MySQL 、Redis、JBoss、Jetty、vsFTPd。
必备要求
- 建议从官方下载稳定版组件进行部署安装,注意不要下载和使用 beta 版本。
- Web 服务组件必须以普通账户权限运行。
- 禁止 HTTP 目录索引,外部用户可直接访问 Index/ 等目录。
- 不允许使用弱密码,需使用随机字符串作为初始默认密码。
- 合理配置目录访问权限,禁止未授权的目录访问行为,如 .git/.svn 等目录 。
- 默认关闭组件或程序调试模式,避免敏感信息泄露。
优化建议
PHP 安全优化建议
控制脚本访问权限
PHP 默认配置允许 PHP 脚本程序访问服务器上的任意文件,为避免 PHP 脚本访问不该访问的文件,从一定程度上限制了 PHP 木马的危害,需设置 PHP 只能访问网站目录或者其他必须可访问的目录。
/usr/local/apache2/web/为网站根目录,打开php.ini,安全加固配置方式如下:
open_basedir = /usr/local/apache2/web/
需要多个目录时,以冒号隔开如:
open_basedir = /usr/local/apache2/web/:/tmp/:/data/adc/
隐藏 PHP 版
攻击者在信息收集时候无法判断程序版本,增加防御系数。打开php.ini 安全加固配置方式如下,隐藏版本设置:
expose_php =off
off
修改 PHP 配置文件php.ini,添加如下配置:
safe_mode = on
safe_mode_gid = off
关闭全局变量,配置如下:
register_globals = off
er_globa
Web 木马程序通常利用 PHP 的特殊函数执行系统命令,查询任意目录文件,增加修改删除文件等。PHP 木马程序常使用的函数为: dl, eval, assert, exec, popen, system, passthru, shell_exec 等。
修改 PHP 配置文件php.ini,添加如下配置:
disable_functions= dl,eval,assert,exec,passthru,popen,proc_open,shell_exec,system,phpinfo,assert
可酌情调整函数内容。
nfo,assert
magicquotesgpc 会把引用的数据中包含单引号 ' 和双引号 " 以及反斜线 \ 自动加上反斜线,自动转译符号,确保数据操作的正确运行,magicquotesgpc 的设定值将会影响通过 Get/Post/Cookies 获得的数据,可以有效的防止 SQL 注入漏洞。
打开php.ini,安全加固配置方式如下,打开 magicquotesgpc 设置:
magicquotesgpc = On*
otesgpc 设置:
magicquotesgpc = On*
其他参考配置
- 开启 magic_quotes_runtime,对文件或者数据库中取出的数据过滤,能很好的解决二次注入漏洞。
magic_quotes_runtime = On - 关闭错误信息提示:
display_errors = off
display_startup_errors = off - 开启错误日志记录,闭 display_errors 后能够把错误信息记录下来,便于查找服务器运行的原因,同时也要设置错误日志存放的目录,建议跟 webserver 的日志放在一起。
log_errors = On
error_log = /usr/local/apache2/logs/php_error.log - 不允许调用 dl:
enable_dl = off - 关闭远程文件,允许访问 URL 远程资源使得 PHP 应用程序的漏洞变得更加容易被利用,PHP 脚本若存在远程文件包含漏洞可以让攻击者直接获取网站权限及上传 Web 木马,一般会在 PHP 配置文件中关闭该功能,若需要访问远程服务器建议采用其他方式,如 libcurl 库:
allow_url_fopen = off
allow_url_include = off - 开启 http only:
session.cookie_httponly = 1
cookie domain - 开启 https secure:
session.cookie_secure = 1 - 适当的 PHP redirects:
cgi.force_redirect = 0 - SQL 的安全模式:
sql.safe_mode = on
Apache 安全优化建议
Ap
Apache 安装好后,存在默认的示例页面:
需要删除两个目录:icons、manual ,并且注释或删除 Apache 配置文件中的以下两行内容:
Alias /icons/ "/usr/share/apache2/icons/"
AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "/usr/share/apache2/manual$1
如果 Apache 以 daemon 普通用户启动,则黑客通过网站漏洞入侵服务器后,将获得 Apache 的 daemon 权限,因此需要确认网站 Web 目录和文件的属主与 Apache 启动用户不同,防止网站被黑客恶意篡改和删除。网站 Web 目录和文件的属主可以设置为 root 等(非 Apache 启动用户)。Web 目录权限统一设置为755,Web 文件权限统一设置为644( cgi 文件若需执行权限可设置为 755),只有上传目录等需要可读可写权限的目录可以设置为777。
假设网站目录为/usr/local/apache2/htdocs/,上传目录为/usr/local/apache2/htdocs/upload/
chown -R root:root /usr/local/apache2/htdocs/
chmod 755 /usr/local/apache2/htdocs/
find /usr/local/apache2/htdocs/ -type d -exec chmod 755 {} \;
find /usr/local/apache2/htdocs/ -type f -exec chmod 644 {} \;
chmod –R 777 /usr/local/apache2/htdocs/upload/
为了防止黑客在777权限目录中上传或者写入 Web 木马,因此需要设置 777 权限的目录不能执行或访问脚本。禁止执行或访问脚本的安全配置如下:
Web 木马,因此需要设置 777 权限的目录不能执行或访问脚本。禁止执行或访问脚本的安全配置如下:
<Directory "/usr/local/apache2/htdocs/yourpath">
Options None
AllowOverride None
Order deny,allow
deny from all
<FilesMatch "\.(jpg|jpeg|gif|png)#34;>
Order deny,allow
allow from all
</FilesMatch>
</Directory>
消除目录浏览漏洞
Apache 默认允许目录浏览,如果目录下没有索引文件则会出现目录浏览漏洞。
需要把 Apache 配置文件中的全部 “Indexes” 删除或者改为 “-Indexes”
开启访问日志
开启日志有助于发生安全事件后方便进行入侵回溯,分析原因及定位攻击者:
CustomLog /www/logs/access_log common
默认情况下,Apache 已开启访问日志记录,请在 Apache 配置文件中确认已开启访问日志。
其他参考配置
- FollowSymLinks此指令为默认启用,因此在创建符号链接到网页服务器的文档 root 目录时,请慎重行事。例如,请勿为“/”提供符号链接。
- ServerTokens ProductOnly
serversignature Off
Apache 默认输出的 banner 会泄漏关键信息,如服务器 OS 类型、Apache 版本、安装的应用程序类型及版本。暴露过多的信息只会给黑客带来便利。
在 Apache 配置文件中,修改 ServerToken、ServerSignatre 设置(如果没有这两行配置,请自行添加)。 - UserDir此指令可确认系统中用户帐户是否存在,所以要默认禁用UserDir指令。
要在服务器上启用用户名目录浏览,则须使用以下指令:
UserDir enabled
UserDir disabled root
这些指令用于/root/之外的所有用户目录,可激活其用户目录浏览这一功能。在禁用帐户列表中添加用户,要在UserDir disabled命令行添加以空格分隔的用户列表。
Tomcat 安全优化建议
Apache 软件下载
应该从 Tomcat 官方提供的下载页面进行安装部署。
Tom
编辑server.xml配置文件,确保在 HOST 标签中有记录日志功能,配置如下:
<valve cassname=”org.apache.catalina.valves.AccessLogValve”
Directory=”logs” prefix=”localhost_access_log.”
Suffix=”.txt”
Pattern=”common” resloveHosts=”false”/>
false”/>
注意:
默认 Tomca
为了限制脚本的访问权限,防范 webshell 木马,建议启动时增加安全参数启动,如采用如下方式启动 Tomcat:
Tomcat/bin/startup.sh –security
n/startup.
删除tomcat/webapps/目录下的所有文件及目录,已知webapps目录包含:
Tomcat/webapps/docs/
Tomcat/webapps/examples/
Tomcat/webapps/host-manager/
Tomcat/webapps/manager/
Tomcat/webapps/ROOT/
删除 Tomcat 的 admin 控制台软件:删除{Tomcat安装目录}\webapps下admin.xml文件。
删除 Tomcat 的 Manager 控制台软件:删除{Tomcat安装目录}\webapps下manager.xml文件。
安装目录}\webapps下manager.xml文件。
删除 jspx 文件解析
Tomcat 默认是可以解析 jspx 文件格式的后缀,解析 jspx 给服务器带来了极大的安全风险,若不需要使用 jspx 文件,建议删除对 jspx 的解析,具体操作为修改 conf/web.xml 文件,将如下
Tomcat 在程序执行失败时会有错误信息提示,可能泄漏服务器的敏感信息,需要关闭错误提示信息。可以通过指定错误页面的方式不将错误信息显示给用户,修改tomcat/conf/web.xml,增加如下配置项:
<error-page>
<error-code>500</error-code>
<location>/500.jsp</location>
</error-page>
r-code>
<location>/500.jsp</location>
</error-page>
注意:
可以根据需要自行增加相应的错误码,常见的如500,404等,location 选项为指定跳转的页面,该 jsp 文件需要自己生成。
Nginx 安全优化建议
Nginx 软件的下载
应该从 Nginx 官方提供的下载页面下载进行部署按照,需要下载最新稳定版本。注意不要下载
cat/etc/nginx/nginx.conf
Nginx 默认不允许目录浏览,请检查目录浏览的相关配置,确保没有目录浏览漏洞。确保 autoindex 的配置为 off ,即 autoindex off 或者没有配置 autoindex。
没有目录
开启日志有助于发生安全事件后回溯分析整个事件的原因及定位攻击者。
默认情况下,Nginx 已开启访问日志记录,请在 Nginx 配置文件中确认已开启访问日志access_log
/backup/nginx_logs/access.log combined;
N
cat/etc/nginx/nginx.conf
添加这行配置:server_tokens off
ces
删除 Nginx 默认首页 index.html,业务可以自行创建默认首页代替之。
删除如下配置信息:
这行配置:server_tokens off
删除默认页
删除 Nginx 默认首页 index.html,业务可以自行创建默认首页代替之。
删除如下配置信息:
:
location /doc { root /usr/share; autoindex on; allow 127.0.0.1; deny all; } location /images { root /usr/share; autoindex off; }
删除首页 index.html 后,新建其他首页内容不允许出现如下首页内容:
其他配置
- 隐藏 Nginx 版本信息,打开配置文件 隐藏版本设置:
Server_tokens off;
攻击者在信息收集时候无法判断程序版本,增加防御系数。 - 禁用非必要的请求方法:
if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; }
trace 请求用于网络诊断,会暴露信息,只允许 GET、HEAD、POST 请求,其他请求直接返回444状态码 (444是 Nginx 定义的响应状态码,会立即断开连接,没有响应正文,TRACE 请求 Nginx 内置405拒绝)。
相关推荐
- 教你一个解决手机卡顿的方法(10秒解决手机卡顿问题)
-
我们的手机天天刷头条,看视频,用了一阶段时间以后,就时不时的发生卡顿现象。昨天我的手机就发现了这个问题。友友们,你们遇到过这样的问题吗?你们都是怎样解决的?我看了一眼我的粉丝情况,头条君给我分析的很精...
- 手机视频缓存清理,3步彻底清空,告别卡顿
-
在我们使用手机观看视频的过程中,经常会产生大量的缓存垃圾,这些垃圾文件不仅占用了手机的存储空间,还可能导致手机卡顿和运行缓慢。然而,你知道如何彻底清空手机的视频缓存,让手机恢复流畅的使用体验吗?在本文...
- 关手机这个开关,轻松提升流畅度!
-
关闭手机这个开关,跟新买的一样流畅。手机不要再清理垃圾了,只要关闭这个开关,手机就会和新买的差不多,丝滑流畅不卡顿。其实抖音里就隐藏着一个小开关,每天刷过的视频都会保存在手机里,如果一直不清理,手机就...
- 如何清理今日头条和西瓜视频的内存,让手机流畅不卡顿?
-
对于老年人而言,今日头条和西瓜视频能带来丰富的资讯与娱乐。然而,随着使用时间的增加,这些应用会占用大量手机内存,致使手机运行卡顿。那该如何解决呢?接下来,我将用最简单易懂的方式教老年人清理今日头条和西...
- 视频在线如何转换格式?好用不卡顿的三种转换办法
-
转换视频格式目前来说已经是很熟练的操作了,但是还有些用户可能还是不知道,小编今天就特意给大家带来一些小众才知道的转换教程,让新手也能快速的上手去转换视频格式,以后获取到视频就不怕内容丢失了,视频的格式...
- 如何把视频慢放处理?这几个慢放方法记得收藏
-
如何把视频慢放处理?如果你想让视频慢放,可能是因为你想放慢一些精彩的瞬间,或者你想制作一个慢动作视频。在这篇文章中,我们将介绍一些调速方法,这些方法可以有效地调整视频速度,一起来学习一下吧。方法一:使...
- 如何清理看过的视频,释放垃圾,让手机更流畅?
-
现在谁的手机上没几个短视频平台,无聊时就会刷别人的视频。可您知道吗?我们看过的内容都会被自动保存在手机里,而且很耗内存。如果长时间不释放,手机就会出现各种问题,其中最突出的就是反应慢。相信很多老年人的...
- 手机掉帧是怎么回事?刷视频的时候经常掉帧卡顿
-
手机掉帧是指在运行应用或视频时,画面出现卡顿、不流畅的现象,通常由硬件性能不足、软件优化不佳、内存占用过高、网络问题或设备过热等因素引起。尤其是在刷视频时,掉帧问题可能更为明显,以下是具体原因及解决方...
- 拍视频画面卡顿不流畅,原来是相机设置错误 #短视频拍摄
-
拍摄视频时,应该选择哪种快门速度?许多新手朋友可能会认为,快门速度越高,画面就越清晰,实则不然。因为拍摄视频时,需要考虑一个问题,即动态模糊。例如,如果设置为24帧/秒,那么每秒钟会拍摄24张图片。如...
- 手机卡顿最大原因#视频太卡怎么变流畅
-
抖音这几个开关是手机卡顿的最大原因。你是不是也会经常遇到刷视频的时候,打开一个视频之后老半天还在那转着圈圈,总觉得手机没有之前流畅了。这就说明你的手机占用的内存太多了,导致手机卡顿,使用不流畅。使用手...
- 为啥你家的玩游戏和刷视频经常性的会卡,那是你不懂这些小妙招
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:暴走的黄小猪说到网速有不少的值友都有一个共同点,那就是“卡”,那是你根本没体验过啥叫真正的网速啊,全屋零四条网络报表也花不了几个钱你们的方法...
- 电脑看视频卡顿有什么解决方法?(电脑看视频画面卡顿是什么原因)
-
电脑看视频卡顿的原因可能多种多样,包括硬件性能不足、网络问题、软件设置不当等。以下是一些常见的解决方法,帮助你改善视频播放的流畅度:一、硬件方面1.检查硬件性能:如果电脑配置较低,尤其是CPU、内存或...
- 手机Wi-Fi满格但视频卡顿,你需要这样解决
-
累了一天的打工人回家拿出手机准备玩玩游戏,看看电影时,发现网络异常卡顿,但手机又显示Wi-Fi信号满格,当咱们遇到此类问题时,这些动作能让网络恢复正常,方法如下。一、重启路由器和光猫很多家庭在安装好路...
- 视频越刷越卡?原来是路由器开启了这个功能,关闭方法来了
-
应该很多小伙伴都有过类似的经历,就是在家里长时间刷视频或者看剧的时候,网速好像会越来越慢,视频总是要加载。手机本身可能是一部分原因,但路由器也会影响,你知道吗?当我们在刷视频的,路由器会悄悄地开启大量...
- 一招解决视频卡顿的问题,改变发布渠道后,结果香了
-
最近一段时间拍了很多美景视频,编辑发布到头条后,有时一直显示在缓冲,播放不了,有时打开断断续续的,老是卡顿。导致的后果是:要么展现量很低,要么阅读量寥寥无几,这让我非常苦恼。所以再发布作品时,我只好文...
你 发表评论:
欢迎- 一周热门
-
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WindowsServer2022|配置NTP服务器的命令
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
【系统配置】信创终端挂载NAS共享全攻略:一步到位!
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)