Как правильно настроить и защитить рабочий сервер LAMP?

8

Очень сложно найти исчерпывающую информацию по этому вопросу. Либо я нашел короткие учебники о том, как вы выполняете установку, так же просто, как «apt-get install apache2», или устаревшие учебники. Так что я надеялся, что смогу получить некоторую профессиональную информацию от моих коллег из сообщества Ubuntu: D

Я выполнил нормальный Ubuntu Server 11.04 с LAMP, SAMBA и SSH, установленными через установку системы. Но у меня возникают некоторые проблемы с настройкой виртуальных хостов и обеспечением достаточной безопасности системы, чтобы сервер был доступен в Интернете.

Я немного следовал этому уроку до сих пор.

У меня есть 3 сайта в / etc / apache2 / sites-available, которые выглядят так, за исключением разных имен сайтов:

<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
Правильный ответ на это могут заполнить книги. Я бы посоветовал разделить ваш вопрос на некоторые, касающиеся конфигурации виртуальных хостов и безопасности. Хороший ответ на вопросы, связанные с безопасностью, связан с хорошим знанием ваших злоумышленников, ваших пользователей и некоторых других.
qbi
Спасибо, я проверю ошибки сервера, если смогу найти хорошие ответы! :)
Никлас

Ответы:

1

Вы должны указать Apache, что он должен использовать виртуальный хостинг на основе имен вместо IP. Поэтому добавьте следующее в ваш /etc/apache2/apache2.conf для определения:

NameVirtualHost ip.address:port

И каждый виртуальный хост должен определять порт:

<VirtualHost example.com:80>

источник
0

Я думаю, что вам нужно добавить свои публичные IP-адреса, если вы хотите, чтобы другие компьютеры могли подключаться. Прямо сейчас только ваши петли упоминаются в / etc / hosts. Они также должны включать другие IP-адреса.

Джо-Эрленд Шинстад
источник
Ты уверен? Разве не было бы достаточно, если бы я просто заставил свой сервер доменных имен указывать на мой IP, а затем позволил бы маршрутизатору направить трафик на сервер? У меня есть DHCP, поэтому я использую сервис DynDNS для пересылки трафика на мой IP.
Никлас