Заметки об OpenSource из различных источников. Часть 1

1. Joplin - an open source note taking and to-do application with synchronisation capabilities for Windows, macOS, Linux, Android and iOS.

 

2. Для мониторинга voip трафика по протоколу sip есть отличное бесплатное open source решение - VoIPmonitor. С его помощью можно контролировать и оценивать качество голосовой связи. Сразу уточню, что бесплатен только сам бэкенд, который собирает данные, кладёт в базу, анализирует. Веб интерфейс для удобной работы с данными платный. Бесплатно - только cli.

 

3. PeerTube - self-hosted аналог youtube

 

4. SIP3 - бесплатный Open Source проект. Функционально во многом похож на VoIPmonitor, но у него в бесплатной редакции (Community Edition) есть веб панель с базовым функционалом.

 

5. sshfs - существует необычный способ подмонтировать директорию с одного Linux сервера к другому. Это можно сделать с помощью sshfs. Для этого потребуется только SSH доступ на одном сервере и утилита sshfs на другом. Иногда это очень выручает.

 

6. - килобиты в секунду — кбит/с (kbps, kbit/s или kb/s)

- мегабиты в секунду — Мбит/с (Mbps, Mbit/s или Mb/s)

- гигабиты в секунду — Гбит/с (Gbps, Gbit/s или Gb/s)

Килобиты (kb) всегда в сокращениях пишутся с маленькой буквы, килобайты с большой - KB.

Пример правильного написания размера данных:

- Килобайт — КБ, Кбайт (KB)

- Мегабайт — МБ, Мбайт (MB)

- Гигабайт — ГБ, Гбайт (GB)

Часто путают MB/s и Mb/s (1 MB/s = 8 Mb/s), поэтому рекомендуется использовать сокращение Mbit/s

 

7. units - умеет делать конвертацию одних единиц измерения в другие.

units "10 mebibyte" megabits

* 83.88608

/ 0.011920929

10 мебибайт = 83,89 мегабит. Первое число - результат прямой конвертации 10 мебибайт в мегабиты, второе - коэффициент, с помощью которого может быть выполнена обратная конвертация.

Переводим 100 Мбит в Мбайт:

units "100 megabit" megabyte

* 12.5

/ 0.08

100 мегабит = 12,5 мегабайт.

 

8. Дешевые VPS: https://www.ihor.ru/vds

 

9. Веб интерфейс OpenVPN сервера - Access Server, но это платный продукт. Есть бесплатная версия с суровым ограничением - не больше двух vpn подключений к серверу. Есть лекарство.

 

10. Проверить производительность арендуемого сервера или VPS - Yet-Another-Bench-Script (yabs.sh).

 

11. t14m4t - bash обёртка над Hydra и Nmap. Автоматически ставит их и запускает сканирование заданного хоста.

Установка на Debian:

git clone https://github.com/MS-WEB-BN/t14m4t/

cd t14m4t

bash install.sh

chmod +x t14m4t

Сканируем вымышленный хост hacktarget.com:

./t14m4t hacktarget.com

Скрипт ищет открытые порты популярных сервисов (smtp, imap, rdp и т.д.) и пытается сбрутить учётки по словарям, которые прилагаются в виде отдельных файлов. В репе на github словари простые.

 

12. MHDDoS

git clone https://github.com/MatrixTM/MHDDoS.git

cd MHDDoS

pip install -r requirements.txt

Для атаки L7 требуется список прокси. Если его нет, то скрипт автоматом скачает списки прокси от публичных сервисов, проверит работоспособность и начнёт использовать.

python3 start.py GET https://site.com 0 50 proxy.txt 10 30

Атакуем сайт site.com атакой типа L7 методом GET с использованием всех доступных прокси (параметр 0), в 50 потоков, используя по 10 подключений к каждому прокси-серверу, в течении 30 секунд.

Для атаки уровня L4 прокси не нужны. Всё гораздо проще:

python3 start.py udp 1.1.1.1:53 1 30

Атакуем dns сервер udp флудом по 53 порту в 1 поток в течении 30 секунд.

 

13. Tactical RMM is a remote monitoring & management tool.

Features:

Teamviewer-like remote desktop control

Real-time remote shell

Remote file browser (download and upload files)

Remote command and script execution (batch, powershell and python scripts)

