• Почему BASH скрипт по проверке самоподписанного SSl сертификата выдает неверную дату окончания и начала?

    @dronmaxman
    Выдает то что написано в сертификате

    openssl s_client -connect aero-city.com:443 2>/dev/null | openssl x509 -text -noout | grep GMT
    Not Before: May 18 07:17:14 2023 GMT
    Not After : Aug 16 07:17:13 2023 GMT
  • Почему данный вебсайт имеет 2 root сертификатов?

    @dronmaxman
    Дополню. Еще есть кросс-сертификация, в таких случая разные браузеры могу строить разные цепочки сертификатов, один будет показывать три сертификата, второй только два.
  • Debian, терминал, ls проблема?

    @dronmaxman
    edc77,
    что надо я приложил на скрине

    А можешь приложить в скрине что выводит?
  • Можно ли в локальной сети обнаружить несанкционированное подключение WiFi-роутера?

    @dronmaxman
    Если есть подмена МАК, то сложно обнаружить подмену.
    - можно настроить прокси для выхода в интернет и усложнить использование роутера.
    - можно настроить 802.1X
    - можно настроить мониторинг на ПК и уведомлять когда IP компьютера не соответствует корпоративному пулу
    - есть WIFI с поддержкой обнаружения других точек доступа в эфире и можно настроить оповещение
  • Как настроить vmware для удаленного доступа?

    @dronmaxman
    Korifa, не забывай наживать на ответ что бы приходили уведомления когда оставляешь комментарий. Переключи на бридж.
  • Как создать VLAN между kerio control (на hyper-v) и cisco 2960?

    @dronmaxman
    Скорее всего проблема в конфигурации hyper v. Сетевая карта на hyper v умеет работать с vlan?
  • Как настроить vmware для удаленного доступа?

    @dronmaxman
    Скорее всего надо изменить тип интерфейса вируальной машины с NAT на BRIDGE, тогда CentOS получит IP из тоже сети что и ноутбук.
  • Как отключить dns но оставить dhcp в dnsmasq?

    @dronmaxman
    Bega,
    с префиксом /15, клиен не получает его, выше /18 нормально.

    Один /15 можно заменить на 8 по /18.

    Так пробовал?
    https://gist.github.com/teliot/e92ea7fd7f7ebd617d4...
  • Вопрос про безопасность с примером. как работает RSA при работе с сертификатами и зашифрованными сессиями?

    @dronmaxman
    Saboteur,
    Как происходит валидация владельца почтового ящика?

    При выдаче сертификата CA может отправлять проверочное письмо и таким образом подтверждать что ты владелец ящика. Это обязанность CA проверять информацию на достоверность.

    Получается что если не заметишь глазами, то не поймешь.


    При отправке письма ты указываешь To: и конечно ты должен быть внимательным, почтовая программа сама выбирает какой сертификат для какого ящика использовать.

    А еще могут from подделать.

    Для защиты от такого есть DKIM.
    DKIM (DomainKeys Identified Mail): Настройте DKIM для вашего домена. DKIM добавляет цифровую подпись к письму, позволяя получающему серверу проверить подлинность отправителя.

    Конечно, если принимающая сторона не выполняет банальных проверок SPF, DKIM, PTR DNS то и безопасности говорить не стоит, сертификат будет как пластырь на пулевое ранение.
  • Вопрос про безопасность с примером. как работает RSA при работе с сертификатами и зашифрованными сессиями?

    @dronmaxman
    Saboteur, Ты путаешь разные вещи, ты говоришь про самоподписанный сертификат.
    Сертификат можно выпустить
    - самоподписанный, ты можешь написать в нем что угодно, ему доверяешь только ты, нет центра сертификации который может подтвердить его валидность
    - в собственном центре сертифкации, ему так же доверяют только те кто установил себе его рутовыe сертификаты или на слово как в первом случае
    - публиный доверенный центр сертификации, ему доверяют те кто установил его рутовыe сертификаты себе, но эти руты уже интегрированы в ОС производителем

    В первом случае ты не можешь подтвердить валидность сертификата, можешь только поверить на слово.

    Во втором случае ты можешь предварительно установить себе руты этого центра сертификации и уже спокойно проверять был ли предоставленный тебе сертификат выдан этим центром. Т.к. центр сертификации выдает сертификат, то он и гарантирует (проверяет перед выдачек) что данные в сертификате соответствуют действительности. В такой схеме клиент не может сам себе выписать сертификат без участи центра сертификации, что бы потом этот сертификат прошел проверку рутами.

    В третьем, публиный доверенный центр сертификации гарантирует (проверяет перед выдачей) что данные в сертификате действительны. По процедуре центр сертификации не может выдать сертификат Пупкина человеку которого зовут Иванов. Это все равно что выдать чужой паспорт.

    И тут начивает работать цепочка. Руты - сертификат - подпись.
    Центр сертификации позволяет проверить предоставленный тебе сертификат с помощью рутов, подпись и публиный ключ позволяют проверить что данные в сертификате целостные и не были изменены, а значит публичный ключ тоже валидный.

    Если в этой цепочке что-то подделано, то она не пройдет проверку. Доверие к сертификату строится на доверии к рутам, доверие к ключу строится на доверии к сертификату. Руты гарантируют и позволяют проверить что сертификат действительный, сертификат и подпись позволяют проверить что публичный ключ действительный.
  • Вопрос про безопасность с примером. как работает RSA при работе с сертификатами и зашифрованными сессиями?

    @dronmaxman
    Saboteur,
    Если к тебе приходит подписанное письмо, как ты убедишься, что оно подписано автором?
    Приложенным к письму сертификатом?


    Именно так. По своей сути сертификат это условно "текстовый" документ который хранит информацию о владельце публичного ключа. Валидаци ключа ты выполняешь проверкой подписи этого сертификата, а валидацию самого сертификата ты выполняешь проверкой сертификат с помощью рутового сертификата.

    Ты выполняешь цепочку проверок в результате которой ты можешь сказать что сертификат и публичный ключ валидны.

    Подсунуть тебе левый публичный ключ возможно только если у тебя в системе установлен рутовый сертификат центра сертификации который был скомпромитирован. Вся эта проверка держится на том, что есть посредник (центр сертификации) которому доверяют оба участника процесса шифрования.
  • Вопрос про безопасность с примером. как работает RSA при работе с сертификатами и зашифрованными сессиями?

    @dronmaxman
    Saboteur,
    а публичный ключ который можно приложить к этому письму не считается безопасным способом,


    Публичный ключ передается вместе с сертификатом, сертификат подписан приватным ключем, в сертификате указано кому принадлежит этот публичный ключ и кто (какой центр сертификации) может подтвердить его валидность. При валидации подписи сертификата клиент так же валидирует сертификат используя рутовые сертификаты. Таким образом клиент удостоверяется что публичный ключ валидный и принадлежит именно этому абоненту.

    Нет необходимости скрывать публичный ключ, т.к. есть механизм его проверки.
  • Вопрос про безопасность с примером. как работает RSA при работе с сертификатами и зашифрованными сессиями?

    @dronmaxman
    Тонкость в терминологии, везде пишут что публичный ключ расшифровывает подпись, даже если согласиться с этой терминологией, то расшифровка подписи это единственное что может расшифровать публичный ключ. даже если взять какой-то пример из программирования и реализовать функцию проверки подписи то она звучит как расшифровка.

    Островные тезисы
    Сертификат один
    У сертификата два ключа, приватный и публичный, эта пара ключей уникальна, и только они могут работать вместе.
    Публичный для шифрования и ВАЛИДАЦИИ подписи (все называют расшифровкой, это не расшифровка, а валидация). Публичный ключ можно раздавать всем.
    Приватный для расшифровки и подписи (подпись с точки зрения алгоритма это шифрование, но никто не будет ее расшифровывать, ее будут валидировать)

    Когда документ подписываю, это не значит что его шифруют. При подписи берут хеш сумму документа применяют математическую функцию с использованием приватного ключа и получается подпись. математическую функцию нельзя повторить другим ключом. Документ и подпись передают другой стороне. Подпись позволяет проверить что документ не был изменен в процессе передачи и что подпись создана с использованием этого приватного ключа.

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

    При https, сервер передает клиенту свой сертификат и публичный ключ. Клиент проверяет что сертификат валидный по множеству параметров и удостоверяется что он валидный, котом он проверяет подпись сертификата публичным ключем и тоже убеждается что она валидная, клиент генерит сессионный ключ, шифрует его публичным ключом сервера и передает ему, сервер расшифровывает сессионный ключ приватным ключом и далее клиент и сервер шифруют и расшифровывают между собой передачу данных сессионным ключом, это называется симметричное шифрование.

    При шифрованной почты, у каждого клиента есть свой уникальный сертификат и своя уникальная пара ключей. При отправке письма отправителем А, письмо шифруется публичным ключом В, получатель В расшифровывает письмо своим приватным ключом. В обратную сторону наоборот. Это асимметричное шифрование т.к. у шифрование ирасшифровка происходят разными ключами. Сертификат это документ который подтверждает что А это А, а В это В.

    Если взять всем известный vpn от WireGuard, то там тоже у каждого есть пара ключей, но сертификат не нужен т.к. все участники vpn сессии заранее знают кому принадлежат ключ и валидация не требуется.

    Пример на пальцах.
    Есть царь который издает указы на бумаге и рассылает в свои губернии, для этого он приказал изготовить одну приватную печать для себя и кучу публичных печатей для своих апричников, публичная печать не похожа на приватную, а приватная столь уникальна что никто не может ее повторить. Царь пишет указ, ставит на нем штамп приватной печатью и отправляет гонцом, апричник получает документ прикладывает к штампу на документе свою печать и у него получается некий рисунок из двух печатей по которому он понимает что на документе стоит штамп сделанный именно царской печатью и ему можно доверять. К сожаление шифрование публичной печатью так не объяснить)
  • Blacklist в asterisk?

    @dronmaxman
    ifaddr, Еще две строчки поправил, прыганье по контекстам плохо влияет на статистику в CDR.
    Забудь про макросы, повторяющуюся логику можно выносить в sub (https://wiki.asterisk.org/wiki/display/AST/Gosub)

    В google куча устаревших примеров которые более менее нормально работают до asterisk 11-13, старайся смотреть в офф документацию.

    [sip]
    same => n,GotoIf($[${DB_EXISTS(blacklist/${CALLERID(num)})}]?go-endcall)
    same => n(go-endcall),HangUp()


    Пример реализации на SUB, запись начинается после ответа на звонок, затем конвертирует в mp3, что значительно экономит место.
    [sub-mixmonitor]
    exten => s,1,Noop(------------MixMonitor---------------)
    ; same => n,DumpChan()
    ; same => n,NoCDR()
     same => n,Noop(DIALEDPEERNUMBER ${DIALEDPEERNUMBER} )
     same => n,Set(FILE_UNIQUEID=${ARG3})
     same => n,Noop(UNIQUEID = ${FILE_UNIQUEID})
     same => n,Set(WAV=/var/spool/asterisk/monitor/${FILE_UNIQUEID})
     same => n,Set(filedate=${STRFTIME(${EPOCH},,%Y%m%d_%H-%M-%S)})
     same => n,Set(foldername=${STRFTIME(${EPOCH},,%Y/%m)})
     same => n,Set(filename=${filedate}_${ARG1:-10}_${ARG2:-10}_${FILE_UNIQUEID})
     same => n,Set(MP3=/var/spool/asterisk/monitor/mp3/${foldername}/${filename})
     same => n,System(mkdir -p /var/spool/asterisk/monitor/mp3/${foldername})
     same => n,Set(monopt=nice -n 19 /usr/bin/lame -b 32  --silent "${WAV}.wav"  "${MP3}.mp3" && rm -rf "${WAV}.wav" && chmod o+r "${MP3}.mp3")
     same => n,Noop(${CDR(record)})
     same => n,Noop(CHANNEL ${CHANNEL(exten)})
     same => n,Set(CDR(realdst)=${ARG2});
     same => n,Set(CDR(record)=${FILE_UNIQUEID})
     same => n,Set(CDR(recordingfile)=${filename}.mp3)
     same => n,MixMonitor(${WAV}.wav,b,${monopt})
     same => n(end_sub),return
    
    exten => _X.,1,Noop(---------------Start-Call-----------------)
     same => n,Set(DNUM=${EXTEN})
     same => n,Dial(SIP/${DNUM},120,WwtTrU(sub-mixmonitor,${CALLERID(num)},${DNUM},${UNIQUEID}))
     same => n(end_call),HangUp()
  • Blacklist в asterisk?

    @dronmaxman
    ifaddr, Да там тоже была ошибка, поправил.
  • Blacklist в asterisk?

    @dronmaxman
    ifaddr, Заставил меня запустить этот код на моем астере. Из-за того что CALLSTATUS может принимать значение 'NO ANSWER' надо заключить ${CDR(disposition)} в кавычки.

    Поправил эти две строки
    same => n,Set(CALLSTATUS="${CDR(disposition)}")
    same => n,GotoIf($[${CALLSTATUS}="ANSWERED"]?:go-endcall)
  • Как организовать доступ в ЛВС по Wireguard?

    @dronmaxman
    Антон,
    при этом с Win11 192.168.0.61 пингуется ноутбук 10.8.0.3.

    Потому что стоит галочка в asus "Включить NAT".
  • Как организовать доступ в ЛВС по Wireguard?

    @dronmaxman
    Антон, На WG сервере для профиля роутера asus ты добавил сеть 192.168.0.0/24 ?
    AllowedIPs = 10.8.0.8/32, 192.168.0.0/24
  • Как организовать доступ в ЛВС по Wireguard?

    @dronmaxman
    Антон,
    это обычный рабочий компьютер Win11

    Это труба. Лучше поставь какую-то виртуалку и настрой на ней WG. (Hyper-V, VMware, VirtualBox).

    Если этот win 11 не GW для этой сети, то надо
    - либо прописать маршрут на клиенте который в сети 192.168.0.0/24 в сеть 10.8.0.0/24 через 192.168.0.8
    - либо прописать маршрут на asus в сеть 10.8.0.0/24 через 192.168.0.8
    - либо включить на 192.168.0.8 NAT когда пакет приходит от 10.8.0.0/24