1 Изучение работы утилит df, du, free, iostat, mpstat, vmstat, w, htop. df - утилита, которая показывает список всех файловых систем по именам устройств, сообщает их размер, занятое и свободное пространство и точки монтирования. ![](https://i.imgur.com/iEDr7RK.png) ![](https://i.imgur.com/XJxkCTD.png) du - команда, отображает использование диска. Этот инструмент может отображать использование диска для отдельных каталогов в Linux, давая более детальное представление об использовании вашего диска. ![](https://i.imgur.com/izDtdjy.png) free - команда, которая позволяет ознакомиться с информацией об использовании как физической памяти RAM, так и памяти из раздела или файла подкачки подкачки (SWAP), расположенного на жестком диске или накопителе ![](https://i.imgur.com/Lxdj7VD.png) ![](https://i.imgur.com/FK7oasD.png) iostat – утилита, предназначенная для мониторинга использования дисковых разделов. Она сообщает об использовании ЦП и статистику ввода/вывода дисков, а также собирает данные из файловой системы ргос, выдавая по одной строке для каждого физического устройства. ![](https://i.imgur.com/GKcmCKm.png) ![](https://i.imgur.com/nUQRCUm.png) ![](https://i.imgur.com/SaUfE41.png) ![](https://i.imgur.com/eg721Lv.png) mpstat - утилита, которая позволяет посмотреть подробную статистику по использованию процессора. Можно посмотреть не только информацию по каждому из ядер, но и куда используются ресурсы - на ввод/вывод, ядро или программы пространства пользователя. ![](https://i.imgur.com/4ky38EA.png) ![](https://i.imgur.com/wMB16kQ.png) vmstat - утилита, которая сообщает информацию о процессах, памяти, виртуальной памяти, вводе-выводе, дисках и активности процессора. ![](https://i.imgur.com/ocBJTs7.png) w - команда, которая выводит краткую сводку о работающих в системе в данный момент пользователях, а также о том, какие процессы у них запущены. ![](https://i.imgur.com/arAYHmc.png) htop - команда, которая показывает информацию о процессах в реальном времени, выводят данные о потреблении системных ресурсов и позволяют искать, останавливать и управлять процессами. ![](https://i.imgur.com/tyO0GbD.png) ![](https://i.imgur.com/dl0VZSx.png) 2 Установка и настройка сервера SSH в Linux Установка ssh и проверка его работы: ![](https://i.imgur.com/qFMEd1t.png) ![](https://i.imgur.com/TIi80p6.png) ![](https://i.imgur.com/8UmZ5kc.png) 3 Установка и настройка SSH-authorized_keys На другой машине я сгенерировал пару ключей и загрузил открытый ключ на сервер. После этого отключил аундефикацию по паролю и спокойно подключился при помощи ключа. ![](https://i.imgur.com/KKgYyuY.png) ![](https://i.imgur.com/WESfNHG.png) ![](https://i.imgur.com/WzfnpLY.png) ![](https://i.imgur.com/WRK9sA6.png) 4 Сбор информации о Linux и WGET cat /etc/release - показывает информация о дистрибутиве и какая у него версия uname — утилита командной строки, которая печатает основную информацию об имени операционной системы и системном оборудовании uptime — утилита, показывающая текущее время, время работы после загрузки, количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут. ls -la /home выводит подробный листинг директории /home, включая скрытые файлы ![](https://i.imgur.com/GWuxHt1.png) chmod o-rx <путь> - запрещает остальным пользователям чтение и выполнение файла ip neigh - показывает с какими компьютерами происходит обмен данными ![](https://i.imgur.com/CXE5ofa.png) sudo ss -tlnp - показывает какие сервисы и с какими портами запущены sudo -l - выводит список доступных команд для удалённых пользователей ![](https://i.imgur.com/3ERzT6T.png) Lynis — это инструмент для аудита безопасности в Unix и Linux ОС. Он выполняет глубокие проверки безопасности. Он работает на самом хосте, поэтому он выполняет более обширные проверки безопасности, чем сканеры уязвимостей. Для начала скачаю его: ![](https://i.imgur.com/KF8p9L8.png) ![](https://i.imgur.com/HgLQHvH.png) ![](https://i.imgur.com/btGOKUT.png) И запущу его командой: sudo ./lynis audit system ![](https://i.imgur.com/LcNIOQr.png) ![](https://i.imgur.com/jAjKl0i.png) ![](https://i.imgur.com/qJPJrEI.png) ![](https://i.imgur.com/uaX1OE9.png) ![](https://i.imgur.com/WijpemZ.png) Dpkg - основная программа управления пакетами в Debian linux. Она используется для установки, сборки, удаления и управления пакетами. dpkg -l - список установленных пакетов ![](https://i.imgur.com/1deJ4pV.png) dpkg -L coreutils - список всех штатных утилит ![](https://i.imgur.com/eLpNUqi.png) Также существует утилита /bin/dir , которая позволяет работать как с ls ![](https://i.imgur.com/PRAn3Z3.png) Поменяю /dir/dir на /dir/false, сымитируя подмену кода программы. Тогда при запуске dir ничего не будет происходить, кроме как если посмотреть логическую ложь, то будет ошибка ![](https://i.imgur.com/FDnAFZJ.png) Чтобы быстро проверить этот пакет, воспользуюсь debsums - программой для нахождения изменённых администратором файлов установленных в системе пакетов или повреждённых файлов. ![](https://i.imgur.com/UvjIBsV.png) ![](https://i.imgur.com/1TIpE2G.png) (флаг -a проверяет все файлы, -c выводит список измененных файлов, -s выводит только ошибки) Также можно проверить утилитой: dpkg --verify coreutils ![](https://i.imgur.com/KBieGAk.png) Если кто-то смог проникнуть в систему и что-то деал в ней нам поможет команда find Например, если нам надо рассмотреть какой либо инцидент: sudo find / -printf "%T@;%Tc;%p\\n" где: -prinf - то где мы будем искать %T@ - время ввиде числа %Tc - время человека читаемое %p\\n - путь до файла ![](https://i.imgur.com/3m6ORRR.png) ![](https://i.imgur.com/eGL43KV.png) 5 Переменные окружения в Linux .bashrc, .bash_profile и .bash_login Чтобы посмотреть список всех переменных окружения, в утилите coreutils есть команда printenv ![](https://i.imgur.com/2hnbwiP.png) Можно самостоятельно изменить опцию любого параметра с помощью команды: env <переменная>=<значение> Так, я присвоил HOME значение /home/igor ![](https://i.imgur.com/PIcrxNA.png) Также можно содвать и удалять локальные переменные окружения: <переменная>=<значение> - для создания unset <переменная> - для удаления ![](https://i.imgur.com/Df4veiO.png) Пользовательскую конфигурацию можно редактировать через: sudo nano .bashrc. Там можно посмотреть вес переменные, которые там хранятся, а также создать свои ![](https://i.imgur.com/92Y9DkQ.png) Обновление конфигурации произойдет после повторного старта файла, а делается это через: source .bashrc. ![](https://i.imgur.com/etFZ7yH.png) В теории сказано , что удаление параметров происходит примерно также (надо удалить строку или закоментировать ее и перезапустить файл), но у меня полчилось удалить этот параметр только с помощью команды unset Также можно создавать и удалять системные переменные, которые находятся в файле /etc/profile ![](https://i.imgur.com/yxkJTX5.png) достаточно вписать туда <переменная>=<значение> и после применить команду source к файлу. ![](https://i.imgur.com/hAZaLU7.png)