Похожий на этот вопрос Что нужно знать системному администратору, который привык к частным ситуациям типа интрасети, прежде чем стать администратором общедоступного сайта?
Это могут быть вещи, связанные с безопасностью, например "не уходи, уходи" telnet
open "или практические вещи, например, как выполнить балансировку нагрузки для сайта с высоким трафиком.
Каждое приложение, каждый двоичный файл, каждый пакет, существующий на сервере, - это ответственность. Придерживайтесь принципа «наименьшего бит»; если он не установлен, его нельзя скомпрометировать.
Реализуйте обнаружение вторжений, например Tripwire или подобное, и часто сканируйте.
Купите аппаратный брандмауэр и открывайте только те порты, которые вам нужны для вашего приложения. Не позволяйте своим портам администрирования (ssh, rdp и т. Д.) Быть общедоступными; ограничить их утвержденными IP-адресами управления.
Имейте резервные копии конфигурации вашего брандмауэра / коммутатора / маршрутизатора на момент запуска в производство. Если одно из этих устройств скомпрометировано, гораздо быстрее восстановиться, очистив мозг устройства и перезагрузив конфигурацию, чем выполнять построчный аудит конфигурации, когда часы тикают.
Часто используйте nmap для вашей среды извне, чтобы не открывать новые порты.
Никогда не доверяйте Интернету; убедитесь, что все, что вы обслуживаете в сети, является безопасным, насколько это возможно (например, выполните проверку и дезинфекцию ввода на стороне сервера, чтобы остановить атаки SQL-инъекций).
Следите за внесением исправлений.
Если вы скомпрометированы, выполните восстановление с нуля, используя только что загруженный носитель. Вы больше не можете быть уверены, что ваши резервные копии безопасны и не были скомпрометированы (хотя tripwire может в этом помочь) для чего-либо, кроме инертных, неисполняемых данных.
Один инструмент, который мне пригодился для усиления защиты сети, - это несус
Обычно вы настраиваете его на внешнем сервере, и он пытается атака ваша сеть с множеством известных эксплойтов. Вы можете установить его в безопасный режим (где ни одна из атак не приведет к сбою вашего сервера), или, если вы уверены, что у вас все исправлено, или можете позволить себе перезагрузить свои серверы при необходимости, для небезопасно Режим.
Тогда это обеспечит очень полный оцененный отчет для каждой машины он может видеть, какие уязвимости / слабые места он находит, и оценивать их по степени серьезности - и даже рекомендовать действия, которые необходимо предпринять для устранения проблем.
Они должны знать, как работает их система резервного копирования и аварийного восстановления и как они будут восстанавливать систему, когда / если она будет взломана.
Это немного противоречит, но с точки зрения безопасности я не различаю внутренний сервер и внешний сервер. Рано или поздно кто-то допустит ошибку в брандмауэре, руководство будет настаивать на том, чтобы сервер был открыт из-за важного клиента, Бетти в бухгалтерии каким-то образом получит VPN-клиент на своем зараженном домашнем компьютере и т. Д.
Тем не менее, слои - ваш друг, и по умолчанию вы должны занести их в черный список.
Слои - у вас должно быть несколько уровней безопасности. Например, аппаратный брандмауэр и программный брандмауэр. Теоретически они служат той же цели, но наличие нескольких уровней защищает от ошибок и смягчает последствия использования одного уровня.
Другой аспект многоуровневого разделения - это «домашнее причесывание», которое, по сути, представляет собой несколько DMZ. В какой-то момент у вас должен быть определенный уровень доверия между вашими машинами и людьми, имеющими доступ к вашим учетным записям. Если вы можете сузить эти точки взаимодействия, вы сможете жестко контролировать тип трафика, которому доверяете, в любой момент. Например, если вы отделите серверы интерфейса / приложений от серверов баз данных, вы сузите уровень доверия. Если ваши серверы приложений будут скомпрометированы, эти злоумышленники получат минимальную точку опоры для вашей инфраструктуры (то есть, чтобы продолжить свою атаку и попытаться использовать ваши другие серверы, у них есть только те установленные точки доверия, которые можно использовать).
Что касается внесения в черный список по умолчанию, вы должны в основном закрыть все и требовать (даже если это касается только себя) обоснования для каждого порта, который вы открываете, имени пользователя, которому вы разрешаете доступ, приложения, которое вы устанавливаете и т. Д.
В системах с ЛЮБЫМИ общедоступными интерфейсами убедитесь, что у ваших пользователей есть безопасные пароли путем реализации безопасная политика паролейи проверив файл паролей с помощью утилиты для взлома паролей, например Джон Потрошитель
Вы можете дополнительно защититься от атак методом подбора пароля с помощью блокировка IP-адресов после нескольких неудачных попыток. Хороший инструмент для этого (в Linux) - fail2ban
Ваш коммутатор может быть взломан, и кто-то может изменить данные. Если у вас нет коммутатора, настройте VPN, поскольку ограничения доступа брандмауэра для каждого IP-адреса может быть недостаточно.
Не оставляйте открытыми никакие порты, кроме тех, к которым вы хотите получить доступ пользователей и хакеров. Проверяйте свои серверы с других сайтов каждый месяц.
Не оставляйте порт ssh по умолчанию открытым для хакеров.