Event log viewer

Services management

Windows patch management

Automated checks with email/SMS alerting (cpu, disk, memory, services, scripts, event logs)

Automated task runner (run scripts on a schedule)

Remote software installation via chocolatey

Software and hardware inventory

 

14. Начнём с того какая схема нужна: fullmash, hub-and-spoke.

Если фуллмэш, то белые адреса нужны на каждой точке.

Судя по всему обсуждается схема с центральной точкой - хабэнспок.

На каком протоколе строить туннель не принципиально, что привычнее/удобнее.

Адресация: на каждый туннель /30, на каждый филиал (если там комп и принтер и нет планов расти) хватит /29.

На всем поднять OSPF.

Главное все внести в IPAM (можно даже Netbox с картой поднять) - учёт всего и сразу.

 

15. По организации сети - выбираем центральный роутер, поднимаем IPsec-gre-BGP для динамической маршрутизации. Подключаем клентов. Такая связка достаточно стабильно работает. Закрытие доступа к сайтам - по address-list, что бы было проще сопровождать.

 

16. Защита Asterisk от атак и взлома:

Обязательная установка сложных паролей

Использование нестандартных паролей на управление

Включение защиты от перебора паролей

Запрет пропускания неаутентифицированных звонков

Ограничение доступа к системе средствами firewall

Использование последних стабильных версий ПО

В качестве дополнительной защиты можно настроить нестандартные порты доступа к Asterisk, разрешить доступ только с определенных внешних ip-адресов, установить у провайдера лимит расходования средств/трафика в сутки.

 

17. Простой способ получить информацию об IP:

curl 'https://ifconfig.co/json?ip=1.1.1.1' | jq

 

18. TacacsGUI - Free Access Control Server for Your Network Devices.

 

