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