Size: a a a

Админим с Буквой

2018 April 16
Админим с Буквой
Proxy Auto Configuration

function FindProxyForURL(url, host)
{

 if (
   shExpMatch(url, "desktop.telegram.org/*") ||
   shExpMatch(url, "pluto-1.web.telegram.org/*") ||
   shExpMatch(url, "t.me/*") ||
   shExpMatch(url, "tdesktop.com/*") ||
   shExpMatch(url, "tdesktop.info/*") ||
   shExpMatch(url, "tdesktop.net/*") ||
   shExpMatch(url, "tdesktop.org/*") ||
   shExpMatch(url, "telegram.dog/*") ||
   shExpMatch(url, "telegram.me/*") ||
   shExpMatch(url, "telegram.org/*") ||
   shExpMatch(url, "telesco.pe/*") ||
   shExpMatch(url, "telegram.me/*") ||
   shExpMatch(url, "telegram.org/*") ||
   shExpMatch(url, "telesco.pe/*") ||
   shExpMatch(url, "venus.web.telegram.org/*") ||
   shExpMatch(url, "web.telegram.org/*")
   )
 {
   return "SOCKS5 x.x.x.x:1080";
 }

 if (
   isInNet(hostIP, '149.154.160.0' ' 255.255.240.0') ||
   isInNet(hostIP, '149.154.164.0' '255.255.252.0') ||
   isInNet(hostIP, '149.154.167.0' '255.255.252.0') ||
   isInNet(hostIP, '149.154.168.0' '255.255.252.0') ||
   isInNet(hostIP, '149.154.172.0' '255.255.252.0') ||
   isInNet(hostIP, '91.108.4.0' '255.255.252.0') ||
   isInNet(hostIP, '91.108.8.0' '255.255.252.0') ||
   isInNet(hostIP, '91.108.12.0' '255.255.252.0') ||
   isInNet(hostIP, '91.108.16.0' '255.255.252.0') ||
   isInNet(hostIP, '91.108.56.0' '255.255.252.0') ||
   isInNet(hostIP, '109.239.140.0' '255.255.255.0')
   )
 {
   return "SOCKS5 x.x.x.x:1080";
 }

 return "DIRECT";
}


UPD: добавил пропущенные закрывающие кавычки, спасибо за внимательность.

#pac #proxy #browser
источник
Админим с Буквой
🎒 Школьникам, родителям и тем, у кого есть знакомые школьники 🎓

Этим летом наставники SPbCTF будут преподавать спортивный хакинг и безопасность в школе UniverSum в Мюнхене. Это летний IT-лагерь, который создали основатели ЛКШ — компьютерной школы, куда каждый год съезжаются сотни учеников практиковаться в алгоритмах.

📖 Нас покорил подход Универсума к обучению. В школе нет лекций. Участники сами выбирают, в какой теме они хотят прокачаться сегодня, и вместе с преподавателем каждый день корректируют собственный план обучения. Преподаватель выступает экспертом, который передаёт знания и опыт, направляет и помогает разобраться в трудных моментах.

🌳 Чтобы планировать обучение, в школе используют дерево знаний — путь, которым стоит идти чтобы охватить определенную тему. Например, вот в каком порядке мы предлагаем учиться безопасности: http://www.univer-sum.ru/2018-graph/#ctf
Ученик отмечает на этой схеме, что он уже умеет, и на занятиях развивает следующий по порядку навык, работая индивидуально вместе с преподавателем.

🔒 Направление безопасности возглавят Саша @n0str , Влад @mrvos и Егор @groke. Они помогут разобраться в веб-уязвимостях, ревёрсе и анализе вирусов, форенсике и криминалистике, криптографии и стеганографии. Безопасности мы учим на основе CTF, поэтому будет много практики и рубилова. Занятия индивидуальные или в группах из 2—3 человек, чего мы, к сожалению, не можем сделать на наших обычных сходках. Ожидайте прокачку полезных навыков, много тасков и хардкорное лето :)

