Повышение безопасности сервера Ubuntu 14.04

Повышение безопасности сервера Ubuntu 14.04

Укрепление - это процесс уменьшения уязвимостей и защиты системы от возможных точек атаки. Снижение уязвимостей включает удаление ненужных служб, имен пользователей и логинов, а также отключение ненужных портов. В этой статье мы покажем вам, как можно укрепить сервер Ubuntu.

Требования

Сервер Ubuntu 14.04 LTS с установленным Open SSH.

Начало работы: Обновите систему

После установки любой операционной системы необходимо поддерживать систему в актуальном состоянии. Это уменьшит количество известных уязвимостей в вашей системе.

Для Ubuntu 14.04 выполните следующее:

Включить автоматические обновления безопасности

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

Чтобы включить его, выполните следующую команду:

Это создаст файл "/etc/apt/apt.conf.d/20auto-upgrades", показанный ниже.

Создайте "теневого пользователя" с помощью sudo powers

Использование "теневого пользователя" вместо учетной записи root необходимо по соображениям безопасности. Вы можете создать пользователя, которого другим пользователям будет нелегко угадать. В этом руководстве мы будем использовать "maketech111" в качестве имени пользователя.

Чтобы создать пользователя, выполните следующую команду:

Чтобы предоставить пользователю доступ к sudo, выполните следующую команду:

Чтобы установить пароль, выполните следующую команду:

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

Чтобы удалить запрос пароля для sudo, отредактируйте файл sudoers.

Добавьте / отредактируйте, как описано ниже.

Сохраните файл и выйдите.

Отключить корневую учетную запись

Отключение учетной записи root необходимо по соображениям безопасности.

Чтобы отключить учетную запись root, используйте следующую команду:

Если вам нужно повторно включить учетную запись, выполните следующую команду:

Добавить раздел подкачки

Некоторые серверы Ubuntu не настроены с помощью МЕНЯТЬ. SWAP используется, когда объем общей физической памяти (RAM) заполнен.

Чтобы проверить наличие места для подкачки, выполните следующую команду:

Если файла SWAP нет, вы должны получить следующий результат.

Чтобы создать файл подкачки размером 4 ГБ, вам нужно будет использовать команду "dd".

Чтобы настроить файл SWAP, выполните следующую команду:

Чтобы активировать файл подкачки, запустите

Это будет выглядеть следующим образом:

Чтобы включить его постоянно, отредактируйте файл "/ etc / fstab".

Добавьте следующую строку:

Повышение производительности SWAP

Установите правильное значение обмен, чтобы повысить общую производительность системы.

Вы можете сделать это с помощью следующей команды:

Перезагрузите систему, чтобы проверить, правильно ли активирован SWAP.

Отключить IPv6

Рекомендуется отключить IPv6, поскольку он вызывает проблемы с медленным интернет-соединением.

Чтобы отключить IPv6, отредактируйте файл "/etc/sysctl.conf".

Отредактируйте, как описано ниже:

Чтобы перезагрузить конфигурацию, запустите

Отключить IRQBALANCE

IRQBALANCE используется для распределения аппаратных прерываний по нескольким ЦП для повышения производительности системы. Рекомендуется отключить IRQBALANCE, чтобы избежать аппаратных прерываний в ваших потоках.

Чтобы отключить IRQBALANCE, отредактируйте "/ etc / default / irqbalance"

и измените значение ENABLED на 0:

Исправить ошибку OpenSSL heartbleed

Heartbleed - серьезная уязвимость в OpenSSL. Это позволяет удаленному пользователю производить утечку памяти в блоках размером до 64 КБ. Затем хакеры могут получить закрытые ключи для расшифровки любых данных, таких как имя пользователя и пароли.

Ошибка Heartbleed была обнаружена в OpenSSL 1.0.1 и присутствует в следующих версиях:

  • 1.0.1
  • 1.0.1a
  • 1.0.1b
  • 1.0.1c
  • 1.0.1d
  • 1.0.1e
  • 1.0.1f

Чтобы проверить версию OpenSSL в вашей системе, выполните следующие команды:

Это выведет что-то вроде следующего:

Если дата старше "Пн, 7 апреля, 20:33:29 UTC 2014", а версия - "1.0.1", значит, ваша система уязвима для ошибки Heartbleed.

Чтобы исправить эту ошибку, обновите OpenSSL до последней версии и запустите

Теперь проверьте версию и запустите

Это выведет что-то вроде следующего:

Защитите консоль, общую память, / tmp и / var / tmp

Защитите консоль

