如何正确设置和保护生产LAMP Server?


8

很难找到有关此主题的全面信息。我找到了有关如何执行安装的简短教程(如“ apt-get install apache2”之类的简单教程)或过时的教程。因此,我希望可以从Ubuntu社区的其他成员那里获得一些专业信息:D

我执行了正常的Ubuntu Server 11.04,并通过系统安装安装了LAMP,SAMBA和SSH。但是我在设置虚拟主机以及使系统足够安全以使服务器暴露于网络时遇到了一些麻烦。

到目前为止,我在某种程度上已经遵循了本教程

我在/ etc / apache2 / sites-available中有3个站点,除了不同的站点名称外,它们看起来都像这样:

<VirtualHost example.com>
   ServerAdmin webmaster@localhost
   ServerAlias www.edunder.se
   DocumentRoot /var/www/sites/example
   CustomLog /var/log/apache2/www.example.com-access.log combined
</VirtualHost>

而且我已经使用a2ensite命令启用了它们,因此我在/ etc / apache2 / sites-enabled中具有符号链接。

我的/ etc / hosts文件包含以下几行:

127.0.0.1 localhost
127.0.1.1 Ubuntu.lan Ubuntu
127.0.0.1 localhost.localdomain localhost example.com www.example.com
127.0.0.1 localhost.localdomain localhost example2.com www.example2.com
127.0.0.1 localhost.localdomain localhost example3.com www.example3.com

而且我只能从浏览器中访问其中之一(出于测试目的,我在服务器上安装了lynx),所以我想我没有正确设置它们:)

我应该如何进行安全正确的设置?我也使用MySQL,我认为本教程足以安全地设置SSH。请帮助我更好地了解Apache配置,因为我是刚开始设置自己的服务器(我以前只运行过XAMPP),请提供有关如何设置防火墙的建议:D


1
您可能还会在serverfault.com(StackExchange)上请求安装和维护服务器和系统。
克里斯·哈珀

2
正确的答案可以填满书本。我建议将您的问题分为几个有关虚拟主机配置和安全性的问题。对与安全相关的问题的良好答案与对攻击者,用户以及其他知识的充分了解有关。
2011年

谢谢,如果可以找到任何好的答案,我将检查serverfault!:)
Niklas

Answers:


1

您需要告诉Apache,它应该使用基于名称的虚拟主机,而不是基于IP的主机。因此,将以下内容附加到您的/etc/apache2/apache2.conf中以进行定义:

NameVirtualHost ip.address:port

每个虚拟主机应定义一个端口:

<VirtualHost example.com:80>

0

我认为,如果您希望其他计算机能够连接,则也需要添加公用IP。现在,/ etc / hosts中仅提及您的环回。它们还应包括其他IP。


你确定吗?如果仅让域名服务器指向我的IP,然后让路由器将流量指向服务器,这还不够吗?我有DHCP,所以我正在使用DynDNS的服务将流量转发到我的IP。
Niklas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.