19. log-user-session - create a log of a (ssh) session (https://github.com/open-ch/log-user-session/blob/develop/doc/log-user-se...)

 

20. whatweb - утилита для начальной разведки веб сервера или сайта.

 

21. NetXMS - Open Source решение для мониторинга компьютерных систем и сетей (написан на java).

 

22. Munin (munin-monitoring.org), Monitorix, monit - легковесная замена Zabbix.

 

23. LanTopoLog - средство автоматического создания схемы сети в виде дерева коммутаторов.

 

24. Скрипт mysqltuner - выдает максимально возможное потребление памяти сервером БД в значениях:

Total buffers: 192.0M global + 11.4M per thread (50 max threads)

 

25. vulhub, vulnhub - проекты, которые позволяют потренироваться над взломом или изучением каких-то уязвимостей.

 

26. LibreSpeed - self-hosted Speedtest for HTML5.

 

27. @SiteKnockerBot - бот мониторинга сайтов. Сервис мониторинга Freshping.

 

28. Iftop - показывает скорость соединений к удалённым хостам без привязки к приложениям.

NetHogs - разбивает трафик не по направлениям, а по приложениям.

 

29. Чтобы логи cron хранились в отдельном файле. В /etc/rsyslog.conf и раскомментируете строку:

cron.*                 /var/log/cron.log

Далее отключаем запись логов в общий файл. Добавляем cron.none в следующую строку:

*.*;auth,authpriv.none,cron.none    -/var/log/syslog

Перезапускаем rsyslog и cron:

systemctl restart rsyslog cron

Проверяем, появился ли файл с логом.

ls -l /var/log/cron.log

На всякий случай проверьте файл /etc/logrotate.d/rsyslog. Есть ли там строка с упоминанием файла /var/log/cron.log.

 

30. Утилита rclone для загрузки данных в S3 хранилище.

apt install rclone

~/.config/rclone/rclone.conf:

[selectel]

type = swift

user = 79167_username

key = uO6GdPZ97

auth = https://api.selcdn.ru/v3

tenant = 79167_username

auth_version = 3

endpoint_type = public

Бэкап директории /mnt/backup/day делается следующим образом:

/usr/bin/rclone copy /mnt/backup/day selectel:websrv-day

 

31. Лью rclone'ом в storj.io

Бесплатно 150 гигов.

 

32. Свой игровой сервер - LinuxGSM (Linux Game Server Manager) - Список игр.

 

33. Анализ дисковой активности в Linux

◽ Общая дисковая активность отдельного устройства:

btrace -w 60 -a write /dev/mapper/rhel-root

◽ Вывод статистики по дисковым устройствам в режиме реального времени:

watch -n 1 iostat -xk

◽ Детально в режиме реального времени нагрузку на диск отдельных приложений:

iotop -obPat

◽ Ещё один вариант отображения активности процессов в режиме реального времени:

pidstat -d 1

pidstat -p PID -d 1

◽ В какие файлы производится запись:

fatrace -f W

fatrace -t -s 60 -o ~/fatrace.log

◽ Детально разобраться с тем, что пишет процесс на диск:

strace -e trace=write -p PID

◽ PID процесса или процессов:

pgrep mariadb

ps ax | grep mariadb

◽ Список открытых файлов:

lsof +D /var/log

lsof -p [pid процесса] - когда нужно было узнать, из какой папки запущен бинарь

 

34. Sampler - консольная дашборда простой системы мониторинга.

https://github.com/sqshq/sampler

 

35. Утилиты netsniff-ng:

◽ netsniff-ng - аналог tcpdump;

◽ Trafgen - генератор сетевого трафика;

◽ Ifpps - показывает статистику по загрузке сетевого интерфейса;

ifpps -d ens18

◽ Flowtop - список сетевых соединений с информацией о процессе, удалённом адресе, статистику по трафику и т.д.

flowtop -G

◽ mausezahn - генератор пакетов с Cisco-like CLI;

◽ bpfc - компилятор Berkeley Packet Filter;

◽ curvetun - лёгкий, высокопроизводительный туннель на базе TUN/TAP интерфейсов;

◽ astraceroute - трассировщик с выводом информации в том числе об autonomous system (AS).

 

36. Какую файловую систему выбрать: ext4 или xfs?

ext4, в плюсы это восстановление удаленных данных, т.к. очень мало инструментов которые умеют восстановливать с xfs, далее умеет уменьшаться без костылей, стабильность на личном опыте, в отличие от xfs. По поводу исчерпания inode да на ext4 есть беда, но это на high load системах, с кучей файлов, это все решается, для этого нужно правильно строить архитектуру и уменьшение inode можно отловить с помощью zabbix.

 

37. Owncast is a free and open source live video and web chat server for use with existing popular broadcasting software (свой аналог Twitch и Youtube).

 

38. OpenConnect - открытая реализация Cisco AnyConnect.

 

39. dmesg - удобный инструмент для просмотра сообщений ядра в виде команды.​​

Время в человеческом формате: dmesg -T

Указание приоритета выводимых сообщений:

dmesg -T --level=emerg,alert,crit,err,warn

Вывести сообщения из пространства пользователя:

dmesg -u

Добавляет раскраску цветами и вывод времени в виде нарастающей разницы со стартового значения:

dmesg -H

 

40. Arkime умеет парсить трафик и складывать его в Elasticsearch. Сайт / Исходники / Инструкция

 

41. Утилита для сбора статистики по сетевой активности в Linux - vnStat. Можно посмотреть статистику загрузки сетевого интерфейса, разбитую по интервалам - 5 минут, час, день, неделя, месяц.

Установка:

apt install vnstat

Статистика за 5 мин:

vnstat -5

В режиме реального времени:

vnstat -l -i ens18

Псевдографические графики:

vnstat -hg

 

42. Простой и функциональный мониторинг сервера - Netdata.

Установка:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Порт - 19999, авторизации нет. По умолчанию доступны привычные базовые метрики - cpu, память, диск, сеть и т.д. Дополнительные коллекторы - https://learn.netdata.cloud/docs/agent/collectors/collectors

 

43. telegram-phone-number-checker.

Простой скрипт позволяет проверить, подключен ли конкретный номер телефона к учетной записи Telegram, а также возвращает имя пользователя и прочую информацию в случае успеха.

https://github.com/bellingcat/telegram-phone-number-checker

 

44. ​​Rhasspy Voice Assistant.

Полностью автономный приватный голосовой помощник для многих человеческих языков(в том числе и русский) с открытым исходным кодом.

Rhasspy поставляется с привлекательным веб-интерфейсом , который позволяет настраивать, программировать и тестировать голосового помощника удаленно из веб-браузера.

Сайт: https://community.rhasspy.org/