В учебном проекте нужно было запустить сервер на Debian или CentOS с определёнными настройками с помощью виртуальной машины. Я выбрал Debian. В бонусной части нужно было установить базу данных, дополнительный сервис для сервера и запустить сайт на WordPress. Запрещено устанавливать графическую оболочку.
В этом документе я описал основные моменты из задания. Полное описание задания можно прочитать здесь: en.subject.pdf.
Использованные команды я записал в Notion. Каждый проект в Школе 21 мы защищаем перед другими студентами. Для защиты проекта я составил чек-лист. Туда я записал определения и команды, которые были нужны при защите проекта.
С помощью LVM мы должны создать зашифрованные разделы. Для бонусной части нужны следующие разделы: корневая папка, раздел подкачки, домашние директории пользователей, изменяемые файлы, системные сервисы, логи и другие временные файлы.
Сделать так, чтобы можно было подключиться через порт 4242 и нельзя было подключаться через root.
В правилах UFW должны быть открыты только порт 4242 и порты, которые нужны для выполнения бонусной части. Он должен работать с запуском виртуальной машины.
Именем хоста должен быть логин учащегося с окончанием 42. В моём случае — это llawrenc42. Нужно знать, как изменить имя хоста при защите.
Создать пользователя с логином учащегося.
Пользователя нужно добавить в группу «user42» и «sudo».
- Пароль должен меняться каждые 30 дней.
- Новый пароль можно поставить только через 2 дня.
- Пользователю отправляется напоминание об изменении пароля за 7 дней до истечения срока.
- Пароль должен состоять из 10 символов.
- Он должен содержать букву верхнего регистра и цифру.
- Он не должен содержать более 3 повторяющихся символов.
- В пароле не должно быть имени пользователя.
- Пароль должен содержать не менее 7 символов, которые не являются частью прежнего пароля. Это правило не применяется для root.
- Запрос sudo ограничен 3 попытками при вводе неправильного пароля.
- Должно выводиться сообщение об ошибке, при неправильном вводе пароля.
- Каждое использование sudo должно логироваться в файле. Должны сохраняться вводимые и выводимые данные. Файл с логом должен сохраняться в
/var/log/sudo/
. - Режим TTY включен.
- Пути использования sudo ограничены. Например:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
.
При запуске системы, скрипт monitoring.sh должен каждые 10 минут отображать информацию о системе. Для установки расписания используется cron.
Скрипт должен выводить:
- Архитектуру операционной системы и версию её ядра.
- Количество физических процессоров.
- Количество виртуальных процессоров.
- Количество доступной оперативной памяти и её использования в процентах.
- Количество доступной памяти и её использование в процентах.
- Использование процессора в процентах.
- Дата и время последнего запуска.
- Используется ли LVM или нет.
- Количество активных соединений.
- Количество пользователей, использующий сервер.
- IPv4 и MAC адрес.
- Количество команд с sudo.
Установить сайт на WordPress с lighttpd, MariaDB и PHP.
Установить дополнительный сервис на выбор. NGINX и Apache2 запрещены.