Linux_basics
Linux_basics
Аннотация: данный проект позволит тебе познакомиться с операционной системой Linux и принципами обеспечения ее безопасности. Кроме того, ты подготовишь для себя инструменты, которые точно пригодятся в будущей профессии.
Задание 1. Создание скрипта сбора информации о дистрибутиве
Твоя задача: написать bash-скрипт с названием , который при запуске от root будет собирать следующую информацию о системе:
- Установленные пакеты.
- Запущенные процессы.
- Открытые порты.
- Устанавливать с помощью пакетного менеджера пакеты «cowsay» и «sl» (в 2010-х эти пакеты были «мемными» среди сисадминов и хакеров).
- Версию ядра и операционной системы.
- Записывать вышеописанную информацию в файл
и сжимать его в архивinfo.OS_RESULT.tar
В результате выполнения этого задания у тебя должны быть:
- архив
с файломOS_RESULT.tarвнутри;info - bash-скрипт, в котором содержатся необходимые для выполнения вышеописанных пунктов команды и bash-конструкции. Он поможет тебе и в работе, когда нужно будет работать с новым Linux-устройством — так ты сможешь быстро получить всю основную информацию о том, что происходит в системе с сетью, процессами и пакетами.
Задание 2. Создание скрипта настройки Linux
Твоя задача: создать bash-скрипт, в котором будут создаваться пользователи и группы, но с одним условием: их права должны быть ограничены их функциональными задачами.
- Создай пользователя user и группу default_users с правами по умолчанию.
- Создай пользователей secret_agent, secret_spy, secret_boss, все они должны быть в группе secret_users.
- Пользователи группы secret_users должны иметь возможность получать доступ к домашним директориям друг друга. Остальные — нет.
- Сделай директорию /var доступной любым пользователям и любым группам.
- Установи пакет apache2 и проверь состояние linux-сервиса apache2 после установки.
- Пользователи группы default_users должны иметь возможность вводить все команды от sudo без ввода пароля.
В результате выполнения этой задачи у тебя должен быть скрипт с расширением .sh (название скрипта — любое).
Задание 3. Настройка мониторинга Linux
Твоя задача: настроить автоматическую отправку логов за предыдущий день с помощью logwatch, postfix и crontab на свою почту: gmail/yandex/mail каждые сутки в 00:00. Детализация логов должна быть максимальной.
В результате выполнения задачи ты будешь получать на почту каждые сутки отчет о состоянии своей системы. В репозиторий необходимо загрузить:
- конфигурационный файл
;postfix main.cf - файл
, содержащий строку конфигурации планировщика (например, «12 40 * * * ...»).cron.txt
Задание 4. Защита операционной системы встроенными инструментами
Твоя задача:
- Настрой подключение к своему Linux по SSH с использованием приватного и публичного ключей, а не пароля.
- Запрети подключаться к своему устройству по порту 80/tcp извне.
В качестве ответа загрузи в репозиторий:
- файл конфигурации
своей виртуальной машины, к которой нужно подключаться;sshd_config - файл
;authorized_keys - файл
, в котором содержится вывод одной цепочки iptables правил на устройстве (цепочка должна быть та, куда было записано правило).iptables.txt