Size: a a a

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

2020 August 14
Админим с Буквой
источник
2020 August 15
Админим с Буквой
#db #postgres #monitoring
источник
2020 August 18
Админим с Буквой
Сегодня мне показали прикольную штуку - создание псевдо-файлов. Это ситуация когда у вас нет возможности перенаправить данные в stdin некоторой программы.  конструкция выглядит как <(expression) - результатом ее выполнения будет путь к файловому дескриптору.

bash-3.2$ echo <(echo '123')
/dev/fd/63

bash-3.2$ cat <(echo '123')
123

Что можно делать такой штукой? довольно прикольные вещи:

тыц1: diff <(ls dirA) <(ls dirB)
тыц2: mysql < <(echo "str")

тут можно прочитать поподробнее: https://superuser.com/questions/1059781/what-exactly-is-in-bash-and-in-zsh

#bashism
источник
2020 August 19
Админим с Буквой
Кроссворд часть 2: Prometheus

https://onlinetestpad.com/ru/crossword/100597-devops-i-sisadminam-prometheus

В этот раз минимум мемов/шуток/объяснений через не связанные с it вещи.

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

#crossword
источник
2020 August 20
Админим с Буквой
Один из классических вопросов на собеседование AppSec специалисту - "Как хранить пароли?". И тут будет потрясающим ответ - "пароли хранить не надо, потому что в 2020 мы не должны запускать сервисы с паролями!". За это можно получить хороший плюс. Но если все-таки вернуться к вопросу, то ожидается ответ в духе:
- Давайте использовать Argon2, PBKDF2, Bcrypt, Scrypt с оптимальным количеством раундов
- И харденинг - например использовать HSM (тут долгие холивары в каком режиме), "pepper" и т.д.

Ответы хранить соленный md5/sha1/sha256/sha512 автоматически ставят жирный минус.

Но также есть еще один вопрос, сложный, и ответ на него мало кто знает - *”А как нам хранить пароли так, что если атакующий получит RCE на бэкендах, в т.ч. root привилегии, то не сможет дампнуть табличку с хэшами?”*

Вопрос ставит в тупик, можно начинать придумывать "security through obscurity" решения, но не надо. Есть очень легкий, понятный и технически верный путь, как решить поставленную задачу. Нам нужно отозвать права "select" у бэкенд юзера на таблицу с хэшами и написать 2 хранимых SQL процедуры:

getSalt(user_id)

Вернет «соль» пароля на бэкенд по userId, который пытается войти. Бэкенд возьмет введенный юзером пароль и получит хэш с солью из базы

checkPassword(user_id, hashed_password)

Возвращает true/false на проверке хэша пароля на предыдущем шаге у user_id

Еще нужна процедура на создание пользователя и смену пароля, но они также не позволяет select'нуть хэши паролей пользователей. Хорошая статья по теме(но там не всё): https://www.secjuice.com/secure-password-handling/

Странно, что ни в одном современном решении - типа WordPress или Django это не реализовано. Да и не надо уже, давайте лучше откажемся от паролей!
источник
2020 August 24
Админим с Буквой
🔹Хакеры ломятся в банки. Фальшивые домены крупных кредитных организаций наводнили рынок (комментарий от BI.ZONE) — Коммерсантъ

🔹Письмо несчастья: объем фишинга во втором квартале вырос на 71% (Group-IB) — Известия

🔹Российский дарквеб обвиняют в краже пособий по безработице граждан США — Anti-Malware

🔹Госорганы США покупают геолокационные данные у коммерческих компаний — SecurityLab

🔹Экс-сотрудника Uber обвиняют в США в сокрытии данных о кибератаке 2016 года — ПРАЙМ

🔹В сеть утекли данные более 200 миллионов пользователей Twitter и Weibo — РИА Новости

🔹В августе 2021 года Microsoft избавится от Internet Explorer в Windows — Anti-Malware

🔹MITRE опубликовала топ-25 наиболее опасных уязвимостей в софте — Anti-Malware

🔹Разработчики Tor предложили меры по защите от DoS-атак — SecurityLab

🔹Konica Minolta подверглась атаке вируса-вымогателя — Habr

🔹Эксперты выявили первый червь-криптомайнер, крадущий учётные данные AWS — Anti-Malware

🔹Троян IcedID научился новым трюкам для обхода решений безопасности — SecurityLab

🔹Windows Defender счел продукты Citrix малварью — Xakep

🔹P2P-ботнет FritzFrog атакует SSH-серверы — Xakep
источник
2020 August 25
Админим с Буквой
источник
2020 August 31
Админим с Буквой
🔹Баг в Google Drive позволяет подменить безобидный файл вредоносным — Anti-Malware

🔹За 15 лет Zero-Day Initiative выплатила исследователям 25 000 000 долларов — Xakep

