我最近在我的 Ubuntu 机器上安装了 apache2,并且对安全性和用户权限有一些疑问。我知道如何监听其他端口,使用 -Indexes 隐藏索引以及如何在同一台机器上创建/禁用新的虚拟主机,但是我不确定标准安装配置中已经预设了很多用户选项。
谁能准确解释这个文件允许用户在系统上做什么?我花了很多时间查看 Apache 帮助指南和文档,但它非常触手可及,因为我真正需要的大部分是首先了解这里发生的事情。请帮忙。
cat/etc/apache2/sites-available/default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
最佳答案
如果 Ubuntu 默认 Apache 配置中存在安全问题,Canonical 会修复它。
话虽如此,有一些方法可以加强您的安装。最重要的是你应该考虑安装mod_security .如果比 Apache 更具破坏性,那就是它所暴露的逻辑。 PHP 经常被错误配置,所以你应该运行 PHPSecInfo并尽可能多地去除红色和黄色。
任何值得使用的 Web 应用程序漏洞扫描程序都会提示无法查看目录列表,所以 -Indexes
.在生产系统上是必需的。
使用高级 LFI attack 将日志文件放在可预测的位置可用于远程执行代码。 .
您还应该遵循“最小权限访问”的原则。如果您不需要/cgi-bin,请将其删除。
关于security - Apache 安全默认安装权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3832789/