Команды Linux для упаковки и сжатия файлов
Подборка базовых команд для архивации, распаковки и сжатия в Linux.
GZIP
Архивирует file1 с максимальным уровнем сжатия.
Сжимает файл file1.
Распаковывает файл file1.gz.
BZIP2
Сжимает file1.
Разжимает file1.bz2.
TAR
Создает tar-архив archive.tar с указанными файлами и папками.
Показывает содержимое архива.
Извлекает архив в текущую директорию.
Распаковывает в /tmp.
Создает tar.gz архив (tar + gzip).
Распаковывает tar.gz архив.
Создает tar.bz2 архив (tar + bzip2).
Распаковывает tar.bz2 архив.
RAR
Создает архив file1.rar, упаковывая файлы и директорию.
Архивирует один файл.
Извлекает содержимое архива.
Распаковывает rar-архив.
ZIP
Создает zip-архив с одним файлом.
Запаковывает несколько файлов и директорий.
Распаковывает zip-архив.
#learn
Подборка базовых команд для архивации, распаковки и сжатия в Linux.
GZIP
gzip -9 file1
Архивирует file1 с максимальным уровнем сжатия.
gzip file1
Сжимает файл file1.
gunzip file1.gz
Распаковывает файл file1.gz.
BZIP2
bzip2 file1
Сжимает file1.
bunzip2 file1.bz2
Разжимает file1.bz2.
TAR
tar -cvf archive.tar file1 file2 dir1
Создает tar-архив archive.tar с указанными файлами и папками.
tar -tf archive.tar
Показывает содержимое архива.
tar -xvf archive.tar
Извлекает архив в текущую директорию.
tar -xvf archive.tar -C /tmp
Распаковывает в /tmp.
tar -cvfz archive.tar.gz dir1
Создает tar.gz архив (tar + gzip).
tar -xvfz archive.tar.gz
Распаковывает tar.gz архив.
tar -cvfj archive.tar.bz2 dir1
Создает tar.bz2 архив (tar + bzip2).
tar -xvfj archive.tar.bz2
Распаковывает tar.bz2 архив.
RAR
rar a file1.rar file1 file2 dir1
Создает архив file1.rar, упаковывая файлы и директорию.
rar a file1.rar test_file
Архивирует один файл.
rar x file.rar
Извлекает содержимое архива.
unrar x file1.rar
Распаковывает rar-архив.
ZIP
zip file1.zip file1
Создает zip-архив с одним файлом.
zip -r file1.zip file1 file2 dir1
Запаковывает несколько файлов и директорий.
unzip file1.zip
Распаковывает zip-архив.
#learn
❤1
Forwarded from Типичный Сисадмин
Подпись модулей ядра в Linux готовится перейти на постквантовые алгоритмы 🎹
В кодовой базе ядра Linux замечена подготовка к постквантовой эре. В ветке linux-fs.git появились коммиты, добавляющие поддержку алгоритма цифровой подписи ML-DSA/Dilithium (FIPS 204). Первым применением новой криптографии станет проверка подписей модулей ядра.
Инженер из Red Hat портировал в ядро код для проверки подписи из криптобиблиотеки Leancrypto. Причем, чтобы не раздувать ядро, код для генерации ключей и создания подписи был вырезан, а оставлена только функция верификации. Что логично, ведь ядру на целевой машине нужно только убедиться, что модуль подписан доверенным ключом, а не генерировать новые подписи.
Ядро Linux готовится отражать атаки из будущего. А ты до сих пор не настроил fail2ban😬
Немного ликбеза:
На данный момент код находится в тестовой ветке keys-pqc и, предположительно, будет предложен для включения в релиз ядра Linux 6.19. Так что переход на постквантовую криптографию уже где-то не за горами.
Типичный🥸 Сисадмин
В кодовой базе ядра Linux замечена подготовка к постквантовой эре. В ветке linux-fs.git появились коммиты, добавляющие поддержку алгоритма цифровой подписи ML-DSA/Dilithium (FIPS 204). Первым применением новой криптографии станет проверка подписей модулей ядра.
Инженер из Red Hat портировал в ядро код для проверки подписи из криптобиблиотеки Leancrypto. Причем, чтобы не раздувать ядро, код для генерации ключей и создания подписи был вырезан, а оставлена только функция верификации. Что логично, ведь ядру на целевой машине нужно только убедиться, что модуль подписан доверенным ключом, а не генерировать новые подписи.
Ядро Linux готовится отражать атаки из будущего. А ты до сих пор не настроил fail2ban
Немного ликбеза:
постквантовый алгоритм цифровой подписи на основе решетчатой криптографии. Его криптостойкость делает его устойчивым к атакам как классических, так и квантовых компьютеров. Стандартизирован в США как FIPS 204, что делает его одним из основных кандидатов на замену RSA и ECDSA в ближайшем будущем.
На данный момент код находится в тестовой ветке keys-pqc и, предположительно, будет предложен для включения в релиз ядра Linux 6.19. Так что переход на постквантовую криптографию уже где-то не за горами.
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
Удаляем старые временные объекты в Linux
Со временем на диске накапливаются временные данные, которые занимают место и не приносят пользы. Bash и стандартные инструменты позволяют организовать автоматическое удаление таких объектов.
Найти все временные файлы старше трёх суток:
Покажет перечень файлов, созданных или изменённых больше трёх дней назад.
Удалить найденные объекты:
Сразу очищает всё лишнее.
Применить exec для контроля:
Можно подставить другую команду вместо rm для проверки перед удалением.
Настроить cron для автоматизации:
Очистка выполняется ежедневно в 3 часа ночи без участия пользователя.
Для каталогов используется аналогичный подход:
Полная очистка: удаляются не только файлы, но и папки, старше указанного срока.
#learn
Со временем на диске накапливаются временные данные, которые занимают место и не приносят пользы. Bash и стандартные инструменты позволяют организовать автоматическое удаление таких объектов.
Найти все временные файлы старше трёх суток:
find /tmp -type f -mtime +3
Покажет перечень файлов, созданных или изменённых больше трёх дней назад.
Удалить найденные объекты:
find /tmp -type f -mtime +3 -delete
Сразу очищает всё лишнее.
Применить exec для контроля:
find /tmp -type f -mtime +3 -exec rm {} \;Можно подставить другую команду вместо rm для проверки перед удалением.
Настроить cron для автоматизации:
0 3 * * * find /tmp -type f -mtime +3 -delete
Очистка выполняется ежедневно в 3 часа ночи без участия пользователя.
Для каталогов используется аналогичный подход:
find /tmp -type d -mtime +3 -exec rm -r {} \;Полная очистка: удаляются не только файлы, но и папки, старше указанного срока.
#learn
Запуск любой команды в одноразовой файловой системе
Нужно быстро прогнать скрипт, подозрительный бинарь или инсталлятор и не хочется разворачивать контейнер? Смонтируй tmpfs поверх каталога и работай внутри него - получится чистая, временная файловая система в оперативной памяти.
Что важно знать:
tmpfs изолирует только файловую систему в этом каталоге - это не полноценный контейнер. Процессы внутри могут по-прежнему взаимодействовать с ядром, сетью и доступными устройствами, если явно не ограничить права.
Всё, что попадёт в tmpfs, хранится в оперативной памяти и исчезнет после отмонтирования или перезагрузки.
Размер можно ограничить параметром size при монтировании.
Для монтирования и отмонтирования нужен root, поэтому в примере используются sudo-команды.
Коротко: удобно для быстрой проверки и предотвращения случайного изменения важных файлов - но не полагайся на это как на безопасность в духе "sandbox" полного уровня.
#learn
Нужно быстро прогнать скрипт, подозрительный бинарь или инсталлятор и не хочется разворачивать контейнер? Смонтируй tmpfs поверх каталога и работай внутри него - получится чистая, временная файловая система в оперативной памяти.
Что важно знать:
tmpfs изолирует только файловую систему в этом каталоге - это не полноценный контейнер. Процессы внутри могут по-прежнему взаимодействовать с ядром, сетью и доступными устройствами, если явно не ограничить права.
Всё, что попадёт в tmpfs, хранится в оперативной памяти и исчезнет после отмонтирования или перезагрузки.
Размер можно ограничить параметром size при монтировании.
Для монтирования и отмонтирования нужен root, поэтому в примере используются sudo-команды.
mkdir -p /tmp/safezone
mount -t tmpfs -o size=100M tmpfs /tmp/safezone
cd /tmp/safezone
bash suspicious_script.sh
cd /
sudo umount /tmp/safezone
Коротко: удобно для быстрой проверки и предотвращения случайного изменения важных файлов - но не полагайся на это как на безопасность в духе "sandbox" полного уровня.
#learn
Forwarded from Типичный Сисадмин
Тут из глубин ядра Linux пришла новость, от которой у многих сведет олдскулы. Помните файловую систему NILFS2? Это та самая лог-структурированная ФС с непрерывными снапшотами, которая появилась в ядре еще во времена 2.6. Так вот, после многих лет затишья у проекта появился второй мейнтейнер, Вячеслав Дубейко.
Для тех, кто не в теме за NILFS2... В отличие от Btrfs или ZFS, которые делают снапшоты по команде, NILFS2 делает это постоянно. Любое изменение данных создает новую версию файловой системы, а старые версии остаются доступными для чтения.
В последние годы проект был в анабиозе. Все внимание было приковано к Btrfs, F2FS и новомодному Bcachefs. И вот, внезапно, основной мейнтейнер NILFS2, Рюсуке Кониси, добавляет в проект нового человека и меняет статус с Orphaned (осиротевший👨🦳 ) на Maintained (поддерживается). Новые патчи в ядро будут через Вячеслава.
Ждём бенчмарки чтобы посмотреть сможет ли NILFS2 потягаться с Btrfs и ZFS...
Типичный🥸 Сисадмин
Для тех, кто не в теме за NILFS2... В отличие от Btrfs или ZFS, которые делают снапшоты по команде, NILFS2 делает это постоянно. Любое изменение данных создает новую версию файловой системы, а старые версии остаются доступными для чтения.
В последние годы проект был в анабиозе. Все внимание было приковано к Btrfs, F2FS и новомодному Bcachefs. И вот, внезапно, основной мейнтейнер NILFS2, Рюсуке Кониси, добавляет в проект нового человека и меняет статус с Orphaned (осиротевший
Ждём бенчмарки чтобы посмотреть сможет ли NILFS2 потягаться с Btrfs и ZFS...
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
IFTOP - лёгкая утилита для отслеживания сетевых соединений на сервере в реальном времени.
Что показывает iftop:
Основные элементы интерфейса
Левая колонка - локальный IP интерфейса, на котором запущен iftop.
Правая колонка - удалённый IP, с которым идёт обмен. Это могут быть клиенты, внешние сервисы, интернет‑сервера. Правая колонка почти всегда «чужие» IP, а не ваши внутренние.
Стрелки:
=> - исходящий трафик (от сервера к удалённому IP)
<= - входящий трафик (от удалённого IP к серверу)
Скорости передачи: три колонки справа показывают среднюю скорость за последние 2, 10 и 40 секунд.
Практические команды
Запуск на интерфейсе eth0:
Показывать порты:
Не резолвить имена хостов (показывать IP):
Текстовый режим (для логирования или редиректа):
Сортировка по источнику или назначению (destination / source):
Фильтрация по подсети:
Советы для работы
Следи за строками с наибольшим трафиком, чтобы выявить «тяжёлые» соединения.
Стрелки и скорости помогут понять, кто отдаёт, кто получает.
Правая колонка обычно показывает внешние IP, так что можно быстро увидеть, с кем сервер общается в интернете.
Клавиша t в интерфейсе позволяет сортировать соединения по объёму трафика.
#learn #utlity
Что показывает iftop:
Основные элементы интерфейса
Левая колонка - локальный IP интерфейса, на котором запущен iftop.
Правая колонка - удалённый IP, с которым идёт обмен. Это могут быть клиенты, внешние сервисы, интернет‑сервера. Правая колонка почти всегда «чужие» IP, а не ваши внутренние.
Стрелки:
=> - исходящий трафик (от сервера к удалённому IP)
<= - входящий трафик (от удалённого IP к серверу)
Скорости передачи: три колонки справа показывают среднюю скорость за последние 2, 10 и 40 секунд.
Нижняя строка: суммарная статистикаcum - всего переданоpeak - пиковая скоростьrates - текущие скоростиПрактические команды
iftop -ni eth0
Запуск на интерфейсе eth0:
iftop -P -i eth0
Показывать порты:
iftop -n -i eth0
Не резолвить имена хостов (показывать IP):
iftop -t -i eth0
Текстовый режим (для логирования или редиректа):
iftop -o destination
iftop -o source
Сортировка по источнику или назначению (destination / source):
iftop -F 192.168.0.0/24 -i eth0
Фильтрация по подсети:
Советы для работы
Следи за строками с наибольшим трафиком, чтобы выявить «тяжёлые» соединения.
Стрелки и скорости помогут понять, кто отдаёт, кто получает.
Правая колонка обычно показывает внешние IP, так что можно быстро увидеть, с кем сервер общается в интернете.
Клавиша t в интерфейсе позволяет сортировать соединения по объёму трафика.
IFTOP - наглядный инструмент для контроля сети, выявления «жадных» соединений и оптимизации пропускной способности сервера.#learn #utlity
❤1
Что такое nsntrace и зачем он нужен
Системный администратор или DevOps-инженер часто сталкивается с диагностикой сетевого трафика. Но что делать, если нужно отследить именно трафик одного приложения, а не весь системный? Здесь на помощь приходит nsntrace - утилита, которая позволяет захватывать сетевой трафик процесса, запущенного в отдельном сетевом namespace.
Как работает nsntrace
Сетевые неймспейсы (network namespaces)
nsntrace использует сетевые неймспейсы Linux: приложение запускается в собственном namespace, то есть с отдельным сетевым стеком (своими интерфейсами, маршрутами, iptables).
Изоляция трафика
Благодаря этой изоляции можно наверняка захватить только тот трафик, который относится к целевому приложению - без “шума” от других процессов.
Мостовой интерфейс и iptables
Для того, чтобы трафик приложения возвращался “наверх” (в родной namespace), nsntrace создает виртуальный интерфейс и настраивает правила iptables.
Сохранение - pcap-файл
Трафик записывается в pcap-файл, который можно потом анализировать в Wireshark, tcpdump или других инструментах.
Запуск от root
Поскольку используется iptables и “сырые” (raw) сокеты, для работы nsntrace требуются права root.
Установка
Обычно имеется во всех репозиториях.
Теперь запускаем перехват трафика для обычного вызова wget, который делает запрос к сайту. По умолчанию результат сохраняется в файл с именем nsntrace.pcap:
То же самое можно выполнить и для PHP-скрипта:
Далее изучаем содержимое pcap-файла с помощью привычного инструмента, в данном случае tcpick:
GitHub проекта
#utility
Системный администратор или DevOps-инженер часто сталкивается с диагностикой сетевого трафика. Но что делать, если нужно отследить именно трафик одного приложения, а не весь системный? Здесь на помощь приходит nsntrace - утилита, которая позволяет захватывать сетевой трафик процесса, запущенного в отдельном сетевом namespace.
Как работает nsntrace
Сетевые неймспейсы (network namespaces)
nsntrace использует сетевые неймспейсы Linux: приложение запускается в собственном namespace, то есть с отдельным сетевым стеком (своими интерфейсами, маршрутами, iptables).
Изоляция трафика
Благодаря этой изоляции можно наверняка захватить только тот трафик, который относится к целевому приложению - без “шума” от других процессов.
Мостовой интерфейс и iptables
Для того, чтобы трафик приложения возвращался “наверх” (в родной namespace), nsntrace создает виртуальный интерфейс и настраивает правила iptables.
Сохранение - pcap-файл
Трафик записывается в pcap-файл, который можно потом анализировать в Wireshark, tcpdump или других инструментах.
Запуск от root
Поскольку используется iptables и “сырые” (raw) сокеты, для работы nsntrace требуются права root.
Установка
Обычно имеется во всех репозиториях.
apt install nsntrace
Теперь запускаем перехват трафика для обычного вызова wget, который делает запрос к сайту. По умолчанию результат сохраняется в файл с именем nsntrace.pcap:
# nsntrace --use-public-dns wget -q -O /dev/null https://example.com/
Starting network trace of 'wget' on interface enp1s0.
Your IP address in this trace is 172.19.28.255.
Use ctrl-c to end at any time.
Finished capturing 131 packets.
То же самое можно выполнить и для PHP-скрипта:
# nsntrace php -f index.php
Starting network trace of 'php' on interface enp1s0.
Your IP address in this trace is 172.19.213.255.
Use ctrl-c to end at any time.
Finished capturing 52 packets.
Далее изучаем содержимое pcap-файла с помощью привычного инструмента, в данном случае tcpick:
# tcpick -r nsntrace.pcap
Starting tcpick 0.2.1 at 2025-11-15 14:22 MSK
Timeout for connections is 600
tcpick: reading from nsntrace.pcap
1 SYN-SENT 172.19.28.255:40638 > 104.244.78.134:https
1 SYN-RECEIVED 172.19.28.255:40638 > 104.244.78.134:https
1 ESTABLISHED 172.19.28.255:40638 > 104.244.78.134:https
1 FIN-WAIT-1 172.19.28.255:40638 > 104.244.78.134:https
1 FIN-WAIT-2 172.19.28.255:40638 > 104.244.78.134:https
1 RESET 172.19.28.255:40638 > 104.244.78.134:https
tcpick: done reading from nsntrace.pcap
131 packets captured
1 tcp sessions detected
GitHub проекта
#utility
1👍1
Forwarded from Типичный Сисадмин
Хацкеры теперь не просто шифруют данные, а подставляют сисадминов 😔
Свежий отчет от Check Point показывает, что рынок шифровальщиков окончательно стал бизнесом. LockBit выкатил версию 5.0, заточенную под максимальный ущерб, теперь упор на ESXi, чтобы положить сразу всю виртуализацию, и динамические расширения файлов, чтобы ваш EDR даже не понял, что произошло. А новая фишка их нового продукта в психологическои давлении на IT-отдел.
Теперь они прямым текстом в записке делают крайним сисадмина... А грамотно они это придумали с точки зрения социальной инженерии... столкнуть руководство с собственными админами. Мол, это не мы такие, это ваш Вася-админ не так всё настроил. А за ошибки надо платить. Мало того, что шифруют данные, так еще и вносят раздор😱
Взламывая компанию, они оставляют записку, где находят козла отпущения:
Всё, приехали. Раньше нас обвиняли в сбоях пользователи, потом начальство, теперь к ним присоединились и хацкеры. Это какой-то новый уровень корпоративного газлайтинга, только со стороны атакующих. Что вообще происходит-то?😕
Типичный🥸 Сисадмин
Свежий отчет от Check Point показывает, что рынок шифровальщиков окончательно стал бизнесом. LockBit выкатил версию 5.0, заточенную под максимальный ущерб, теперь упор на ESXi, чтобы положить сразу всю виртуализацию, и динамические расширения файлов, чтобы ваш EDR даже не понял, что произошло. А новая фишка их нового продукта в психологическои давлении на IT-отдел.
Теперь они прямым текстом в записке делают крайним сисадмина... А грамотно они это придумали с точки зрения социальной инженерии... столкнуть руководство с собственными админами. Мол, это не мы такие, это ваш Вася-админ не так всё настроил. А за ошибки надо платить. Мало того, что шифруют данные, так еще и вносят раздор
Взламывая компанию, они оставляют записку, где находят козла отпущения:
... Отнеситесь к этой ситуации как к платной тренировке для ваших системных администраторов, потому что именно неверная конфигурация вашей корпоративной сети позволила нам атаковать вас. Наши услуги по пентесту должны оплачиваться так же, как вы платите зарплату своим сисадминам.
Всё, приехали. Раньше нас обвиняли в сбоях пользователи, потом начальство, теперь к ним присоединились и хацкеры. Это какой-то новый уровень корпоративного газлайтинга, только со стороны атакующих. Что вообще происходит-то?
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
Полезный Linux-прием: когда требуется быстро выявить, какие объекты файловой системы недавно изменялись, используйте find с временными фильтрами.
Это упрощает диагностику, помогает обнаруживать сомнительную активность и отслеживать недавние корректировки в проектах.
файлы, обновленные за последние 10 минут
объекты, измененные в течение последнего часа
файлы, модифицированные за прошедшие 24 часа
только каталоги, измененные за последние 30 минут
вывод времени изменения вместе с результатами
#learn
Это упрощает диагностику, помогает обнаруживать сомнительную активность и отслеживать недавние корректировки в проектах.
файлы, обновленные за последние 10 минут
find . -type f -mmin -10
объекты, измененные в течение последнего часа
find /var/log -type f -mmin -60
файлы, модифицированные за прошедшие 24 часа
find . -type f -mtime -1
только каталоги, измененные за последние 30 минут
find . -type d -mmin -30
вывод времени изменения вместе с результатами
find . -type f -mmin -15 -exec ls -lh {} ;#learn
❤1
Пример Bash-скрипта, который выполняет такие операции:
1) Проверяет, доступен ли целевой веб-сервер.
2) Анализирует текущий уровень заполненности диска.
3) Создает архивную копию выбранных директорий.
4) Формирует и отправляет администратору отчет о выполненных действиях.
1) Контроль работы веб-сервера: curl выполняет запрос к сайту и по ответу определяется его доступность.
2) Оценка заполненности диска: с помощью df и awk вычисляется текущий процент использования. При превышении заданного лимита отправляется предупреждение.
3) Формирование резервной копии: tar создает сжатый архив всех путей, перечисленных в переменной TARGET_DIRS.
4) Формирование и отправка отчета: итоговая информация о выполненных шагах отправляется администратору через mail.
Как использовать:
1) Укажите необходимые значения - адрес проверяемого веб-сервера, перечень директорий для резервного копирования, допустимый порог загрузки диска и email администратора.
2) Назначьте скрипту право на выполнение:
3) Настройте выполнение скрипта по расписанию через cron, чтобы он запускался автоматически. Например каждый день в полночь.
#learn
1) Проверяет, доступен ли целевой веб-сервер.
2) Анализирует текущий уровень заполненности диска.
3) Создает архивную копию выбранных директорий.
4) Формирует и отправляет администратору отчет о выполненных действиях.
#!/bin/bash
# Основные параметры
WEB_SERVER="https://example.com"
BACKUP_DIR="/backup"
TARGET_DIRS="/var/www /etc"
DISK_USAGE_THRESHOLD=90
ADMIN_EMAIL="admin@example.com"
DATE=$(date +"%Y-%m-%d")
BACKUP_FILE="$BACKUP_DIR/backup-$DATE.tar.gz"
# Проверка, отвечает ли веб-сервер
echo "Проверка состояния веб-сервера..."
if curl -s --head $WEB_SERVER | grep "200 OK" > /dev/null; then
echo "Веб-сервер отвечает корректно."
else
echo "Проблема: веб-сервер не отвечает." | mail -s "Сбой веб-сервера" $ADMIN_EMAIL
fi
# Контроль использования диска
echo "Анализ доступного места на диске..."
DISK_USAGE=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')
if [ $DISK_USAGE -gt $DISK_USAGE_THRESHOLD ]; then
echo "Проблема: достигнут лимит использования диска ($DISK_USAGE_THRESHOLD%)." | mail -s "Недостаточно места на диске" $ADMIN_EMAIL
else
echo "Свободного места достаточно."
fi
# Формирование резервной копии
echo "Запуск создания резервной копии..."
tar -czf $BACKUP_FILE $TARGET_DIRS
if [ $? -eq 0 ]; then
echo "Резервная копия создана: $BACKUP_FILE"
else
echo "Не удалось создать резервную копию." | mail -s "Сбой резервного копирования" $ADMIN_EMAIL
fi
# Отправка итогового отчета
echo "Отправка итогового отчета на $ADMIN_EMAIL..."
REPORT="Отчет за $DATE\n\n"
REPORT+="Ответ веб-сервера: $(curl -s --head $WEB_SERVER | head -n 1)\n"
REPORT+="Уровень использования диска: $DISK_USAGE%\n"
REPORT+="Файл резервной копии: $BACKUP_FILE\n"
echo -e $REPORT | mail -s "Системный дневной отчет" $ADMIN_EMAIL
echo "Завершено."
1) Контроль работы веб-сервера: curl выполняет запрос к сайту и по ответу определяется его доступность.
2) Оценка заполненности диска: с помощью df и awk вычисляется текущий процент использования. При превышении заданного лимита отправляется предупреждение.
3) Формирование резервной копии: tar создает сжатый архив всех путей, перечисленных в переменной TARGET_DIRS.
4) Формирование и отправка отчета: итоговая информация о выполненных шагах отправляется администратору через mail.
Как использовать:
1) Укажите необходимые значения - адрес проверяемого веб-сервера, перечень директорий для резервного копирования, допустимый порог загрузки диска и email администратора.
2) Назначьте скрипту право на выполнение:
chmod +x /path/to/your/сheck+backup.sh
3) Настройте выполнение скрипта по расписанию через cron, чтобы он запускался автоматически. Например каждый день в полночь.
0 0 * * * /path/to/your/сheck+backup.sh
#learn
👍2
Forwarded from Типичный Сисадмин
Официальный бэкдор в каждом Keenetic 🤡
Владельцы Кинетиков внезапно обнаружили, что вендор массово и принудительно накатил обновление KeeneticOS (версии ветки 4.x) на устройства. Пикантность ситуации в том, что апдейт прилетел даже тем пользователям, у кого в настройках было прописано🤣
Формальным поводом для такого беспредела стала безопасность. В интернетах началась эпидемия взломов ролтонов кинетика... ботнеты сканировали сеть, находили роутеры с открытым наружу веб-интерфейсом и слабыми паролями, после чего создавали там скрытого пользователя😂
На форумах Keenetic и Netcraze начали бомбить. Что если вендор имеет техническую возможность игнорировать запрет на обновления и заливать в устройство всё что угодно через собственные бэкдоры (подозревают протоколы типа CWMP/TR-069), то о каком доверии может идти речь? Сегодня они залили патч безопасности, чтобы спасти вас от хакеров, а завтра зальют обновление, которое оптимизирует работу, удалит неугодные пакеты или сольет данные нужным людям?
Напомню, что в РФ Keenetic теперь официально мимикрировал в бренд Netcraze (Сетевое Безумие?). Облачная инфраструктура переехала из буржуйского Hetzner в родной Selectel, а в логах роутеров теперь мелькают запросы к узлам вроде
Представители Keenetic пока отмалчиваются или ссылаются на критичность уязвимости. Но осадочек остался капитальный. Получается, покупая роутер за оверпрайс, вы по факту берете в аренду терминал, которым управляет некто из техподдержки. И ваше мнение о том, какая версия прошивки должна стоять на вашем железе, никого не интересует. Добровольные бэкдоры, велком🎩
Типичный🥸 Сисадмин
Владельцы Кинетиков внезапно обнаружили, что вендор массово и принудительно накатил обновление KeeneticOS (версии ветки 4.x) на устройства. Пикантность ситуации в том, что апдейт прилетел даже тем пользователям, у кого в настройках было прописано
auto-update disable. Галочка в GUI оказалась просто декорацией Формальным поводом для такого беспредела стала безопасность. В интернетах началась эпидемия взломов ролтонов кинетика... ботнеты сканировали сеть, находили роутеры с открытым наружу веб-интерфейсом и слабыми паролями, после чего создавали там скрытого пользователя
adminr и поднимали VPN-сервер для своих темных дел. Компания решила не ждать, пока все клиенты станут частью ботнета, и бэкдорнула каждого, принудительно обновив прошивки и запретив открывать доступ извне без установки сложного пароля На форумах Keenetic и Netcraze начали бомбить. Что если вендор имеет техническую возможность игнорировать запрет на обновления и заливать в устройство всё что угодно через собственные бэкдоры (подозревают протоколы типа CWMP/TR-069), то о каком доверии может идти речь? Сегодня они залили патч безопасности, чтобы спасти вас от хакеров, а завтра зальют обновление, которое оптимизирует работу, удалит неугодные пакеты или сольет данные нужным людям?
Напомню, что в РФ Keenetic теперь официально мимикрировал в бренд Netcraze (Сетевое Безумие?). Облачная инфраструктура переехала из буржуйского Hetzner в родной Selectel, а в логах роутеров теперь мелькают запросы к узлам вроде
ndss.netcraze.ru.Представители Keenetic пока отмалчиваются или ссылаются на критичность уязвимости. Но осадочек остался капитальный. Получается, покупая роутер за оверпрайс, вы по факту берете в аренду терминал, которым управляет некто из техподдержки. И ваше мнение о том, какая версия прошивки должна стоять на вашем железе, никого не интересует. Добровольные бэкдоры, велком
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
Ищем сомнительные сетевые активности в Linux через Bash.
В системе иногда остаются непонятные подключения - от зависших программ до потенциально вредных процессов.
Bash и стандартные инструменты позволяют быстро выявить и разобрать такие случаи.
Просмотр всех текущих сетевых подключений:
Выводит PID, порты, адреса и статусы. Подходит для обнаружения неожиданно слушающих сервисов.
Поиск соединений с конкретными адресами:
Отбирает строки по нужной сети или IP.
Показ только установленных соединений:
Отсекает слушающие порты, показывая активные сессии.
Проверка PID по имени процесса:
Помогает определить, какая программа держит связь.
Мониторинг в реальном времени:
#learn
В системе иногда остаются непонятные подключения - от зависших программ до потенциально вредных процессов.
Bash и стандартные инструменты позволяют быстро выявить и разобрать такие случаи.
Просмотр всех текущих сетевых подключений:
ss -tulpn
Выводит PID, порты, адреса и статусы. Подходит для обнаружения неожиданно слушающих сервисов.
Поиск соединений с конкретными адресами:
ss -ntp | grep "192.168."
Отбирает строки по нужной сети или IP.
Показ только установленных соединений:
ss -ntp state established
Отсекает слушающие порты, показывая активные сессии.
Проверка PID по имени процесса:
ps -fp <PID>
Помогает определить, какая программа держит связь.
Мониторинг в реальном времени:
watch -n 2 ss -tulpn
#learn
Полезный приём: как быстро извлечь все уникальные доменные имена из любых текстов или логов в Linux без использования сложных парсеров.
Из файла:
Просматриваем лог и получаем список уникальных доменов.
Из потока (например, HTTP-трафик):
Выводим домены прямо на лету, формируя уникальный список.
#learn
Из файла:
grep -oE '\b([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}\b' /var/log/syslog | sort -uПросматриваем лог и получаем список уникальных доменов.
Из потока (например, HTTP-трафик):
tcpdump -A -s 0 port 80 | grep -oE '\b([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}\b' | sort -uВыводим домены прямо на лету, формируя уникальный список.
#learn
Трюки с SSH: это куда больше, чем обычный удалённый вход
SSH-соединения обладают куда более широкими возможностями, чем простой доступ к машине. Вот набор действительно полезных приемов:
Туннелирование к внутренним системам:
Локальный адрес localhost:8080 перенаправляет трафик на порт 80 узла internal-server через gateway.
Быстрое подключение с помощью псевдонимов:
В ~/.ssh/config
Теперь можно выполнять ssh myserver вместо ввода параметров вручную.
Авторизация без пароля за считанные секунды:
После переноса ключа вход происходит автоматически.
Мгновенные повторные подключения:
В ~/.ssh/config
Первый сеанс устанавливается обычно, следующие открываются моментально.
Передача директорий без использования scp:
Архивация выполняется потоком и сразу извлекается на удалённой стороне.
Удалённый просмотр логов с локальной обработкой:
Можно комбинировать с любыми командами на своей машине через пайпы.
Эти практики значительно упрощают сопровождение большого числа серверов.
#learn
SSH-соединения обладают куда более широкими возможностями, чем простой доступ к машине. Вот набор действительно полезных приемов:
Туннелирование к внутренним системам:
ssh -L 8080:internal-server:80 user@gateway
Локальный адрес localhost:8080 перенаправляет трафик на порт 80 узла internal-server через gateway.
Быстрое подключение с помощью псевдонимов:
В ~/.ssh/config
Host myserver
HostName 192.168.1.100
User admin
Port 2222
IdentityFile ~/.ssh/my_key
Теперь можно выполнять ssh myserver вместо ввода параметров вручную.
Авторизация без пароля за считанные секунды:
ssh-copy-id user@server
После переноса ключа вход происходит автоматически.
Мгновенные повторные подключения:
В ~/.ssh/config
Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h:%p
ControlPersist 600
Первый сеанс устанавливается обычно, следующие открываются моментально.
Передача директорий без использования scp:
tar cz folder/ | ssh server "tar xz -C /destination"
Архивация выполняется потоком и сразу извлекается на удалённой стороне.
Удалённый просмотр логов с локальной обработкой:
ssh server "tail -f /var/log/app.log" | grep -i error
Можно комбинировать с любыми командами на своей машине через пайпы.
Эти практики значительно упрощают сопровождение большого числа серверов.
#learn
👍3
Glances - это утилита мониторинга системы в реальном времени. Написана на Python, работает в терминале, по сети и через веб-интерфейс. Показывает загрузку CPU, памяти, дисков, сетевых интерфейсов, процессы, температуру, состояние файловых систем, контейнеров и других подсистем. Подходит как для локального контроля, так и для удалённого мониторинга через клиент-сервер или браузер. Может экспортировать метрики в InfluxDB, ElasticSearch, CSV и другие источники. Код открытый, расширяется плагинами.
Старт в обычном терминальном режиме.
Запуск встроенного веб-сервера (порт 61208 по умолчанию).
Запуск в режиме сервера для удалённого мониторинга.
Подключение к Glances-серверу по указанному IP.
Поиск всех Glances-серверов в сети и просмотр через TUI.
#utility
glances
Старт в обычном терминальном режиме.
glances -w
Запуск встроенного веб-сервера (порт 61208 по умолчанию).
glances -s
Запуск в режиме сервера для удалённого мониторинга.
glances -c IP
Подключение к Glances-серверу по указанному IP.
glances --browser
Поиск всех Glances-серверов в сети и просмотр через TUI.
#utility
Мониторинг активных портов: Nmap + Опорный снимок + Сравнение
Бывает необходимо не просто "проверять порты", а определить момент изменения: служба внезапно открыла порт, а firewall перекрыл прежний.
В таких ситуациях отлично работает простой метод:
Опорный снимок → Проверка → Сравнение
1. Опорный снимок
Создаём первоначальный перечень портов и сохраняем его:
Это наш "образец", с которым далее будем соотносить результаты.
2. Актуальная проверка
Через установленный промежуток времени фиксируем новое состояние:
3. Сравнение через ndiff
Пример вывода:
#learn
Бывает необходимо не просто "проверять порты", а определить момент изменения: служба внезапно открыла порт, а firewall перекрыл прежний.
В таких ситуациях отлично работает простой метод:
Опорный снимок → Проверка → Сравнение
1. Опорный снимок
Создаём первоначальный перечень портов и сохраняем его:
nmap -p- -oX baseline.xml 192.168.100.100
Это наш "образец", с которым далее будем соотносить результаты.
2. Актуальная проверка
Через установленный промежуток времени фиксируем новое состояние:
nmap -p- -oX current.xml 192.168.100.100
3. Сравнение через ndiff
ndiff baseline.xml current.xml
Пример вывода:
-Nmap 7.80 scan initiated Sat Nov 22 13:32:40 2025 as: nmap -p- -oX baseline.xml 192.168.100.100
+Nmap 7.80 scan initiated Sat Nov 22 13:34:55 2025 as: nmap -p- -oX current.xml 192.168.100.100
192.168.100.100:
-Not shown: 59995 filtered ports, 5538 closed ports
+Not shown: 59994 filtered ports, 5538 closed ports
PORT STATE SERVICE VERSION
+80/tcp open http
#learn