Введение
Хороший сервер администратор ищет новых уязвимостей. Когда вы запускаете сервер с портами открытым для общественности, вы должны зацикливаться на своей безопасности.
К сожалению, даже если вы держите вверх с всеми последними патчами безопасности для ваших приложений и операционной системы, ваш сервер может быть уязвимы для атак нулевого дня: нападения на неизвестных уязвимостей, которые не имеют каких-либо патчей. AppArmor является модуль ядра Linux, который выступает в качестве системы контроля доступа, которая защищает сервер от таких атак. Этот модуль был доступен на Ubuntu по умолчанию, с тех пор был выпущен Ubuntu 8.04.
Когда AppArmor активен для приложения, операционная система позволяет приложению доступ только те файлы и папки, которые упоминаются в его профиль безопасности. Таким образом, с хорошо спланированной безопасности профиля, даже если приложение находится под угрозой во время нападения, он не будет возможность сделать много вреда.
Этот учебник охватывает
В этом учебнике, мы создадим простой профиль безопасности AppArmor, который представляет собой текст, файл, содержащий подробности разрешения для Nginx, популярным HTTP–сервера.
Ради демонстрации как AppArmor работает, мы будем настраивать Nginx служить статических файлов из двух каталогов: /data/www/safe и /data/www/unsafe и настроить AppArmor ограничиться Nginx в/data/www/safe.
С этой установкой когда AppArmor неактивно, внешний пользователь будет иметь доступ к файлам из обоих каталогов. Когда AppArmor активен, пользователь сможет получить доступ только к файлам в /data/www/safe.
Необходимые условия
Вам понадобится следующее:
Сервер Ubuntu 14.04
Sudo пользователей
Шаг первый — Установить Nginx
Использование apt-get для обновления вашего сервера и установить Nginx:
sudo apt получить обновление
sudo apt-get установить nginx
Теперь работает ваш сервер Nginx. По умолчанию сервер будет работать на порту 80. Можно протестировать его в браузере, посетив ваши капли с IP-адресом URL: http:// <server-IP>: 80. Вы должны увидеть страницу приветствия по умолчанию Nginx.
Страница приветствия nginx
Шаг 2: Настройка Nginx служить статических файлов
Создайте каталоги, от которых будут обслуживаться статические файлы.
sudo mkdir -p /data/www/safe
sudo mkdir -p /data/www/unsafe
Добавьте файл в безопасное каталог, с помощью нано:
sudo нано /data/www/safe/index.html
Пусть файл имеет следующее содержимое:
<html>
<b>Привет! Разрешен доступ к этот файл.</b>
</html>
Аналогичным образом создайте другой файл в /data/www/unsafe, именем index.html, со следующим содержимым:
<html>
<b>Привет! НЕ допускается доступ к этот файл.</b>
</html>
Файл конфигурации nginx расположен в /etc/nginx/nginx.conf. Редактировать этот файл, чтобы создать новый сервер, который прослушивает порт 8080 и обслуживает файлы из /data/www. Игнорируя прокомментировал линии, после редактирования, ваш файл должен выглядеть файл, показано ниже. Вам нужно будет добавить хэш марка закомментировать включают /etc/nginx/sites-enabled / *; линия. Вам также нужно будет добавить блок всего сервера, отображаются в красном цвете ниже:
пользователя www-data;
одной 4;
PID /run/nginx.pid;
события {}
то 768;
}
http {
Метод SendFile
tcp_nopush
TCP_NODELAY
keepalive_timeout 65;
types_hash_max_size 2048;
включить /etc/nginx/mime.types;
default_type применение/октет потока;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip
gzip_disable «msie6»;
включить /etc/nginx/conf.d/*.conf;
сервер {}
прослушать 8080;
Местоположение / {}
корень/данные/www;
}
}
}
Сохраните изменения и загрузить новую конфигурацию, выполнив следующую команду:
sudo nginx -s перезагрузить
На данный момент, поскольку AppArmor не еще не была включена для Nginx, вы должны быть в состоянии посетить http://<server-IP>:8080/safe/index.html и http:// <server-IP>: 8080/unsafe/index.html. Безопасные страницы выглядит следующим образом:
Безопасные страницы
Теперь завершена конфигурации Nginx.
Третий этап — Проверка существующих профилей AppArmor
Ubuntu 14.04 поставляется с несколько AppArmor профилей предварительно загружены. Установите больше из них с помощью этой команды:
sudo apt-get установить apparmor профили
Список всех доступных профилей, выполнив эту команду:
sudo apparmor_status
Вы должны увидеть несколько профилей. Некоторые будут в соблюдение режима, а некоторые жалуются в режиме. Когда профиль приложения в жалуются на режим, AppArmor журналы деятельности приложения без ограничения каким-либо образом.
После того, как что-то для входа, вы найдете файлы журнала для сервера Nginx в каталоге /var/log/nginx.
AppArmor ограничивает то, что приложение может получить только тогда, когда ее профиль в соблюдение режима.
Вы также заметите, что профиль не для сервера Nginx. Мы создадим один на следующем шаге.
Шаг четвертый — Создание нового профиля AppArmor для Nginx
Установите apparmor-utils. Это набор утилит, которые помогут вам управлять AppArmor.
sudo apt-get установить apparmor-utils
Теперь вы готовы начать профилирование деятельности Nginx. Для создания новой пустой использовать команду aa-autodep
Leave a Reply