Ответы:
Я не могу думать ни о каких специфических настройках Ubuntu, но вот некоторые из них, которые применимы ко всем дистрибутивам:
Конечно, этот список не полный, и вы никогда не будете в полной безопасности, но он охватывает все подвиги, которые я видел в реальной жизни.
Кроме того, эксплойты, которые я видел, почти всегда были связаны с небезопасным пользовательским кодом, а не с небезопасной конфигурацией. Конфигурации по умолчанию в минимальных серверных дистрибутивах, как правило, довольно безопасны.
Одна из первых вещей, которые я делаю на ранних этапах, - это установка DenyHosts . Он будет регулярно просматривать / var / log / secure, искать неудачные входы в систему и после нескольких сбоев блокировать IP. Я установил блокировку после первого отсутствия такого пользователя, со второй попытки рута и после пары попыток для реальных пользователей (на случай, если у вас не получится, но вы должны использовать открытый ключ SSH для входа в систему).
Ubuntu основана на Debian, и я обнаружил, что Руководство по безопасности Debian очень полезно в дистрибутивах на основе Debian, чтобы полностью провести вас по вашей системе и проверить каждую часть. По сути, это действительно очень всеобъемлющий ответ на ваш вопрос.
Я обычно устанавливаю RKHunter, который сканирует руткиты и проверяет целостность различных важных двоичных файлов системы. Он находится в стандартном репо и будет запускаться ежедневно из cron. Это не идеально, с точки зрения безопасности, но это элемент с минимальными усилиями, который нужно добавить, и он обеспечивает определенную степень защиты.
Установите logcheck, но настройте его так, чтобы вы никогда не получали сообщений от обычных событий, иначе вы привыкнете игнорировать электронные письма.
Проверьте, какие процессы прослушивают, используя netstat, и убедитесь, что ничего не запущено и не требует запуска. Многие демоны могут быть настроены только на прослушивание внутреннего IP (или локального хоста) вместо всех интерфейсов.
Делай, что может предложить ...
Nmap хост и отключить все несущественные услуги. При необходимости используйте iptables.
Используйте отдельные разделы для различных каталогов, таких как /tmp
или, /var
и смонтируйте их nosuid
, nodev
и, noexec
если возможно.
Научитесь использовать брандмауэр и концепции правильной блокировки коробки. Изменение портов по умолчанию в значительной степени бесполезно; правильная настройка приложения и брандмауэра гораздо важнее.
Оба находятся в репозиториях Ubuntu:
имеет потрясающую документацию и очень простой в освоении синтаксис. Мне удалось настроить шлюз / брандмауэр за двадцать минут. Единственная причина, по которой я отошел от этого, заключается в том, что он не поддерживается (последний выпуск 2 года назад). Это не значит, что это не работает, но ...
это еще один. Более похожий на iptables синтаксис, но та же концепция. Больше сообщества поддерживается чем FireHOL, но занимает больше времени, чтобы забрать.
это то, что я сейчас использую. Его документация обширна, и его формат конфигурации является табличным. Мне потребовалось около полутора часов, чтобы понять все файлы, необходимые (6) для запуска работающей конфигурации брандмауэра / шлюза. Это довольно мощный. СОВЕТ: Справочные страницы для различных конфигурационных файлов ДЕЙСТВИТЕЛЬНО полезны!
Все они загружают конфигурации брандмауэра из файла конфигурации. Очень эффективно, проще в использовании, чем iptables, и (на мой взгляд) проще в использовании и управлении, чем ufw.
Я второй рекомендации для использования ключа SSH.
Установите IDS.
Узнайте о AppArmor. Он ограничивает доступ к файлам исполняемых файлов только указанными каталогами и файлами, которые ему нужны. Подобно SELinux в мире RHEL. Он установлен и включен с предварительно настроенными «профилями» для многих хорошо используемых программ.
Помимо других предложений здесь я упомяну три очевидных, но, возможно, заслуживающих упоминания для полноты: