GoAccess - это реал тайм анализатор веб логов и интерактивная программа просмотра с открытым исходным кодом, который запускается в терминале в системах * nix или через ваш браузер.
Demo
https://rt.goaccess.io/?20210208192039
Github
https://github.com/allinurl/goaccess
👉 @sysadminof
Demo
https://rt.goaccess.io/?20210208192039
Github
https://github.com/allinurl/goaccess
👉 @sysadminof
👍8
📈Picosnitch - мониторинг сетевого трафика на каждый исполняемый файл с помощью BPF
Получение уведомлений при подключении к сети новой программы или при ее изменении
Контролирует пропускную способность сети, разбивая трафик по исполняемым файлам, хэшам, родителям, доменам, портам или пользователям с течением времени
При желании можно проверить хэши или исполняемые файлы с помощью VirusTotal
Хеши исполняемых файлов кэшируются на основе устройства + inode для повышения производительности и работают с приложениями, запущенными в контейнерах
Используется BPF для точного мониторинга пропускной способности с низкими накладными расходами и fanotify для контроля исполняемых файлов на предмет модификации
Поскольку приложения могут вызывать других пользователей для отправки/получения данных для них, родительский исполняемый файл и хэш также регистрируются для каждого соединения
Прагматичный и минималистичный дизайн, сфокусированный на точном обнаружении с четким сообщением об ошибке, когда это невозможно
https://github.com/elesiuta/picosnitch
https://elesiuta.github.io/picosnitch/
👉 @sysadminof
Получение уведомлений при подключении к сети новой программы или при ее изменении
Контролирует пропускную способность сети, разбивая трафик по исполняемым файлам, хэшам, родителям, доменам, портам или пользователям с течением времени
При желании можно проверить хэши или исполняемые файлы с помощью VirusTotal
Хеши исполняемых файлов кэшируются на основе устройства + inode для повышения производительности и работают с приложениями, запущенными в контейнерах
Используется BPF для точного мониторинга пропускной способности с низкими накладными расходами и fanotify для контроля исполняемых файлов на предмет модификации
Поскольку приложения могут вызывать других пользователей для отправки/получения данных для них, родительский исполняемый файл и хэш также регистрируются для каждого соединения
Прагматичный и минималистичный дизайн, сфокусированный на точном обнаружении с четким сообщением об ошибке, когда это невозможно
https://github.com/elesiuta/picosnitch
https://elesiuta.github.io/picosnitch/
👉 @sysadminof
🔥5👍3
Трюки терминала Bash
Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.
Горячие клавиши" Bash с Ctrl
Изменить заглавные на строчные и наоборот
Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
Запускает последнюю команду и меняет какой-то параметр. Например, меняем
Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте
Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
— запускает
Указание файлов по шаблону в Bash
Полезные переменные окружения Bash
Короткие переменные:
Более длинные, но тоже полезные переменные:
👉 @sysadminof
Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.
Горячие клавиши" Bash с Ctrl
Ctrl + n
— то же самое, что и стрелка вниз.Ctrl + p
— то же самое, что и стрелка вверх.Ctrl + r
— поиск по предыдущим командам из истории команд (history). Продолжайте нажимать Ctrl + r
, чтобы искать дальше. Ctrl + Shift + r
— поиск в другую сторону.Ctrl + s
— остановить вывод в терминал.Ctrl + q
— восстановить вывод в терминал после Ctrl + s.Ctrl + a
— перейти к началу строки (аналог клавиши Home).Ctrl + e
— перейти к концу строки (аналог клавиши End).Ctrl + d
— если вы ввели что-то, то Ctrl + d
удаляет символ под курсором. В противном случае означает конец ввода и завершает текущую сессию Bash.Ctrl + k
— удалить весь текст от курсора до конца строки.Ctrl + x + backspace
— удалить весь текст от начала строки до курсора.Ctrl + t
— переставить символ до курсора на символ под курсором. Нажмите Esc + t
для перестановки двух слов до курсора.Ctrl + w
— удалить слово до курсора; затем Ctrl + y, чтобы вставить его.Ctrl + u
— удалить строку перед курсором; Ctrl + y для вставки его.Ctrl + _
— отменить ввод.Ctrl + l
— очищает окно терминала. То же самое, что и clear.Ctrl + x + Ctrl + e
— запускает редактор, определённый в переменной $EDITOR
, для ввода команды. Полезно для многострочных команд.Изменить заглавные на строчные и наоборот
Esc + u
— преобразовать буквы от курсора до конца строки в заглавные буквы.Esc + l
— преобразовать буквы от курсора до конца строки в нижний регистр.Esc + c
— заменить букву под курсором на заглавную.Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
!53
!!
— запуск последней команды.sudo !!
— запустить предыдущую команду с sudo.Запускает последнюю команду и меняет какой-то параметр. Например, меняем
"aaa" на "bbb":
# Последняя команда: echo 'aaa'
$ ^aaa^bbb
$ echo 'bbb'
bbb
Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте
:&
:^aaa^bbb^:&
# или
!!:gs/aaa/bbb/
Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
!cat
# или
!c
— запускает
cat filename
ещё раз.Указание файлов по шаблону в Bash
/etc/pa*wd
→ /etc/passwd
— символ *
означает "несколько любых символов"./b?n/?at
→ /bin/cat
— символ ?
означает "один любой символ".ls -l [a-z]*
— вывести список файлов, содержащих только буквы латинского алфавита. В квадратных скобках []
перечисляются символы, которые будут искаться. А символ *
после []
означает "хоть сколько раз".ls {*.sh,*.py}
— вывести все .sh и .py файлы. {}
используется для группировки нескольких шаблонов по принципу "или".Полезные переменные окружения Bash
Короткие переменные:
$0
— оболочка командной строки или путь до запускаемого файла.$1
, $2
, $3
, ... — аргументы запуска скрипта.$#
— число аргументов, переданных в скрипт из терминала.$?
— код завершения последней команды.$-
— текущие опции, установленные для оболочки.$$
— идентификатор текущего процесса.$!
— идентификатор процесса, завершённого последним.Более длинные, но тоже полезные переменные:
$DESKTOP_SESSION
— текущий менеджер дисплеев.$EDITOR
— редактор текста по умолчанию.$LANG
— используемый системой язык.$PATH
— список директорий, в которых будут искаться исполняемые файлы.$PWD
— текущая директория.$SHELL
— текущая оболочка командной строки.$USER
— имя текущего пользователя.$HOSTNAME
— имя текущего хоста (компьютера).👉 @sysadminof
👍7🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Yoink.vim
Плагин Vim, который поддерживает историю yank для переключения между ними при вставке.
https://github.com/svermeulen/vim-yoink
👉 @sysadminof
Плагин Vim, который поддерживает историю yank для переключения между ними при вставке.
https://github.com/svermeulen/vim-yoink
👉 @sysadminof
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Анализ сетевого трафика и устранение неполадок
1.Обзор
2.Три направления
3.Tcpdump
4.Кадр, пакет, сегмент
5.Основы перехвата трафика
6. Обнаружение сети
7.Основы фильтрации
8.Основы TCP
9.RTT и размер окна
10.Проблемы
источник
👉 @sysadminof
1.Обзор
2.Три направления
3.Tcpdump
4.Кадр, пакет, сегмент
5.Основы перехвата трафика
6. Обнаружение сети
7.Основы фильтрации
8.Основы TCP
9.RTT и размер окна
10.Проблемы
источник
👉 @sysadminof
👍15❤2
Что такое свой NAS и как его начать делать?
Современный и доступный NAS - понятие довольно растяжимое. Для чего он нужен - для дома или офиса, его размеры, мобильность, стоимость, программное обеспечение, все эти и другие вопросы так или иначе определяют конкретную модель и сферу применения. Рассмотрим то, что будет интересно всем - это системы хранения для дома или малых рабочих групп. Причем существуют не только ограничения по стоимости и локальной доступности, но также и простое желание собрать что-то своими руками. Мы постарались разобраться в ситуации, проанализировать существующие решения и, возможно, предложить свой вариант развития, который будет интересен и тем, кто хочет купить готовое решение, и тем, кто смотрит на NAS как на потенциальное устройство для самостоятельной сборки от железа до софта.
https://habr.com/ru/company/3rdman/blog/713900/
👉 @sysadminof
Современный и доступный NAS - понятие довольно растяжимое. Для чего он нужен - для дома или офиса, его размеры, мобильность, стоимость, программное обеспечение, все эти и другие вопросы так или иначе определяют конкретную модель и сферу применения. Рассмотрим то, что будет интересно всем - это системы хранения для дома или малых рабочих групп. Причем существуют не только ограничения по стоимости и локальной доступности, но также и простое желание собрать что-то своими руками. Мы постарались разобраться в ситуации, проанализировать существующие решения и, возможно, предложить свой вариант развития, который будет интересен и тем, кто хочет купить готовое решение, и тем, кто смотрит на NAS как на потенциальное устройство для самостоятельной сборки от железа до софта.
https://habr.com/ru/company/3rdman/blog/713900/
👉 @sysadminof
👍6
Пакетная фильтрация в Linux
Бесконтекстная пакетная фильтрация (iptables): stateless
Контекстная пакетная фильтрация (iptables): stateful
источник
👉 @sysadminof
Бесконтекстная пакетная фильтрация (iptables): stateless
Контекстная пакетная фильтрация (iptables): stateful
источник
👉 @sysadminof
👍5👏4❤1
Как найти количество открытых файлов в Linux
Значение сохраняется в
Проверка Hard лимит в Linux
Проверка Soft лимит в Linux
Чтобы просмотреть значения Hard и Soft для разных пользователей, переключите пользователя с «su» на пользователя, ограничения которого вы хотите проверить.
Например:
Как проверить количество системных дескрипторов файлов в Linux
На серверах, некоторые из ваших приложений могут потребовать более высокий лимит для открытых дескрипторов файлов. Хорошим примером этого являются службы MySQL / MariaDB или веб-сервер Apache.
Вы можете увеличить лимит открытых файлов в Linux, отредактировав опцию ядра
Sysctl используется для настройки параметров ядра.
Например, чтобы увеличить ограничение на количество открых файла до 500000, вы можете использовать следующую команду:
Вы можете проверить текущее значение для количества открытых файлов с помощью следующей команды:
С помощью указанной команды изменения, которые вы внесли, будут оставаться активными только до следующей перезагрузки. Если вы хотите применить их на постоянной основе, вам придется отредактировать следующий файл:
Добавьте следующую команду:
Конечно, вы можете изменить число в соответствии с вашими потребностями. Чтобы снова проверить изменения, используйте:
Чтобы изменения вступили в силу, пользователям необходимо будет выйти из системы и снова войти в систему. Если вы хотите немедленно применить ограничения, вы можете использовать следующую команду:
Установка количества открытых файлов для пользователя в Linux
Вышеприведенные примеры показали, как установить ограничения, но вы можете установить лимит для каждого пользователя. Для этой цели, с правами пользователя root, вам необходимо отредактировать следующий файл:
Если вы администратор Linux, предлагаем Вам ознакомиться с этим файлом. Прочитайте все комментарии в нем, поскольку он обеспечивает гибкость в плане управления системными ресурсами путем установки лимита пользователям на разных уровнях.
Команды, которые вы должны добавить, имеют следующие параметры:
Вот пример установки Soft и Hard лимитов для пользователя dimon:
## Example hard limit for max opened files
dimon hard nofile 4096
## Example soft limit for max opened files
dimon soft nofile 1024
👉 @sysadminof
Значение сохраняется в
# cat /proc/sys/fs/file-max
Проверка Hard лимит в Linux
# ulimit -Hn
Проверка Soft лимит в Linux
# ulimit -Sn
Чтобы просмотреть значения Hard и Soft для разных пользователей, переключите пользователя с «su» на пользователя, ограничения которого вы хотите проверить.
Например:
# su root
$ ulimit -Sn
$ ulimit -Hn
Как проверить количество системных дескрипторов файлов в Linux
На серверах, некоторые из ваших приложений могут потребовать более высокий лимит для открытых дескрипторов файлов. Хорошим примером этого являются службы MySQL / MariaDB или веб-сервер Apache.
Вы можете увеличить лимит открытых файлов в Linux, отредактировав опцию ядра
fs.file-max. Для этого используйте утилиту sysctl.
Sysctl используется для настройки параметров ядра.
Например, чтобы увеличить ограничение на количество открых файла до 500000, вы можете использовать следующую команду:
# sysctl -w fs.file-max=500000
Вы можете проверить текущее значение для количества открытых файлов с помощью следующей команды:
$ cat /proc/sys/fs/file-max
С помощью указанной команды изменения, которые вы внесли, будут оставаться активными только до следующей перезагрузки. Если вы хотите применить их на постоянной основе, вам придется отредактировать следующий файл:
# vi /etc/sysctl.conf
Добавьте следующую команду:
fs.file-max=500000
Конечно, вы можете изменить число в соответствии с вашими потребностями. Чтобы снова проверить изменения, используйте:
# cat /proc/sys/fs/file-max
Чтобы изменения вступили в силу, пользователям необходимо будет выйти из системы и снова войти в систему. Если вы хотите немедленно применить ограничения, вы можете использовать следующую команду:
# sysctl -p
Установка количества открытых файлов для пользователя в Linux
Вышеприведенные примеры показали, как установить ограничения, но вы можете установить лимит для каждого пользователя. Для этой цели, с правами пользователя root, вам необходимо отредактировать следующий файл:
# vi /etc/security/limits.conf
Если вы администратор Linux, предлагаем Вам ознакомиться с этим файлом. Прочитайте все комментарии в нем, поскольку он обеспечивает гибкость в плане управления системными ресурсами путем установки лимита пользователям на разных уровнях.
Команды, которые вы должны добавить, имеют следующие параметры:
<domain> <type> <item> <value>
Вот пример установки Soft и Hard лимитов для пользователя dimon:
## Example hard limit for max opened files
dimon hard nofile 4096
## Example soft limit for max opened files
dimon soft nofile 1024
👉 @sysadminof
👍8🎉2
Работа с правами доступа файлов и директорий в 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 битом, начиная с корня файловой системы
Листинг текущего каталога с правами доступа
👉 @sysadminof
# 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
Листинг текущего каталога с правами доступа
👉 @sysadminof
👍6👏1