Когда: 27 июня — 11 июля (две недели)
Где: Германия, Мюнхен, культурный центр GOROD
Язык: русский
Для кого: школьники от 12 лет, включая выпускников 11 класса
Стоимость: 78 000 рублей за обучение, жильё и еду. Отдельно понадобится оплатить визу и перелёт.
Для участия в школе нужен собственный ноутбук.

Кроме безопасности в школе ещё десяток направлений IT, от вездесущих олимпиадных алгоритмов до машинного обучения и VR+AR.

Подробнее можно прочесть на сайте: www.univer-sum.ru
в группе ВК: vk.com/univer_sum_news
и в канале в телеграме: t.me/univer_sum_news

https://vk.com/wall-114366489_1359
источник
2018 April 17
Админим с Буквой
Очень интересное решение взаимодействия с tcp socket предложил @Caffeine_zz. Только bash, только хардкор.

#bash #pentest

http://telegra.ph/Bash-Kommunikaciya-s-soketom-bez-curl-nc-i-telnet-04-16
источник
Админим с Буквой
источник
Админим с Буквой
Роскомнадзор
источник
Админим с Буквой
Релиз nginx 1.14.0
После года разработки представлена новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.14.0, которая вобрала в себя изменения, накопленные в рамках основной ветки 1.13.x. В дальнейшем все изменения в стабильной ветке 1.14 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.15, в рамках которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.
источник
2018 April 18
Админим с Буквой
4pda прогнулся под РКН, причем без веской на то причины

Вчера была удалена(скрыта) ветка более чем на 700 страниц обсуждения темы с названием Telegram. Да, ветка содержала apk-файл. Однако, насколько известно к администрации никто не обращался с просьбами удалить этот контент. В итоге форумчане создали отдельную тему, в которой обсудили действия администрации. Не все пользователи 4pda к сожалению высказывались адекватно, призывая администрацию не нарушать конституцию ( бггг ). Кто им и что задолжал на бесплатном форуме - непонятно. На данный момент ветка закрыта, а в ней появился официальный ответ администрации на ее действия.

http://4pda.ru/forum/index.php?showtopic=898061

Очень жаль, что они выставляют аж вот в таком свете ситуацию. Хочу напомнить, что ТГ не находится вне закона в России. Глава РКН упомянул это прямым текстом, говоря, что пользователи ТГ могут продолжать пользоваться мессенджером (если смогут) и никаких претензий к ним нет. Понятен жест администрации по удалению apk файла с форума - это их хлеб, но удаление обсуждения в целом, при том что это никак никем не запрещено - это смачный прогиб с подмахом жопкой в сторону РКН. Фу такими быть.

#букваосуждает
источник
Админим с Буквой
⚡️dante comon misconfiguration

Кстати о прокси серверах и авторизации. Дошли руки исследовать эту тему, на которую обратили внимание в одной статье на geektimes (ее правда уже удалили), что даже при условии того, что вы укажете шелл /usr/sbin/nologin, это не спасает вас например от фишки ssh проброса портов. Вам не обязательно нужен шелл, чтобы, например, создать свой сокс сервер на чужом сокс сервере  из волны этого хайпа ^_^

ssh  -N -D 1337 user@host


спасибо ребятам, которые подсказали про ключ -N.

Ну и в дополнение, кроме -D вполне можно использовать и ключи -L -R, что потенциально поможет вам пробросить себя в сеть за уязвимым прокси-сервером или достучаться до служб, висящих на локалхосте.

#ssh #proxy #socks #security
источник
Админим с Буквой
Решил сдерживать радостные вопли до круглого числа подписчиков (1024). Задумывался канал для узкой группы людей, как небольшие наброски уроков системного администрирования для группы it sec pro course. Эти ребята вдохновили меня на то чтобы начать писать какой-то материал, ну а дальше как-то это сильно вышло за рамки группы и покатилось своей дорожкой. Спасибо всем тем, кто комментирует и поправляет ошибки в материале, благодаря вам контент становится лучше. Благодарность ребяткам, которые делятся информацией о моем канале в своих сообществах. Ну и вообще всем, кто интересуется админкой и девопсом. Вы уникальные и интересные люди, ни чета этим гуманитариям.

