поговаривают, что rsa - уныло, грустно и вообще устаревшие фекалии мамонта. За сям нужно все это дело апгредить.
https://bagja.net/blog/upgrade-ssh-key-to-ed25519.html
#ssh #rsa #ed25519
https://bagja.net/blog/upgrade-ssh-key-to-ed25519.html
#ssh #rsa #ed25519
Openvpn объединение файлов в один конфиг
Клиент openvpn прекрасно умеет работать по одному файлу, в котором включены все параметры, сертификаты и ключи. Преимуществ уйма - начиная от автоматизации, когда генерируется всего один файл и заканчивая отсутсвием необходимости таскать за собой ворох ключей, следить за их именами и путями где они лежат.
Для того чтобы создать такой файл в конфиг openvpn.conf последовательно в любом порядке записываются все ключи и сертификаты, отделяясь друг от друга тегами, как в html разметке. Для каждого ключа - свой тег.
Полный список тегов: ca, cert, dh, extra-certs, key, pkcs12, secret, --tls-auth.
Пример:
Клиент openvpn прекрасно умеет работать по одному файлу, в котором включены все параметры, сертификаты и ключи. Преимуществ уйма - начиная от автоматизации, когда генерируется всего один файл и заканчивая отсутсвием необходимости таскать за собой ворох ключей, следить за их именами и путями где они лежат.
Для того чтобы создать такой файл в конфиг openvpn.conf последовательно в любом порядке записываются все ключи и сертификаты, отделяясь друг от друга тегами, как в html разметке. Для каждого ключа - свой тег.
Полный список тегов: ca, cert, dh, extra-certs, key, pkcs12, secret, --tls-auth.
Пример:
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
f745... rest of tls key
-----END OpenVPN Static key V1-----
</tls-auth>
<ca>
-----BEGIN CERTIFICATE-----
MIIG... rest of ca.crt data
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
MIIH... rest of client/user .crt data
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
MIIJ... rest of client/user .key data
-----END PRIVATE KEY-----
</key>
Forwarded from mindsellers
Как настроить 2500 микротиков по всей стране и поддерживать на них актуальный конфиг, когда у падаванов на местах - лапки
Итак, постановка задачи:
* Имеется порядка 2500 географически разнесенных торговых точек. В каждой точке установлен т.н. Главный компьютер, он же ПК заведующего, кассы на базе персональных компьютеров под управлением Windows, система видеонаблюдения.
* Сеть одноранговая, 192.168.0.0/24, адрес шлюза и ДНС, он же роутер, 192.168.0.254, адрес главного компьютера - 192.168.0.1. Подключение к Интернет не стандартизировано.
* Необходимо обеспечить доступ главного компьютера в интернет без ограничений, остальным устройствам в сети предоставить доступ только на заранее известный список ресурсов. Кроме того, требуется обеспечить возможность удаленного управления каждым роутером в отдельности, а также возможность массовой настройки всех устройств, например, для добавления нового ресурса в список разрешенных.
* Постепенную замену всех установленных роутеров на MikroTik hAP ac lite необходимо произвести силами региональных техников, не знакомых с RouterOS. Предоставление доступа к настроенным роутерам местному персоналу по умолчанию не предполагается.
Взяли python в зубы и за три дня набыдлокодили. Структурно вышло вот так:
* Для первичной настройки роутера разработана консольная программа, которая в доступной для эникея низкой квалификации форме запросит параметры подключения к Интернет и номер торговой точки. После этого конфигурация маршрутизатора происходит в автоматическом режиме
* Для удаленного управления устройствами поднимается VPN-туннель до центрального офиса
* В офисе установлен и настроен VPN-сервер
* Параметры подключения(логин и пароль) генерируются для каждого устройства как средствами программы настройки, так и на стороне сервера. IP-адрес на VPN-интерфейсе ассоциирован с номером торговой точки по следующему правилу: номер торговой точки приводится в 4-значный hex, который разделяется на 2 октета, и каждый из них возвращается в dec. Пример: точка №500. hex(500)=01f4, dec(01)=1, dec(f4)=244. Таким образом, два последних октета адреса на PPTP интерфейсе будет 1.244
* На серверной стороне разработан скрипт, осуществляющий массовое применение изменений. Для каждого устройства выполняются только те команды, которые еще не были применены для него, то есть контролируется версионность.
за подробностями и кодом - в wiki или vk:
http://pubwiki.mindsellers.ru/index.php/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D1%80%D0%BA%D0%BE%D0%BC_MikroTik
vk.com/@mindsellers-sistema-centralizovannogo-upravleniya-parkom-mikrotik
#python #mikrotik #vpn
Итак, постановка задачи:
* Имеется порядка 2500 географически разнесенных торговых точек. В каждой точке установлен т.н. Главный компьютер, он же ПК заведующего, кассы на базе персональных компьютеров под управлением Windows, система видеонаблюдения.
* Сеть одноранговая, 192.168.0.0/24, адрес шлюза и ДНС, он же роутер, 192.168.0.254, адрес главного компьютера - 192.168.0.1. Подключение к Интернет не стандартизировано.
* Необходимо обеспечить доступ главного компьютера в интернет без ограничений, остальным устройствам в сети предоставить доступ только на заранее известный список ресурсов. Кроме того, требуется обеспечить возможность удаленного управления каждым роутером в отдельности, а также возможность массовой настройки всех устройств, например, для добавления нового ресурса в список разрешенных.
* Постепенную замену всех установленных роутеров на MikroTik hAP ac lite необходимо произвести силами региональных техников, не знакомых с RouterOS. Предоставление доступа к настроенным роутерам местному персоналу по умолчанию не предполагается.
Взяли python в зубы и за три дня набыдлокодили. Структурно вышло вот так:
* Для первичной настройки роутера разработана консольная программа, которая в доступной для эникея низкой квалификации форме запросит параметры подключения к Интернет и номер торговой точки. После этого конфигурация маршрутизатора происходит в автоматическом режиме
* Для удаленного управления устройствами поднимается VPN-туннель до центрального офиса
* В офисе установлен и настроен VPN-сервер
* Параметры подключения(логин и пароль) генерируются для каждого устройства как средствами программы настройки, так и на стороне сервера. IP-адрес на VPN-интерфейсе ассоциирован с номером торговой точки по следующему правилу: номер торговой точки приводится в 4-значный hex, который разделяется на 2 октета, и каждый из них возвращается в dec. Пример: точка №500. hex(500)=01f4, dec(01)=1, dec(f4)=244. Таким образом, два последних октета адреса на PPTP интерфейсе будет 1.244
* На серверной стороне разработан скрипт, осуществляющий массовое применение изменений. Для каждого устройства выполняются только те команды, которые еще не были применены для него, то есть контролируется версионность.
за подробностями и кодом - в wiki или vk:
http://pubwiki.mindsellers.ru/index.php/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D1%80%D0%BA%D0%BE%D0%BC_MikroTik
vk.com/@mindsellers-sistema-centralizovannogo-upravleniya-parkom-mikrotik
#python #mikrotik #vpn
VK
Система централизованного управления парком MikroTik
Разработка клиентской части ведется на Windows с корректно установленным Python, pip и любым подходящим редактором.
Grafana basic auth
В ролях:
- grafana stable chart
- nginx ingress controller
- terraform
Задача:
Сделать basic auth для графаны на уровне nginx, передавая username в grafana, так чтобы переданное имя использовалось как пользователь в grafana и запихнуть всё это в терраформ.
Решение: (выписка из values.yaml)
Содержимое файла basic_auth.txt заполняется так:
#grafana #kubernetes #nginx #ingress #terraform
В ролях:
- grafana stable chart
- nginx ingress controller
- terraform
Задача:
Сделать basic auth для графаны на уровне nginx, передавая username в grafana, так чтобы переданное имя использовалось как пользователь в grafana и запихнуть всё это в терраформ.
Решение: (выписка из values.yaml)
ingress:где переменные в main.tf принимают такие значения:
enabled: true
annotations:
'kubernetes.io/ingress.class': ${var.controller_ingress_class}
'nginx.ingress.kubernetes.io/auth-type': ${var.auth-type}
'nginx.ingress.kubernetes.io/auth-secret': ${var.basic_auth_secret_name}
'nginx.ingress.kubernetes.io/auth-realm': ${var.auth-realm}
'nginx.ingress.kubernetes.io/configuration-snippet': |
proxy_set_header X-Remote-User $remote_user;
....
grafana.ini:
users:
allow_sign_up: false
allow_org_create: false
auth:
disable_login_form: true
auth.proxy:
enabled: true
header_name: X-Remote-User
header_property: username
auto_sign_up: true
auth-type = "basic"
auth-secret = "nginx-ingress-auth"
auth-realm = "Authentication Required - OK"
basic_auth_secret = "${file("basic_auth.txt")}"
Содержимое файла basic_auth.txt заполняется так:
htpasswd -nb username long_long_password > basic_auth.txt
#grafana #kubernetes #nginx #ingress #terraform
курс по CCNA
http://blog.netskills.ru/p/cisco-packet-tracer.html?m=1
http://blog.netskills.ru/search/label/%D0%BA%D1%83%D1%80%D1%81%20%D0%BC%D0%BE%D0%BB%D0%BE%D0%B4%D0%BE%D0%B3%D0%BE%20%D0%B1%D0%BE%D0%B9%D1%86%D0%B0
https://www.youtube.com/playlist?list=PLcDkQ2Au8aVNYsqGsxRQxYyQijILa94T9
#networking #cisco #ccna #learning #thirdparty
http://blog.netskills.ru/p/cisco-packet-tracer.html?m=1
http://blog.netskills.ru/search/label/%D0%BA%D1%83%D1%80%D1%81%20%D0%BC%D0%BE%D0%BB%D0%BE%D0%B4%D0%BE%D0%B3%D0%BE%20%D0%B1%D0%BE%D0%B9%D1%86%D0%B0
https://www.youtube.com/playlist?list=PLcDkQ2Au8aVNYsqGsxRQxYyQijILa94T9
#networking #cisco #ccna #learning #thirdparty
blog.netskills.ru
Курс молодого бойца. Практический курс с использованием Cisco Packet Tracer
Перед вами практический курс для новичков в мире сетевых технологий. Посмотрев данный материал вы научитесь пользоваться программным симу...
время старта процесса
#ps
$ ps -eo pid,lstart,cmd
PID CMD STARTED
1 Tue Jun 7 01:29:38 2016 /sbin/init
2 Tue Jun 7 01:29:38 2016 [kthreadd]
3 Tue Jun 7 01:29:38 2016 [ksoftirqd/0]
5 Tue Jun 7 01:29:38 2016 [kworker/0:0H]
7 Tue Jun 7 01:29:38 2016 [rcu_sched]
8 Tue Jun 7 01:29:38 2016 [rcu_bh]
9 Tue Jun 7 01:29:38 2016 [migration/0]
10 Tue Jun 7 01:29:38 2016 [kdevtmpfs]
11 Tue Jun 7 01:29:38 2016 [netns]
277 Tue Jun 7 01:29:38 2016 [writeback]
279 Tue Jun 7 01:29:38 2016 [crypto]
#ps
Forwarded from Кавычка (Bo0oM)
Хороший материал по захвату доменов (поддоменов), когда о них забывают:
https://github.com/EdOverflow/can-i-take-over-xyz
https://github.com/EdOverflow/can-i-take-over-xyz
GitHub
GitHub - EdOverflow/can-i-take-over-xyz: "Can I take over XYZ?" — a list of services and how to claim (sub)domains with dangling…
"Can I take over XYZ?" — a list of services and how to claim (sub)domains with dangling DNS records. - EdOverflow/can-i-take-over-xyz
Apache, ты пьян, иди домой
Словил сегодня интересную особенность apache. Запустил докер с апачем внутри и начал тестить. Захожу в браузере на страничку, иногда возвращаюсь в терминал. В один прекрасный момент замечаю что апач завершил работу. Путем вдумчивых повторений процесса оказалось что... при изменении размера терминала апач завершает свою работу. ему посылается сигнал SIGWINCH, который апач воспринимает как gracefull shutdown.
более подробное разъяснение (лень переводить)
SIGWINCH
SIGWINCH means SIGNAL WINDOWS CHANGE and is sent automatically when a terminal detects a change in it's windows size to allow for a redraw.
SIGWINCH for apache2
But unfortunately apache2 process poorly misuses this signal (in the way they divert its first meaning), but for their defense, they seems not to have a choice and had to resort to this due to a lack of signal (see bug report). One of their assumption is that apache2 process is always in background.
т.е. из этого становится понятно - апач запущен в foreground с подключенной tty (docker run -t). Поэтому при изменении размера терминала получаем завершение работы.
источник
#apache #yakuake
Словил сегодня интересную особенность apache. Запустил докер с апачем внутри и начал тестить. Захожу в браузере на страничку, иногда возвращаюсь в терминал. В один прекрасный момент замечаю что апач завершил работу. Путем вдумчивых повторений процесса оказалось что... при изменении размера терминала апач завершает свою работу. ему посылается сигнал SIGWINCH, который апач воспринимает как gracefull shutdown.
более подробное разъяснение (лень переводить)
SIGWINCH
SIGWINCH means SIGNAL WINDOWS CHANGE and is sent automatically when a terminal detects a change in it's windows size to allow for a redraw.
SIGWINCH for apache2
But unfortunately apache2 process poorly misuses this signal (in the way they divert its first meaning), but for their defense, they seems not to have a choice and had to resort to this due to a lack of signal (see bug report). One of their assumption is that apache2 process is always in background.
т.е. из этого становится понятно - апач запущен в foreground с подключенной tty (docker run -t). Поэтому при изменении размера терминала получаем завершение работы.
источник
#apache #yakuake
Что такое LA на linux OS
попалась на глаза довольно простая и по-детски объясняющая что же именно скрывается за волшебной статистикой load average.
https://scoutapp.com/blog/understanding-load-averages
или еще один вариант
http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html
#la
попалась на глаза довольно простая и по-детски объясняющая что же именно скрывается за волшебной статистикой load average.
https://scoutapp.com/blog/understanding-load-averages
или еще один вариант
http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html
#la
Scoutapm
Understanding Linux CPU Load - when should you be worried? | Scout APM Blog
In terms of load averages the three numbers represent averages over progressively longer periods of time (i.e. 1, 5, and 15-min. averages).
tcpdump && iptables
https://superuser.com/questions/925286/does-tcpdump-bypass-iptables
немного полезной информации о том как именно tcpdump становится "в разрез"
https://superuser.com/questions/925286/does-tcpdump-bypass-iptables
немного полезной информации о том как именно tcpdump становится "в разрез"
Super User
Does tcpdump bypass iptables?
I mistakenly setup open resolver DNS server, which was soon used for a bunch of DDoS attacks originating somewhere from / to Russia. For that reason I completely blocked port 53 on both DNS servers...
Админим с Буквой
Юным пентестерам на заметку https://github.com/bykvaadm/OS/tree/master/webvuln/lab1
update: https://github.com/bykvaadm/OS/tree/master/webvulns/lab1
ссылка теперь другая. навел порядок в папках.
ссылка теперь другая. навел порядок в папках.
GitHub
OS/webvulns/lab1 at master · bykvaadm/OS
Contribute to bykvaadm/OS development by creating an account on GitHub.