🔹Операторы шифровальщиков любят баги в VPN, но RDP держит первое место — Anti-Malware

🔹Google устранил в Chrome баг WebGL, позволяющий выполнить код — Anti-Malware

🔹Хакеры похитили данные 8 300 000 пользователей Freepik с помощью SQL-инъекции — Xakep

🔹Создатели программы-вымогателя Ryuk присвоили 61 млн долларов — SecurityLab

🔹Большинство уязвимостей Linux изрядно раздуты и преувеличены — Anti-Malware

🔹В Apache Web Server исправлены опасные уязвимости — SecurityLab

🔹Эксперт опубликовал детали уязвимости в Safari — Apple тянет с патчем — Anti-Malware

🔹В даркнете неожиданно закрылся маркетплейс Empire — Xakep

🔹Вышел Chrome 85: страницы грузятся на 10% быстрее, устранены уязвимости — Anti-Malware

🔹Шифровальщик Conti обзавелся собственным сайтом для «слива» данных — Xakep

🔹Троян QBot научился перехватывать цепочки легитимных электронных писем — Anti-Malware

🔹В даркнете предлагается доступ к сотням установок Citrix — SecurityLab

🔹Выпуск огромного числа патчей в один день влечет риски и стресс для IT-команд — SecurityLab

🔹В Сети нашли незащищённый сервер с 350 млн уникальных имейлов — Anti-Malware
источник
2020 September 01
Админим с Буквой
nginx client auth by certificates (self-signed)

1. gen ca (root) [ca server]

openssl genrsa -out ca.key 4096

2. create key (root) [ca server]

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -subj "/C=RU/ST=Moscow/L=Moscow/O=Company/OU=OU/CN=CN/emailAddress=mail@example.com"

3. gen server key and csr [ca server]

openssl req -new -utf8 -nameopt multiline,utf8 -config server.conf -newkey rsa:4096 -keyout server.key -nodes -out server.csr

4. put server.conf. change file according to your dns [ca server]

[req]
prompt = no
distinguished_name = dn
req_extensions = ext

[dn]
CN =  <put dns here>
emailAddress = email@example.com
O = Moscow
OU = SOC
L = Moscow
C = RU

[ext]
subjectAltName = DNS:<put dns here>,IP:<optional put ip here>

5. sign server csr [ca server]

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt -extfile server.conf -extensions ext

6. create client key, csr [ca server]

openssl req -new -utf8 -nameopt multiline,utf8 -newkey rsa:2048 -nodes -keyout client.key -out client.csr -subj "/C=RU/ST=Moscow/L=Moscow/O=Company/OU=OU/CN=CN/emailAddress=mail@example.com"

7. sign client ca [ca server]

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt -extfile server.cnf -extensions ext

8. generate p12 container to use it in browser [ca server]

openssl pkcs12 -export -in client.crt -inkey client.key -certfile ca.crt -out client.p12 -passout pass:q1w2e3

9. put server.key, ca.crt, server.crt to /etc/nginx/ssl [nginx server]

10. put nginx config (example with reverse proxy) [ca server]

server {
 listen 80;
 server_name _;
 return 301 https://$host$request_uri;
}
server {
 listen 443 ssl;
 server_name example.com;
 ssl_protocols TLSv1.1 TLSv1.2;

 ssl_certificate /etc/nginx/ssl/server.crt;
 ssl_certificate_key /etc/nginx/ssl/server.key;
 ssl_client_certificate /etc/nginx/ssl/ca.crt;

 ssl_verify_client on;
 # u can use "opional" instead of "on" to configure auth on locations. see below

 location / {
   # if the client-side certificate failed to authenticate, show a 403 message to the client
   #  if ($ssl_client_verify != SUCCESS) {
   #    return 403;
   #  }

   proxy_set_header        Host $host;
   proxy_set_header        X-Real-IP $remote_addr;
   proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header        X-Forwarded-Proto $scheme;

   proxy_pass https://<put ip here>;
 }
}

11.1 if u r using auth in browser: install p12 from step 8 to keychain or directly into browser. On macos chrome uses system keychain. after importing u should edit trust settings on key and cert in keychain to make it work

11.2 if u r using auth in console, just specify client crt and key, i.e. curl:

curl -k --key client.key --cert client.crt --url "https://site.com"
источник
2020 September 10
Админим с Буквой
источник
Админим с Буквой
В октябре у EPAM стартует бесплатный тренинг DevOps in Big Data.

Программа подходит тем, кто уже имеет опыт в системном администрировании, дружит с Linux и готов изучать новые технологии в мире больших данных. Обучение бесплатное и проходит в онлайн-формате.

Тренинг актуален в 3 локациях. Подать заявку на обучение и прочитать подробности о тренинге можно здесь:
🔹Самаре epa.ms/bd-devops-samara
🔹Нижнем Новгороде epa.ms/bd-devops-nn
🔹Санкт-Петербурге epa.ms/bd-devops-spb