К сожалению пока я писал это сообщение, это круглое число уже успело перевалить за круглое. просраль момент короч)
источник
Админим с Буквой
Переслано от Foster Snowhill
Как быстро подписать DNS-зону для DNSSEC в BIND >= 9.9


Генерируем ключ подписи ключей (KSK)
# dnssec-keygen -3 -f KSK -a RSASHA256 -b 4096 -n ZONE example.com.


Формируем DS-запись из KSK, передаём её доменному регистратору
# dnssec-dsfromkey -2 Kexample.com.+008+NNNNN.key > dsset-example.com.


Генерируем ключ подписи зоны (ZSK)
# dnssec-keygen -3 -a RSASHA256 -b 2048 -n ZONE example.com.


Дописываем в конфигурацию зоны (блок zone)
auto-dnssec maintain;
inline-signing yes;
key-directory "/путь/к/папке/с/ключами";


Подгружаем ключи для зоны
# rndc loadkeys example.com.


Подписываем зону с включением NSEC3 (механизм доказательства отсутствия записей)
# rndc signing -nsec3param 1 0 10 $(openssl rand -hex 16) example.com.


Обновление подписей после истечения срока их действия будет производиться сервером автоматически.


#dns #dnssec #bind
источник
2018 April 19
Админим с Буквой
Я напоминаю, что у канала есть чятик. Свои мысли, мнение, комментарии, потоки недовольств, гнев, слезы, беспричинную радость, боль, надежду, разочарование и прочее другое можно высказать туда.

https://t.me/joinchat/CwI6k0hYW_Bn4TYvxvDiSQ
источник
Админим с Буквой
Точечная настройка SSH

у ssh сервера возможна настройка параметров в зависимости от пользователя и группы. Так, например кому-то можно разрешить пробрасывать иксы, а кому-то ходить по паролю. Сделать это можно с помощью директивы Match. при этом не забывая в конце сделать match all, для примения параметров по-умолчанию для всех остальных.

Match User user1,user2
PasswordAuthentication yes
Match all
PasswordAuthentication no


#ssh
источник
Админим с Буквой
что-то напоминает
источник
Админим с Буквой
Search full repo history for secrets and keys

https://github.com/zricethezav/gitleaks

#security

from @buhtig
источник
2018 April 20
Админим с Буквой
A note on CDNs and protecting your website against censorship

TLDR
- https://goo.gl/47UqyZ
- Using a free / cheap CDN service can enable you to protect your domain hosted resource from censorship
- Unless CDN servers will be blocked (but I guess the CDN has more servers, than you, right?)

So, I host spark-in.me on Digital Ocean. And I do not want to move or start a CDN by myself. I read news, that Google abandoned some of its proxying tools because of such censorship events...interesting.

I knew that services like Cloudflare (**CDN**) forward your traffic somehow, but I was not sure what IP is actually seen by the user and whether all of the traffic is forwarded. Then I read their FAQ
- https://goo.gl/uHPLjW

It says
After a visitor's browser has done the initial DNS lookup, it begins making requests to retrieve the actual content of a website. These requests are directed to the IP address that was returned from the DNS lookup. Before Cloudflare, that address would have been 198.51.100.1. With Cloudflare as the authoritative nameserver, the new address is 203.0.113.1. Cloudflare’s data center at 203.0.113.1 will serve as much of your website as it can from its local storage, and ask your web server at 198.51.100.1 for any part of your website it doesn’t already have stored locally. The Cloudflare data center at 203.0.113.1 will then provide your complete website to the visitor, so the visitor never talks directly to your web server at 198.51.100.1.

So I tried their free-tier service (paid service starts from US$20-200, which is too steep) and it just works, though SSL certificates were issued ~90 mins after I changed my nameservers. It is as easy as:
- Backup your DNS settings somewhere
- Import to CloudFlare
- Change name servers in your domain registrar cabinet
- 90 mins and ... profit

