1 Изучение работы утилит df, du, free, iostat, mpstat, vmstat, w, htop.
df - утилита, которая показывает список всех файловых систем по именам устройств, сообщает их размер, занятое и свободное пространство и точки монтирования.


du - команда, отображает использование диска. Этот инструмент может отображать использование диска для отдельных каталогов в Linux, давая более детальное представление об использовании вашего диска.

free - команда, которая позволяет ознакомиться с информацией об использовании как физической памяти RAM, так и памяти из раздела или файла подкачки подкачки (SWAP), расположенного на жестком диске или накопителе


iostat – утилита, предназначенная для мониторинга использования дисковых разделов. Она сообщает об использовании ЦП и статистику ввода/вывода дисков, а также собирает данные из файловой системы ргос, выдавая по одной строке для каждого физического устройства.




mpstat - утилита, которая позволяет посмотреть подробную статистику по использованию процессора. Можно посмотреть не только информацию по каждому из ядер, но и куда используются ресурсы - на ввод/вывод, ядро или программы пространства пользователя.


vmstat - утилита, которая сообщает информацию о процессах, памяти, виртуальной памяти, вводе-выводе, дисках и активности процессора.

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

htop - команда, которая показывает информацию о процессах в реальном времени, выводят данные о потреблении системных ресурсов и позволяют искать, останавливать и управлять процессами.


2 Установка и настройка сервера SSH в Linux
Установка ssh и проверка его работы:



3 Установка и настройка SSH-authorized_keys
На другой машине я сгенерировал пару ключей и загрузил открытый ключ на сервер. После этого отключил аундефикацию по паролю и спокойно подключился при помощи ключа.




4 Сбор информации о Linux и WGET
cat /etc/release - показывает информация о дистрибутиве и какая у него версия
uname — утилита командной строки, которая печатает основную информацию об имени операционной системы и системном оборудовании
uptime — утилита, показывающая текущее время, время работы после загрузки, количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут.
ls -la /home выводит подробный листинг директории /home, включая скрытые файлы

chmod o-rx <путь> - запрещает остальным пользователям чтение и выполнение файла
ip neigh - показывает с какими компьютерами происходит обмен данными

sudo ss -tlnp - показывает какие сервисы и с какими портами запущены
sudo -l - выводит список доступных команд для удалённых пользователей

Lynis — это инструмент для аудита безопасности в Unix и Linux ОС. Он выполняет глубокие проверки безопасности. Он работает на самом хосте, поэтому он выполняет более обширные проверки безопасности, чем сканеры уязвимостей.
Для начала скачаю его:



И запущу его командой:
sudo ./lynis audit system





Dpkg - основная программа управления пакетами в Debian linux. Она используется для установки, сборки, удаления и управления пакетами.
dpkg -l - список установленных пакетов

dpkg -L coreutils - список всех штатных утилит

Также существует утилита /bin/dir , которая позволяет работать как с ls

Поменяю /dir/dir на /dir/false, сымитируя подмену кода программы. Тогда при запуске dir ничего не будет происходить, кроме как если посмотреть логическую ложь, то будет ошибка

Чтобы быстро проверить этот пакет, воспользуюсь debsums - программой для нахождения изменённых администратором файлов установленных в системе пакетов или повреждённых файлов.


(флаг -a проверяет все файлы, -c выводит список измененных файлов, -s выводит только ошибки)
Также можно проверить утилитой:
dpkg --verify coreutils

Если кто-то смог проникнуть в систему и что-то деал в ней нам поможет команда find
Например, если нам надо рассмотреть какой либо инцидент:
sudo find / -printf "%T@;%Tc;%p\\n"
где:
-prinf - то где мы будем искать
%T@ - время ввиде числа
%Tc - время человека читаемое
%p\\n - путь до файла


5 Переменные окружения в Linux .bashrc, .bash_profile и .bash_login
Чтобы посмотреть список всех переменных окружения, в утилите coreutils есть команда printenv

Можно самостоятельно изменить опцию любого параметра с помощью команды:
env <переменная>=<значение>
Так, я присвоил HOME значение /home/igor

Также можно содвать и удалять локальные переменные окружения:
<переменная>=<значение> - для создания
unset <переменная> - для удаления

Пользовательскую конфигурацию можно редактировать через:
sudo nano .bashrc.
Там можно посмотреть вес переменные, которые там хранятся, а также создать свои

Обновление конфигурации произойдет после повторного старта файла, а делается это через:
source .bashrc.

В теории сказано , что удаление параметров происходит примерно также (надо удалить строку или закоментировать ее и перезапустить файл), но у меня полчилось удалить этот параметр только с помощью команды unset
Также можно создавать и удалять системные переменные, которые находятся в файле /etc/profile

достаточно вписать туда
<переменная>=<значение>
и после применить команду source к файлу.
