Обеспечение Линукс веб-сервер для общего доступа

голоса
19

Я хотел бы создать дешевую коробку Linux в качестве веб-сервера для размещения различных веб-технологий (PHP и Java EE приходят на ум, но я хотел бы, чтобы экспериментировать с Ruby, Python или в будущем, а).

Я довольно сведущ в настройке Tomcat для запуска на Linux для обслуживания приложений на Java EE, но я хотел бы иметь возможность открыть этот сервер, даже просто так я могу создать некоторые инструменты, которые я могу использовать в то время как я работаю в офис. Весь опыт я имел с настройкой сайтов Java EE все было для интранет-приложений, где нам сказали, не сосредоточиться на обеспечении безопасности страниц для внешних пользователей.

Что вы посоветуете по настройке персональный веб-сервер Linux в достаточно безопасный способ, чтобы открыть ее для внешнего трафика?

Задан 07/08/2008 в 19:10
источник пользователем
На других языках...                            


12 ответов

голоса
5

Это важно следовать рекомендации по обеспечению безопасности, где это возможно, но вы не хотите, чтобы сделать вещи чрезмерно сложными для себя или потерять сон беспокоиться о ноге с последними подвигами. По моему опыту, есть два ключевых момента, которые могут помочь сохранить ваш персональный сервер достаточно безопасно, чтобы бросить в Интернете, сохраняя ваше здравомыслие:

1) Безопасность через неизвестность

Излишне говорить, опираясь на это в «реальном мире» это плохая идея, а не развлекаться. Но это потому, что в реальном мире, злодеи знают, что там и что там бабло следует.

На личном сервере, большинство «атак» вы будете страдать просто будет автоматизированы зачистки от машин, которые уже были скомпрометированы, ищем установки продуктов, известные быть уязвимыми по умолчанию. Если ваш сервер не предлагает что-нибудь соблазнительное на порты по умолчанию или в местах, по умолчанию, автоматизированный злоумышленник будет двигаться дальше. Поэтому, если вы собираетесь запускать сервер SSH, наложив на нестандартном порту (> 1024), и это, вероятно, никогда не будет найден. Если вы можете уйти с этой техникой для вашего веб-сервера, то большим, смещаться, что неясного порт тоже.

2) Управление пакетами

Не скомпилировать и установить Apache или SSHd от источника себя , если вы абсолютно не должны. Если вы делаете, вы берете на себя ответственность за сохранение уточненного с последними обновлениями безопасности. Пусть хороший пакет Сопровождающие из дистрибутивов Linux , такие как Debian или Ubuntu сделать работу для вас. Установка из скомпилированных пакетов дистрибутива, и оставаться в курсе становится вопросом выдачи случайных APT-получить обновления && apt-получить -u Dist-Upgrade команды, или используя любые фантазии инструментов GUI Ubuntu предоставляет.

Ответил 12/08/2008 в 21:33
источник пользователем

голоса
5

Эта статья имеет некоторые из лучших способов для блокировки вещи вниз:

http://www.petefreitag.com/item/505.cfm

Некоторые основные моменты:

  • Убедитесь, что никто не может просматривать каталоги
  • Убедитесь, что только корень имеет привилегию писать всем, а только корень чтение привилегии для определенных конфигурационных файлов
  • Запуск mod_security

В статье также принимает некоторые указатели из этой книги:

