Lexicon - утилита для управление записями DNS на различных DNS-провайдерах.
Используя её, вы можете организовать централизованное управление записями на неймсерверах провайдеров, используя их API, без необходимости ручных правок в панелях.
Поддерживает большой список популярных сервисов Cloudflare, Cloudns, Yandexcloud и т.д.
https://github.com/AnalogJ/lexicon
Используя её, вы можете организовать централизованное управление записями на неймсерверах провайдеров, используя их API, без необходимости ручных правок в панелях.
Поддерживает большой список популярных сервисов Cloudflare, Cloudns, Yandexcloud и т.д.
https://github.com/AnalogJ/lexicon
👍2
Увеличение дискового пространства в ОС FreeBSD
Для того, чтобы сделать новое дисковое пространство доступным для операционной системы, следуйте инструкции.
https://telegra.ph/Uvelichenie-diskovogo-prostranstva-v-OS-FreeBSD-09-26
Для того, чтобы сделать новое дисковое пространство доступным для операционной системы, следуйте инструкции.
https://telegra.ph/Uvelichenie-diskovogo-prostranstva-v-OS-FreeBSD-09-26
❤3
Полезные команды Linux. Работа с правами доступа файлов и директорий
#
Назначить пользователя vasya владельцем файла file
#
Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
#
Назначить владельца и группу для файла /file
#
Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
#
Удалить все права на директорию /directory для группы и остальных
#
Изменить группу-владельца для file на new_group
#
Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
#
Удалить STIKY-бит с директории /home/public
#
Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
#
Удалить SUID-бит с файла /bin/binary_file
#
Установить SGID-бит на директории /home/public
#
Удалить SGID-бит с директории /home/public
#
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы
#
Листинг текущего каталога с правами доступа
#
chown vasya /file
Назначить пользователя vasya владельцем файла file
#
chown -R vasya directory
Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
#
chown vasya:group /file
Назначить владельца и группу для файла /file
#
chmod ugo+rwx /directory
Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
#
chmod go-rwx /directory
Удалить все права на директорию /directory для группы и остальных
#
chgrp new_group file
Изменить группу-владельца для file на new_group
#
chmod o+t /home/public
Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
#
chmod o-t /home/public
Удалить STIKY-бит с директории /home/public
#
chmod u+s /bin/binary_file
Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
#
chmod u-s /bin/binary_file
Удалить SUID-бит с файла /bin/binary_file
#
chmod g+s /home/public
Установить SGID-бит на директории /home/public
#
chmod g-s /home/public
Удалить SGID-бит с директории /home/public
#
find / -perm -u+s
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы
#
ls -lh
Листинг текущего каталога с правами доступа
👍2
Полезные команды Linux. Средство управление пакетами - APT ( Debian, Ubuntu и т.д. )
Вывести список пакетов, чье имя совпадает со строкой package
Проверить зависимости
Установить / обновить пакет с cdrom'а
Установить / обновить пакет
Обновить установленные в систему пакеты
Удалить установленный пакет из системы, сохранив файлы конфигурации
Обновить списки пакетов репозитария
Удалить загруженные архивные файлы пакетов
# apt-cache search [ package ]
Вывести список пакетов, чье имя совпадает со строкой package
# apt-get check
Проверить зависимости
# apt-cdrom install [ package ]
Установить / обновить пакет с cdrom'а
# apt-get install [ package ]
Установить / обновить пакет
# apt-get upgrade
Обновить установленные в систему пакеты
# apt-get remove [ package ]
Удалить установленный пакет из системы, сохранив файлы конфигурации
# apt-get update
Обновить списки пакетов репозитария
# apt-get clean
Удалить загруженные архивные файлы пакетов
👍2❤1
Команда curl. Синтаксис. Примеры использования
Сurl – утилита командной строки для скачивания и загрузки данных. Она выросла из проекта шведского программиста Даниэля Стенберга. Изначально в середине 90-х, на заре развития Интернета, он разрабатывал бота, который должен был загружать с веб-страницы курсы валют и сообщать пользователям IRC эквивалент шведских крон в долларах США. Со временем проект развивался, появлялась поддержка различных протоколов и новые функции. Теперь curl используется для передачи любых данных и ряда других полезных задач. Рассмотрим основные моменты работы с этим инструментом.
https://telegra.ph/Komanda-curl-Sintaksis-Primery-ispolzovaniya-09-26
Сurl – утилита командной строки для скачивания и загрузки данных. Она выросла из проекта шведского программиста Даниэля Стенберга. Изначально в середине 90-х, на заре развития Интернета, он разрабатывал бота, который должен был загружать с веб-страницы курсы валют и сообщать пользователям IRC эквивалент шведских крон в долларах США. Со временем проект развивался, появлялась поддержка различных протоколов и новые функции. Теперь curl используется для передачи любых данных и ряда других полезных задач. Рассмотрим основные моменты работы с этим инструментом.
https://telegra.ph/Komanda-curl-Sintaksis-Primery-ispolzovaniya-09-26
👍3
Сохраняем вывода команды Top в файл
Поскольку я не использовал опцию delay, приведенная ниже команда top перенаправит вывод команды top за одну итерацию в файл.
Сохранение вывода команды top с более чем одной итерацией из 5 итераций
Обычно программа работает непрерывно с задержкой в 2 секунды, и вы можете изменить это значение, добавив в верхнюю команду значение ‘-d’, как показано ниже:
Как захватить вывод команды top в файл каждые 5 минут в течение часа
Система создает отдельный файл каждые 5 минут, который поможет вам определить список процессов, которые потребляли больше CPU и памяти в системе.
Добавляем следующий cronjob, который будет выполняться с 5 до 6 утра каждые 5 минут в течение часа.
Где
-n : Задает максимальное количество итераций.
-b : Работа в пакетном режиме (Запуск команды top в пакетном режиме для перенаправления вывода в другие программы или в файл)
-d : Интервал задержки (Задает задержку между обновлениями экрана)
Собраем вывод в один файл, используйте следующий cronjob
Cronjob будет выполняться с 9 до 10 утра каждые 5 минут в течение часа и добавлять результаты в один файл.
Записываем вывод команды top в файл каждые 5 минут в течение получаса
Добавляем следующий cronjob, который будет запускаться каждые 5 минут с 13:30 до 14:00 в течение получаса.
Поскольку я не использовал опцию delay, приведенная ниже команда top перенаправит вывод команды top за одну итерацию в файл.
top -b -n 1 > /home/i_odmin/backup/output.txt
Сохранение вывода команды top с более чем одной итерацией из 5 итераций
Обычно программа работает непрерывно с задержкой в 2 секунды, и вы можете изменить это значение, добавив в верхнюю команду значение ‘-d’, как показано ниже:
top -n 5 -d 4 -b >/backup/output_1.txt
Как захватить вывод команды top в файл каждые 5 минут в течение часа
Система создает отдельный файл каждые 5 минут, который поможет вам определить список процессов, которые потребляли больше CPU и памяти в системе.
Добавляем следующий cronjob, который будет выполняться с 5 до 6 утра каждые 5 минут в течение часа.
Где
-n : Задает максимальное количество итераций.
-b : Работа в пакетном режиме (Запуск команды top в пакетном режиме для перенаправления вывода в другие программы или в файл)
-d : Интервал задержки (Задает задержку между обновлениями экрана)
0-59/5 5 * * * top -n 10 -d 4 -b > /home/i_odmin/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt
Собраем вывод в один файл, используйте следующий cronjob
Cronjob будет выполняться с 9 до 10 утра каждые 5 минут в течение часа и добавлять результаты в один файл.
0-59/5 9 * * * top -b -n5 -d 5 >>/home/i_odmin/backup/output.txt
Записываем вывод команды top в файл каждые 5 минут в течение получаса
Добавляем следующий cronjob, который будет запускаться каждые 5 минут с 13:30 до 14:00 в течение получаса.
30-59/5 13 * * * top -n 10 -d 4 -b > /home/i_odmin/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt
❤1
Обнаружение SSH-туннелей по размеру пакетов
Протокол SSH — очень мощный инструмент, который используется для удалённой консоли или передачи файлов (scp, sftp). Есть менее известная функция перенаправления портов. Такие SSH-туннели используются для пробития файрволов и хорошо скрываются от обнаружения стандартными средствами мониторинга типа Trisul, Zeek (ранее был известен как Bro), Suricata и Snort. Поэтому для их обнаружения в корпоративной сети используются другие методы.
Например, разработчики инструмента для сетевого мониторинга Trisul Network Analytics несколько лет назад опубликовали небольшое руководство по методам обнаружения SSH-туннелей. Они напоминают, что ещё во второй версии SSH 2 появилась поддержка SOCKS5, а это позволяет любому желающему установить полноценный SOCKS5-прокси вне корпоративной сети и скрыть всю HTTP-активность от инструментов сетевого мониторинга.
После обмена ключами SSH эффективно скрывает от посторонних глаз весь трафик внутри туннеля.
https://habr.com/ru/companies/ruvds/articles/799255/
Протокол SSH — очень мощный инструмент, который используется для удалённой консоли или передачи файлов (scp, sftp). Есть менее известная функция перенаправления портов. Такие SSH-туннели используются для пробития файрволов и хорошо скрываются от обнаружения стандартными средствами мониторинга типа Trisul, Zeek (ранее был известен как Bro), Suricata и Snort. Поэтому для их обнаружения в корпоративной сети используются другие методы.
Например, разработчики инструмента для сетевого мониторинга Trisul Network Analytics несколько лет назад опубликовали небольшое руководство по методам обнаружения SSH-туннелей. Они напоминают, что ещё во второй версии SSH 2 появилась поддержка SOCKS5, а это позволяет любому желающему установить полноценный SOCKS5-прокси вне корпоративной сети и скрыть всю HTTP-активность от инструментов сетевого мониторинга.
После обмена ключами SSH эффективно скрывает от посторонних глаз весь трафик внутри туннеля.
https://habr.com/ru/companies/ruvds/articles/799255/
❤1
Тайм-капсула. Архив со сжатием файловой системы
Тайм-капсула — слепок файловой системы (ФС), желательно с максимальным сжатием, на заданную дату/время. Используется для долговременного хранения в архиве, резервного копирования и восстановления в случае сбоя/потери данных. Нас интересует, как делать такие слепки самостоятельно и какие файлы получаются при этом.
Кто-то привык к обычному tar cvzf output.tar.gz /source/path для клонирования дисков, но есть более универсальный инструмент FSArchiver, который сохраняет файловые атрибуты, несколько файловых систем в одном архиве и контрольные суммы файлов с хорошим уровнем сжатия.
https://habr.com/ru/company/ruvds/blog/694486/
Тайм-капсула — слепок файловой системы (ФС), желательно с максимальным сжатием, на заданную дату/время. Используется для долговременного хранения в архиве, резервного копирования и восстановления в случае сбоя/потери данных. Нас интересует, как делать такие слепки самостоятельно и какие файлы получаются при этом.
Кто-то привык к обычному tar cvzf output.tar.gz /source/path для клонирования дисков, но есть более универсальный инструмент FSArchiver, который сохраняет файловые атрибуты, несколько файловых систем в одном архиве и контрольные суммы файлов с хорошим уровнем сжатия.
https://habr.com/ru/company/ruvds/blog/694486/
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Linux Kernel Manager and Activity Monitor
Утилита отображает информацию о текущем состоянии ядра, выводит данные о загруженных в ядро модулях и позволяет работать с ними.
https://github.com/orhun/kmon
Утилита отображает информацию о текущем состоянии ядра, выводит данные о загруженных в ядро модулях и позволяет работать с ними.
https://github.com/orhun/kmon
👍1
PowerShell: используем Invoke-Command для запуска команд/скриптов на удаленных компьютерах
В этой статье мы рассмотрим особенности использования командлета Invoke-Command для удаленного выполнения команд и скриптов. Возможно запускать команды удаленно на одном компьютере, или параллельно на множестве компьютерах в вашей сети. Командлет Invoke-Command использует возможности удаленного управления, заложенные в PowerShell Remoting. PowerShell Remoting позволяет удаленно подключаться к PowerShell сессиям на компьютерах через службу WinRM (Windows Remote Management) через протокол Web Services for Management (WS-Management). Этот сервис дает возможность принимать команды Powershell и устанавливать сеансы.
https://telegra.ph/PowerShell-ispolzuem-Invoke-Command-dlya-zapuska-komandskriptov-na-udalennyh-kompyuterah-09-26
В этой статье мы рассмотрим особенности использования командлета Invoke-Command для удаленного выполнения команд и скриптов. Возможно запускать команды удаленно на одном компьютере, или параллельно на множестве компьютерах в вашей сети. Командлет Invoke-Command использует возможности удаленного управления, заложенные в PowerShell Remoting. PowerShell Remoting позволяет удаленно подключаться к PowerShell сессиям на компьютерах через службу WinRM (Windows Remote Management) через протокол Web Services for Management (WS-Management). Этот сервис дает возможность принимать команды Powershell и устанавливать сеансы.
https://telegra.ph/PowerShell-ispolzuem-Invoke-Command-dlya-zapuska-komandskriptov-na-udalennyh-kompyuterah-09-26
❤1
Шпаргалка docker
Best Practice
🟢 Следуй принципу минимальных привилегий, процессы в контейнере никогда не должны выполняться из под рута, кроме редких случаев, нужно добавлять команду user и менять юзера на non-root.
🟢 Не привязываться к UID, он динамичен, можно записать во временную папку UID.
🟢 Сделать все исполняемые файлы владельцем рута, чтобы никто не изменил исполняемые файлы, а пользователю достаточно только права на выполнение.
🟢 Чем меньше компонентов и открытых портов, тем меньше поверхность для атак.
🟢 Использовать multistage для промежуточного контейнера для компиляции всего, зависимостей, временных файлов, образ может весить на треть меньше.
🟢 Distroless с чистого листа, использовать минимальный набор пакетов, например избавиться от образа Ubuntuи выбрать Debian-base, наши контейнеры содержат уязвимости изначального образа, чекать это.
🟢 Нужно обновлять всё до того, как выйдет из под поддержки.
🟢 Оставлять только те порты, которые реально нужны, избегать 22 и 21 3389 (ssh & ftp & rdp).
🟢 Никогда не помещайте логины/пароли в команде, в докерфайлах, переменных, docker secret или любой другой менеджер секретов ok.
🟢 Не использовать ADD, только COPY (когда используем точку - это воркдир где лежит докерфайл).
🟢 При сборке используйте .dockerignore чтобы убрать сенситив дату, это как .gitignore.
🟢 При сборке вначале команд лучше кешировать команду ран, а потом скопировать исходные данные.
🟢 Метадату записать.
🟢 Использовать тесты типа Linter и сканеры образов для CI.
🟢 Время от времени делать prune, докер любит много места жрать
Best Practice
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Анализатор, который уверенна будет полезен!
GoAccess
GoAccess был разработан как быстрый анализатор логов, работающий в терминале. Основная идея заключается в быстром анализе и просмотре статистики веб-сервера в реальном времени без необходимости использования браузера (это особенно удобно, если вы хотите быстро проанализировать лог доступа через SSH или просто предпочитаете работать в терминале).
Хотя вывод в терминал является стандартным, программа также способна генерировать полный автономный HTML-отчет в реальном времени (что отлично подходит для аналитики, мониторинга и визуализации данных), а также отчеты в формате JSON и CSV.
https://goaccess.io/
GoAccess
GoAccess был разработан как быстрый анализатор логов, работающий в терминале. Основная идея заключается в быстром анализе и просмотре статистики веб-сервера в реальном времени без необходимости использования браузера (это особенно удобно, если вы хотите быстро проанализировать лог доступа через SSH или просто предпочитаете работать в терминале).
Хотя вывод в терминал является стандартным, программа также способна генерировать полный автономный HTML-отчет в реальном времени (что отлично подходит для аналитики, мониторинга и визуализации данных), а также отчеты в формате JSON и CSV.
https://goaccess.io/
👍2❤1
Выводим список установленных пакетов в Linux по дате
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
❤4
Шпаргалка по PowerShell
Основные команды
-
-
-
-
-
-
Навигация по файловой системе
-
-
-
-
Работа с файлами и папками
-
-
-
-
Работа с текстом и выводом
-
-
-
-
-
-
Переменные
-
-
-
Условия и циклы
-
-
-
Работа с процессами и службами
-
-
-
-
Фильтрация и сортировка
-
-
Примеры:
1. Получение списка файлов:
2. Копирование файла:
3. Вывод чисел от 1 до 10:
4. Фильтрация процессов по имени:
Основные команды
-
Get-Help <команда>
– получить справку по команде-
Get-Command
– список доступных команд-
Get-Command -Module <модуль>
– команды из конкретного модуля-
Get-Alias
– список псевдонимов команд-
Get-Process
– список запущенных процессов-
Get-Service
– список службНавигация по файловой системе
-
Get-Location
– текущий путь-
Set-Location <путь>
– перейти к каталогу-
Get-ChildItem
или ls
– просмотр содержимого каталога-
New-Item -Path <путь> -Name <имя> -ItemType <тип>
– создать файл или папкуРабота с файлами и папками
-
Copy-Item -Path <источник> -Destination <назначение>
– копировать файл/папку-
Move-Item -Path <источник> -Destination <назначение>
– переместить файл/папку-
Remove-Item -Path <путь>
– удалить файл/папку-
Rename-Item -Path <путь> -NewName <новое имя>
– переименовать файл/папкуРабота с текстом и выводом
-
Write-Output "текст"
– вывод текста-
Write-Host "текст"
– вывод текста на экран-
Read-Host -Prompt "вопрос"
– ввод данных от пользователя-
Get-Content <файл>
– чтение содержимого файла-
Set-Content <файл>
– запись в файл-
Add-Content <файл>
– добавление текста в файлПеременные
-
$<имя_переменной> = значение
– создание переменной-
$var += значение
– добавление к значению переменной-
$null
– пустое значениеУсловия и циклы
-
if (<условие>) { <действие> }
– условие if-
foreach ($item in $array) { <действие> }
– цикл foreach
-
while (<условие>) { <действие> }
– цикл while
Работа с процессами и службами
-
Start-Process <программа>
– запуск программы-
Stop-Process -Name <имя>
– завершение процесса-
Start-Service <служба>
– запуск службы-
Stop-Service <служба>
– остановка службыФильтрация и сортировка
-
Where-Object { <условие> }
– фильтрация объектов-
Sort-Object <свойство>
– сортировка объектовПримеры:
1. Получение списка файлов:
Get-ChildItem -Path "C:\папка"
2. Копирование файла:
Copy-Item -Path "C:\путь\файл.txt" -Destination "D:\копия\файл.txt"
3. Вывод чисел от 1 до 10:
for ($i = 1; $i -le 10; $i++) { Write-Output $i }
4. Фильтрация процессов по имени:
Get-Process | Where-Object { $_.Name -eq "notepad" }
❤1