Я устанавливаю сервер Debian, который подключен напрямую к Интернету. Очевидно, я хочу сделать его максимально безопасным. Я хотел бы, чтобы вы, ребята, добавили ваши идеи, чтобы защитить их и какие программы вы используете для этого.
Я хочу, чтобы часть этого вопроса охватила то, что вы используете в качестве брандмауэра? Просто iptables настроен вручную или вы используете какое-то программное обеспечение, чтобы помочь вам? Какой лучший способ? Заблокировать все и разрешить только то, что нужно? Есть ли хорошие учебники для начинающих по этой теме?
Вы меняете свой порт SSH? Используете ли вы программное обеспечение, такое как Fail2Ban, для предотвращения атак грубой силы?
Ответы:
Обязательно:
В зависимости от уровня паранойи дополнительно:
integrit
для проверки, не были ли изменены некоторые части файловой системы [с контрольной суммой, хранящейся вне машины], например Tripwire/etc/passwd
добавления новых пользователей немного сложнее-m state --satete ESTABLISHED
заботитесь о разрешении потока пакетов, пока вы используете один сеанс SSH]Вещи, которые я не делаю сам, но имеет смысл:
источник
Просто заметка о брандмауэре вашей машины ...
amap
, иnmap
«s-A
вариант. Сказав это, вы можете (и, вероятно, должны, если беспокоитесь) изменить свои службы, чтобы скрыть себя от посторонних глаз, например, следующее позволит злоумышленнику узнать точную версию того,OpenSSH
что вы используете, затем он может искать эксплойты для эта точная версия. Если вы прячете такие вещи, вам будет труднее для них.Суть в том, что вам никогда не удастся сделать что-либо на 100% безопасным - это просто невозможно - поэтому цель состоит в том, чтобы сделать его максимально безопасным - если слишком много усилий сломать вашу систему, это достаточно хорошо, и большинство ламеров сценаристы перейдут на следующую систему.
iptables
это путь для любой системы Linux - но настройте его самостоятельно.Никогда не используйте никакое «программное обеспечение безопасности», которое не основано на открытых стандартах - они обречены быть плохо написанными и будут взломаны (не вопрос «если», а «когда»). Открытые исходные коды и открытые протоколы открыты для публичного изучения и становятся зрелым и надежным продуктом; Программное обеспечение с закрытым исходным кодом полагается, главным образом, на уверенность авторов в том, насколько великим / безопасным продуктом они считают - то есть, небольшое количество глаз против земли, полной глаз.
Надеюсь, это поможет :)
источник
использовать denyhosts (или аналогичный)
написать свой собственный скрипт iptbles (чтобы вы точно контролировали, что разрешать, и могли отбросить все остальное)
принудительное использование защищенных соединений SSL / TLS и наличие действительных, не просроченных и подписанных сертификатов
источник
Начало здесь:
http://www.debian.org/doc/manuals/securing-debian-howto/
источник
В качестве общей отправной точки я следую эталону / руководству Центра интернет-безопасности , которые представляют собой исчерпывающую подборку рекомендаций по безопасности. Не похоже, что их тест Debian был обновлен через некоторое время, но общий обзор шагов:
Существует множество ресурсов по всем этим различным настройкам, включая конкретные команды и файлы конфигурации для внедрения в систему в тестах CISecurity.
источник
Я бы предложил не подключать машину напрямую к Интернету. Поместите какой-нибудь брандмауэр между машиной и Интернетом. Это позволяет вам выполнять мониторинг безопасности и сети без дополнительной нагрузки на сервер. Лично я считаю, что сегментация сети и функций часто упрощает устранение неполадок в сети, хотя иногда дополнительная сложность усложняет анализ.
Самая безопасная, но самая раздражающая в управлении политика брандмауэра - запрещать все и явно разрешать только трафик, который вы должны разрешить. Это раздражает, потому что часто нужно обновлять политику брандмауэра по мере изменения сети.
Я также хотел бы предложить использовать какой-либо интерфейс межсетевого экрана на сервере - ключевую роль играет глубокая защита. Использование нестандартных портов для служб, связанных с администрированием, не повредит. fail2ban в порядке. Задайте более конкретные вопросы о приложениях безопасности на Serverfault, чтобы найти больше идей.
Безопасность - это как шутка о двух путешественниках и медведе - хотя нельзя достичь идеальной безопасности, полезно быть более сложной целью, чем другие парни.
источник
Некоторые люди указали на Руководство по безопасности Debian . Этого должно быть вполне достаточно для всего, кроме военных потребностей.
Многие думают, что быть смехотворно параноиком - это круто, профессионально или что-то в этом роде. Это не так , это просто раздражает других администраторов и прямо репрессивно для ваших пользователей. Большинство вещей, которые вы увидите рекомендуемыми, это просто фальшивая занятая работа, чтобы чувствовать себя полезной для параноидального администратора, но на самом деле не полезной, поскольку реальное нарушение безопасности, вероятно, вызвано недостаточно обновленной системой и / или из внутреннего источника.
Тем не менее, я считаю одним из своих принципов не доверять ничему в локальной сети больше, чем чему-либо из Интернета. Поэтому я настраиваю все, чтобы требовать аутентификацию даже в локальной сети. Я шифрую и аутентифицирую весь трафик между каждым компьютером с помощью IPsec.
Я нахожусь в процессе перехода на полное шифрование диска для всех моих серверов.
Я устанавливаю только те сервисы, которыми пользуюсь. У меня нет брандмауэра; Я настраиваю сервисы, которые мне требуются, для аутентификации или ограничиваю их (с помощью собственной конфигурации программы или TCP-упаковщиков) для определенных IP-адресов. Единственное, что мне когда-либо нужно было блокировать с помощью iptables, было
memcached
, так как он не имел файла конфигурации и не использовал TCP-оболочки.Я использую хорошие, случайно сгенерированные пароли для своих учетных записей и доверяю своему SSH-серверу (и всем другим службам), чтобы те, кто не знает пароль, были недоступны.
fail2ban
только для тех, у кого ограниченное пространство для файлов журналов, IMO. (У вас должно быть достаточно хороших паролей, чтобы доверять им.)источник
Пройдите этот хороший практический совет на www.debian.org/doc/manuals/securing-debian-howto/
Я лично изменяю порт ssh и использую fail2ban + denyhosts. И я блокирую все, что не нужно. Чем больше вы блокируете, тем меньше вам нужно беспокоиться.
источник