Now I cannot see my direct DO server IP when I resolve my DNS:
$ dig +short spark-in.me
104.27.142.65
104.27.143.65

#internet
#security
источник
Админим с Буквой
Такой вот способ избежать некоторые неприятные моменты и обеспечить более высокую доступность вашего сервиса
источник
Админим с Буквой
Немного о баш скриптовании

Порою возникает необходимость записать какие-то данные в фай с сохранением переноса строк и отступов. сделать это можно несколькими способами.

1) с помощью echo

echo -e 'This is first string\nAnd this is second' > /path/to/file


Такой способ имеет только единственный плюс - он однострочник. В реальности он впринципе не читабельный.

Разбить этот однострочник можно, конечно, на несколько строк:

echo "
str1
  $variable - why not?
str N
"


И такой способ впринципе хорош до тех пор, пока вам не придется экранировать кавычки в тексте.

2) с помощью cat

cat > ceph.conf << EOF
[global]
mon_host = xx.xx.xx.xx:6789
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
EOF


В отличии от первого способа переменные по-прежнему интерпретируются, а кавычки экранировать не нужно.

#bash_tips_and_tricks
источник
Админим с Буквой
rbd: image is locked by other nodes

Возможно это сэкономит вам время. Получил такую ошибку на ноде с кубом, а вот решение, которое я нашел на хабчике.

I ran into this issue "rbd: image is locked by other nodes", when connecting to an external ceph cluster with dynamic provisioning (storage classes) in kubernetes.

The findings is that if the rbd command is executed with the -m flag e.g. "rbd lock list -m —id ..." , and there is no configuration file (ceph.conf) under /etc/ceph .... then the rbd command will print out information that the configuration file is not used e.g. "7f27de2517c0 -1 did not load config file, using default settings." This is the normal case as the ceps-common does not install a ceph.conf file.

The rbd Volume Attach logic in kubernetes is building up a command string and execute the "raw" command "rbd lock list ..." (https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/volume/rbd/rbd_util.go).

The logic in rbdLock() function assumes the image is locked if there is a response to the "lock list" command.

As the rbd command print out "... did not load config file, using default settings." this will cause the error "rbd: image is locked by other nodes".

A work around for this is to create a ceph.conf under /etc/ceph on each kubernetes node.

cd /etc/ceph
cat > ceph.conf << EOF
[global]
mon_host = xx.xx.xx.xx:6789
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
EOF


Another cause for "rbd: image is locked by other nodes" might be if the userId (as provided in the StorageClass) does not have enough permission to list or set locks.

As the k8s kublet calls the "raw" rbd command, the sequence can be debugged by renaming the rbd command (e.g. rbdd) and create a bash wrapper (/usr/bin/rbd) that logs kubernetes commands and responses from the rbd (ceps-common) library.

#!/bin/bash
# wrapper script /usr/bin/rbd
logfile=/root/logging
# log commands from kubernetes
echo "rbdd $*" >> $logfile
# log responses from rbd binary (renamed to rbdd)
rbdd $*  > >(tee -a $logfile) 2> >(tee -a $logfile >&2)


взято из треда https://github.com/ceph/ceph-container/issues/642

#kubernetes #troubleshooting #ceph
источник
Админим с Буквой
Нас не тронут говорили они.
Простых то пользователей не коснется - они говорили.
источник
2018 April 23
Админим с Буквой
mysql-5.5 security update

Package: mysql-5.5
CVE ID: CVE-2018-2755 CVE-2018-2761 CVE-2018-2771 CVE-2018-2773 CVE-2018-2781 CVE-2018-2813 CVE-2018-2817 CVE-2018-2818 CVE-2018-2819

Several issues have been discovered in the MySQL database server. The vulnerabilities are addressed by upgrading MySQL to the new upstream version 5.5.60, which includes additional changes. Please see the MySQL 5.5 Release Notes and Oracle's Critical Patch Update advisory for further details:

https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-60.html
http://www.oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html

#security
источник