Как должен быть защищен сервер? [закрыто]

22

Говоря о Ubuntu 10.04, выпуск сервера, какие инструменты / методы вы бы порекомендовали для защиты сервера?

Грант Пэйлин
источник

Ответы:

25

Это немного неспецифично, но в целом вам нужно будет

  • Запустите брандмауэр, например, iptables или ufw, чтобы управлять подключением к открытым портам.

  • Устанавливайте только те программы, которые вам нужны.

  • Запускайте только те службы, которые необходимы для работы сервера.

  • Держите это программное обеспечение в курсе всех обновлений безопасности.

  • Настройте новых пользователей с наименьшими привилегиями, которые им требуются для выполнения их обязанностей.

  • Запустите denyhosts или fail2ban, чтобы проверить атаки грубой силы.

  • Запустите logwatch, чтобы отправить вам по электронной почте любые аномалии в файлах журнала.

  • Проверяйте свои журналы часто на предмет подозрительных действий.

  • Всегда используйте sudo и используйте надежные пароли.

  • Отключите слабые и средние шифры в SSL для apache, exim, proftpd, dovecot и т. Д.

  • Установите службы для прослушивания только localhost (где это уместно).

  • Запускать чкрооткит ежедневно.

  • Запуск clamscan так часто , как требуется , чтобы проверить на наличие вирусов окна (при необходимости).

  • Будьте бдительны, знайте свой сервер, знайте, что он должен делать и чего он не должен делать.

Вы будете только держать вещи в безопасности, постоянно проверяя и обеспечивая. Если вы не знаете, что что-то делает, как или почему, или что-то выглядит подозрительно, просто попросите совета у других.

Ричард Холлоуэй
источник
9

Потрясающий ответ Ричарда Холлоуэя. Если вы ищете конкретное пошаговое руководство, оформите следующее руководство из 2 частей из библиотеки Slicehost.

  1. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-1
  2. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-2

Я использую его почти везде, когда мне нужно настроить экземпляр Ubuntu Server. Я уверен, что вам понравится.

Другой замечательный источник - библиотека Линоде по адресу http://library.linode.com/.

Проверьте статьи в обоих местах. Там доступно множество информации, и вы будете вооружены достаточными знаниями, чтобы отлично справляться с вашим сервером.

PS: Библиотека ни в коем случае не может заменить интуицию, понимание и принятие решений великого системного администратора.

Мир Назим
источник
Всегда рад любой помощи
Мир Назим
«Потрясающий ответ Ричарда Холлоуэя ...» - спасибо, мужик. Я вижу, мы станем хорошими друзьями.
Ричард Холлоуэй
2

Что-то, что я не вижу упомянутым, является "использовать 64 бита". Это гарантирует, что у вас есть защита памяти NX, между прочим.

Кис Кук
источник
И вы также получаете локальные root-эксплойты, если используете 32-битный режим совместимости.
1
Только если вы не в курсе обновлений безопасности ядра. :)
Kees Cook
1

Я рекомендую три вещи:

  • Смонтируйте все глобально доступные для записи области (/ tmp, / var / tmp) как «noexec»: по большей части это безопасно без излишеств, за исключением (на момент написания), если вы не решите обновить свою систему. Смотрите ошибку # 572723 на Launchpad для более подробной информации.

  • Не устанавливайте компиляторы или ассемблеры без крайней необходимости: я думаю, что это само за себя.

  • Начните работу с AppArmor: AppArmor можно рассматривать как альтернативу SELinux и является отличной возможностью Ubuntu для запуска приложений, работающих в песочнице, чтобы гарантировать, что у них больше нет доступа, чем им нужно. Я рекомендую просмотреть руководство на форумах, если вы заинтересованы. http://ubuntuforums.org/showthread.php?t=1008906

ibuclaw
источник
1
  • Установите и настройте iptables с соответствующим набором правил для вашей среды. Фильтрация как входящего, так и исходящего трафика.
  • PSAD для обнаружения и оповещения о любых сканированиях портов в вашей системе.
  • использование fail2ban для предотвращения попыток входа в систему методом грубой силы против SSH.
  • Запретите удаленный доступ с использованием учетной записи root, так как это, помимо прочего, означает, что если злоумышленник попытается осуществить принудительный доступ к вашему серверу, он должен обработать как имя пользователя, так и пароль.
  • Используйте надежные пароли для всех учетных записей пользователей.
  • Ограничьте доступ по SSH, если это возможно, только с определенных IP-адресов.
  • Используйте Tripwire другой хост-системы обнаружения вторжений.
  • Контролируйте сервер с помощью программы мониторинга сети, такой как nagios.
Марк Дэвидсон
источник
0

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

Руководство по iptables: https://help.ubuntu.com/community/IptablesHowTo

Надеюсь это поможет!

ps Если вам нужна дополнительная помощь, подключитесь к irc и перейдите на канал # ubuntu-server на freenode.


источник