Apache Securiy (O'Reilly Press)

Насколько дистрибутивы, я запустить Debain и Ubuntu, но это зависит только от того, сколько вы хотите сделать. Я побежал в Debian, не X и просто ssh'd в него всякий раз, когда я что-нибудь понадобится. Это простой способ держать над головой вниз. Или Ubuntu имеет некоторые хорошие GUI вещи, которые позволяют легко управлять Apache / MySQL / PHP.

Ответил 07/08/2008 в 19:26
источник пользователем

голоса
2

@svrist упоминается EC2. ЕС2 обеспечивает API для открытия и закрытия портов удалены. Таким образом, вы можете держать ваш ход коробки. Если вам необходимо предоставить демо из кафе или офиса клиента, вы можете захватить ваш IP и добавить его в ACL.

Ответил 23/08/2008 в 23:37
источник пользователем

голоса
2

Bit-Tech.Net провел несколько статей о том, как настроить домашний сервер с помощью Linux. Вот ссылки:

Статья 1
Статья 2

Надеюсь, что те некоторую помощь.

Ответил 15/08/2008 в 23:48
источник пользователем

голоса
2

Одна вещь, вы должны быть уверены, чтобы рассмотреть, какие порты открыты для мира. Я лично просто открыть порт 22 для SSH и порт 123 для NTPD. Но если открыть порт 80 (HTTP) или FTP убедитесь, что вы узнаете, чтобы узнать, по крайней мере, что вы служите миру, и кто может делать с этим. Я не знаю много о FTP, но есть миллионы замечательных учебников Apache просто поиск Google прочь.

Ответил 12/08/2008 в 20:52
источник пользователем

голоса
1

Если вы собираетесь сделать это, потратить немного денег, и по крайней мере купить выделенный маршрутизатор / брандмауэр с отдельным портом DMZ. Вы хотите, чтобы брандмауэр от внутренней сети с сервера, так что, когда (если не!) Ваш веб-сервер скомпрометирован, внутренняя сеть не сразу уязвима, а также.

Ответил 15/08/2008 в 23:33
источник пользователем

голоса
1

Если вы запустите сервер Linux из дома, установить OSSEC на ней симпатичную облегченных IDS , которая работает очень хорошо.

[РЕДАКТИРОВАТЬ]

В качестве примечания, убедитесь , что вы не прервала допустимого использования вашего поставщика услуг Интернета и что они позволяют входящие соединения на стандартных портах. ISP я использовал для работы было написано в их терминах , которые вы могли бы быть отключены для запуска серверов через порт 80/25 , если вы не были на бизнес-класса счета. Несмотря на то , что мы не активно блокируют эти порты (мы не волновало , если оно не вызывает проблемы) некоторые провайдеры не позволяют трафик через порт 80 или 25 , так что вы должны будете использовать альтернативные порты.

Ответил 07/08/2008 в 22:08
источник пользователем

голоса
1

Вы могли бы рассмотреть экземпляр EC2 от Amazon . Таким образом , вы можете легко проверить «материал» не баловаться с производством. И платить только за пространство, время и пропускную способность вы используете.

Ответил 07/08/2008 в 19:55
источник пользователем

голоса
1

Будьте осторожны об открытии порта SSH к дикой природе. Если вы это сделаете, убедитесь , запретить вход (вы всегда можете suили sudoкак только вы получите в) и рассмотрим более агрессивные методы аутентификации в разумных пределах. Я видел огромный словарную атаку в моих журналах сервера один уик - энд будет после моего SSH сервера с домашнего сервера IP DynDNS.

Это, как говорится, это действительно удивительное, чтобы быть в состоянии добраться до дома оболочки от работы или далеко ... и добавление на то, что вы можете использовать SFTP через один порт, я не мог себе представить жизнь без него. знак равно

Ответил 07/08/2008 в 19:26
источник пользователем

голоса
1

Его безопасно и надежно, если вы потише об этом (то есть, редко кто-то будет приходить после того, как ваш домашний сервер, если вы только хостинг прославленный WebRoot на домашней связи) и ваше остроумие до о конфигурации (т.е. не использовать корень для всего, убедитесь, что вы держите ваше программное обеспечение в актуальном состоянии).

На этой ноте, хотя этот поток будет потенциально сокращаться вниз только пламенным, мое предложение для вашего личного сервера придерживаться либо Ubuntu ( получить Ubuntu Server здесь ); по моему опыту, самые быстрые , чтобы получить ответы от откуда задавать вопросы на форумах (не зная , что сказать о поглощении , хотя).

Мой домашний сервер безопасности BTW своего рода преимущества (я думаю, или мне нравится думать) от не имеющих статический IP (работает на DynDNS).

Удачи!

/ тр

Ответил 07/08/2008 в 19:18
источник пользователем

голоса
0

Ничего себе, вы открываете банку с червями, как только вы начинаете открывать что-либо до внешнего трафика. Имейте в виду, что вы считаете, экспериментальный сервер, почти как жертвенного агнца, также легко поживу для тех, кто хочет, чтобы делать плохие вещи с вашей сетью и ресурсами.

Весь ваш подход к внешне доступному серверу должен быть очень консервативным и тщательно. Она начинается с простыми вещами, как политики брандмауэра, включает в себя основной ОС (сохраняя его заплату, настраивая его для безопасности и т.д.) и включает в себя каждый слой каждого стека вы будете использовать. Существует не простой ответ или рецепт, я боюсь.

Если вы хотите поэкспериментировать, вы будете делать гораздо лучше держать сервер приватным и использовать VPN, если вам нужно работать над ним удаленно.

Ответил 07/08/2008 в 19:18
источник пользователем

голоса
0

Есть много способов сделать это , что будет работать нормально. Я обычно этого нужно просто использовать файл .htaccess. Быстро настроить и обеспечить достаточно . Возможно , не самый лучший вариант , но это работает для меня. Я бы не ставил свои номера кредитных карт за ней , но кроме того , что я действительно не забочусь.

Ответил 07/08/2008 в 19:12
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more