По умолчанию в вашей системе включено множество терминалов. Вы можете разрешить только один терминал и отключить другие терминалы.

Чтобы разрешить только "tty1" и отключить другие терминалы, отредактируйте файл "/ etc / securetty".

Добавьте / отредактируйте следующие строки:

Чтобы защитить файл "/ etc / securetty", измените права доступа к файлу и выполните следующие команды:

Безопасная общая память

Любой пользователь может использовать разделяемую память для атаки на работающую службу, такую ​​как apache или httpd. По умолчанию общая память монтируется для чтения и записи с разрешением на выполнение.

Чтобы сделать его более безопасным, отредактируйте файл "/ etc / fstab".

Добавьте следующую строку:

Чтобы внести изменения без перезагрузки, вы можете запустить

Безопасные / tmp и / var / tmp

Временные каталоги, такие как / tmp, / var / tmp и / dev / shm, открывают злоумышленникам возможность предоставить место для запуска сценариев и вредоносных исполняемых файлов.

Безопасная папка / tmp

Создайте файл файловой системы размером 1 ГБ для раздела / tmp.

Создайте резервную копию текущей папки / tmp:

Смонтируйте новый раздел / tmp и установите правильные разрешения.

Скопируйте данные из резервной папки и удалите резервную папку.

Установите / tmp в fbtab.

Добавьте следующую строку:

Проверьте свою запись в fstab.

Безопасный / var / tmp:

Некоторое программное обеспечение использует эту папку как временную, поэтому мы также должны защитить ее.

Чтобы защитить / var / tmp, создайте символическую ссылку, которая указывает / var / tmp на / tmp.

Установите ограничения безопасности и отключите нежелательные службы

Установите ограничения безопасности

Чтобы защитить вашу систему от атак вилкой бомбы, вы должны установить лимит процесса для ваших пользователей.

Чтобы настроить это, отредактируйте файл "/etc/security/limits.conf",

и отредактируйте следующую строку:

Это предотвратит использование пользователями определенной группы максимум двадцати процессов и максимизирует количество процессов до ста для пользователя user1.

Отключите ненужные сервисы

Многие службы в Ubuntu занимают память и дисковое пространство, которые могут вам понадобиться. Отключение или удаление ненужных служб может улучшить общую производительность системы.

Чтобы узнать, какие службы запущены в данный момент, выполните следующую команду:

Вы можете отключить его, выполнив эту команду.

Исправить уязвимость Shellshock Bash:

Уязвимость Shellshock позволяет хакерам назначать переменные среды Bash и получать несанкционированный доступ к системе. Эту уязвимость очень легко использовать.

Чтобы проверить уязвимость системы, выполните следующую команду:

Если вы видите результат ниже, это означает, что ваша система уязвима.

Чтобы исправить эту уязвимость, выполните следующую команду:

Если вы снова запустите команду, вы увидите:

Заключение:

Здесь мы объяснили основные вещи, которые вы можете сделать, чтобы укрепить Ubuntu. Теперь вы должны иметь достаточное представление об основных методах обеспечения безопасности, которые вы можете реализовать на своем сервере Ubuntu. Надеюсь, этот пост будет вам полезен.

Справка: руководство по усилению защиты Ubuntu.

6 комментариев

  1. Не отключайте irqbalance
    потому что
    http://serverfault.com/questions/513807/is-there-still-a-use-for-irqbalance-on-modern-hardware

  2. Отличное написание. Спасибо


    Спасибо, Том.

  3. "Включение автоматических обновлений может быть очень важным для защиты вашего сервера"
    Поскольку обновления выполняются автоматически, вы не можете их контролировать. Плохое обновление может автоматически испортить вашу систему.

    "Добавить раздел SWAP"
    Как добавление раздела SWAP помогает повысить безопасность?

    Не следует ли использовать visudo для редактирования файла sudoers, а не nano?


    Привет, драконий пасть,

    visudo проверяет синтаксическую ошибку, чтобы убедиться, что вы ничего не испортили. если вы что-то напутали, sudo перестанет работать.
    nano - это простой текстовый редактор. он не проверяет синтаксические ошибки.
    поэтому, если вы являетесь опытным пользователем, вы можете использовать любой редактор, но если вы обычный пользователь, вам всегда следует использовать visudo.


    Привет, драконий пасть,

    Раздел подкачки увеличивает объем доступной памяти без увеличения объема оперативной памяти. Если ваша память полностью заполнена, любые дополнительные приложения будут запускаться из раздела подкачки, а не из памяти. Это улучшит производительность вашей системы.

Комментарии закрыты.