#бесплатно #online #обучение
источник
Админим с Буквой
Переслано от GithubReleases
hashicorp/terraform tagged: v0.14.0-alpha20200910
Link: https://github.com/hashicorp/terraform/releases/tag/v0.14.0-alpha20200910
Release notes:
## 0.14.0 (Unreleased)

ENHANCEMENTS:

*   cli: A new global command line option `-chdir=...`, placed before the selected subcommand, instructs Terraform to switch to a different working directory before executing the subcommand. This is similar to s...
More
источник
2020 September 11
Админим с Буквой
источник
2020 September 14
Админим с Буквой
Чтобы сделать фишинговую почтовую рассылку через уязвимый почтовый сервер мы с другом давным давно написали инструмент для автоматизированной отправки писем. Вот он: https://github.com/empty-jack/MailHammer

Я долго им пользовался, чтобы проводить атаки с применением методов социальной инженерии. В том числе он был написан, чтобы проводить атаки с подменой отправителя, о которой мы рассказывали на DefCon 7499 #13.

Но сегодня мир рухнул, я неожиданно осознал, что CURL умеет работать с smtp:// схемой. (Нет, я конечно знал что он может многое, но как-то не осмеливался задуматься что он умеет еще больше).

В очередной раз убеждаюсь что все, что может быть нужно пентестеру можно написать однострочником на баше;)

Пример работы с SMTP черзе CURL:
curl -k --url "smtp://127.0.0.1" --mail-from "spoofing@example.com" --mail-rcpt "jdoe2@example.com" --upload-file ./message --user 'jdoe2@example.com:password' --ssl
источник
Админим с Буквой
Переслано от Alexander Zobnin
Всем привет! В этот четверг 17 сентября, совместно с Softline, я буду проводить вебинар по Grafana. Рассмотрим такие темы как observability, MTTR vs MTBF, а также я сделаю небольшое демо Metrics/Logs/Tracing где покажу, как с помощью Grafana можно эффективно искать корреляции между метриками (Prometheus), логами (Loki) и трейсами (Jaeger). Вебинар бесплатный, требуется предварительная регистрация. https://softline.ru/events/web_2020_grafana_200917
источник
2020 September 15
Админим с Буквой
Осваивайте углубленные навыки Linux на виртуальном стенде с поддержкой экспертов.

После онлайн-курса «Administrator Linux. Professional» вы:
- сможете самостоятельно настраивать сервисы в Linux и устранять проблемы;
- будете готовы к следующему карьерному шагу Devops-инженера
- обрастете ценным разносторонним опытом и полезными профессиональными знакомствами.

Курс рассчитан на тех, кто уже знаком с базовыми настройками Linux и готов к хардкорным темам и заданиям. Пройдите вступительный тест и займите место со скидкой: https://otus.pw/ihys/

#реклама
источник
Админим с Буквой
Коды в google chrome

Сегодня рассказали очаровательную вещь - если у вас недоверенный сертификат (ошибка NET::ERR_CERT_INVALID), и в выпадающем окне advanced вам не предлагают проигнорировать и продолжить, есть способ убедить хром все равно открыть нужную страничку! Для этого сохраняя фокус на веб-страничке нужно набрать фразу thisisunsafe. Не в поле ввода, а просто вникуда.
источник
2020 September 17
Админим с Буквой
источник
2020 September 23
Админим с Буквой
Ну вот, VictoriaMetrics так и не приняли до сих пор в cloud native computing fonundation, да еще и пулл реквест прикрыли в связи с переходом на новую модель подачи заявки

https://github.com/cncf/toc/pull/255
источник
Админим с Буквой
извлекаем значение из переменной в ansible

случай довольно "тяжелый", тут бы в пору в дурку звонить, но понадобилось мне извлечь в переменную несколько значений из словаря, который в массиве, который в словаре, который в массиве. и сделать это всё по конкретным именам ключей, а вывод воплотить в конкретно оформленную строку. в общем наслаждайтесь.

Дано(для простоты оставлены только нужные для селекта ключи):

user_list:
- name: core
 ssh_keys:
 - name: main
   type: "ecdsa-sha2-nistp256"
   value: "AAAA..."

Нужно получить:

pubkey: "ecdsa-sha2-nistp256 AAAA....."

Как это в итоге получилось, для переменной в hostvars:

pubkey: "{% set core_main_ssh_params =
 user_list |
 selectattr('name', 'equalto', 'core')  |
 sum(attribute='ssh_keys', start=[])    |
 selectattr('name', 'equalto', 'main')  |
 list | first -%}
   {{ core_main_ssh_params.type }} {{ core_main_ssh_params.value }}"

#ansible #jinja #дичь
источник