bcrypto / btls

TLS with additional ciphersuites
2 stars 1 forks source link

Ошибка при установлении TLS соединения между браузером Epiphany и сервером #6

Closed D0R1K closed 3 months ago

D0R1K commented 4 months ago

На чистую систему Ubuntu 22.04 скачал

$ git clone https://github.com/bcrypto/btls.git
$ cd btls/client

Дополнительно установил

$ sudo apt-get install meson
$ sudo apt-get install libglib2.0-dev

Запустил скрипт

$ bash build_client.sh

Задал переменные

$ bash add_to_bashrc.sh

Выполнил команды запуска контейнерного приложения btls256 из методики МИ.10165.10.01 Г.2.1

$ sudo docker pull btls/btls256
$ sudo docker-compose up -d btls256

На этапе запуска

$ sudo docker exec -it btls256 bash
$ nginx -g "daemon off;" 

получил

(!) bash: nginx: command not found

Установил nginx

$ apt update
$ apt install nginx

При запуске не обнаружены соответствующие директории, создал их

$ nginx -g "daemon off;"
(!) nginx: [emerg] open() "/usr/share/nginx/logs/error.log" failed (2: No such file or directory)
$ mkdir -p /usr/share/nginx/logs/ nginx -g "daemon off;"
(!) nginx: [emerg] open() "/etc/nginx/logs/nginx-acces.log" failed (2: No such file or directory)
$ mkdir -p /etc/nginx/logs       
$ nginx -g "daemon off;"

Запустил flask (flask запускается сразу с btls256, остановил оба и запустил по-отдельности)

$ sudo docker exec -it flask bash
$ flask run --host=0.0.0.0 --port=5000

Получил

 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://172.19.0.2:5000

При вызове epiphany

$ epiphany https://127.0.0.1:8443

получаю (!) Unable to display this website The site at https://127.0.0.1:8443 seems to be unavailable. При этом в Wireshark в составе сообщения Client Hello нет белорусских криптонаборов.

Смог подключиться к удаленному серверу с локального клиента:

$ openssl s_client -connect 127.0.0.1:8443 -cipher DHE-BIGN-WITH-BELT-CTR-MAC-HBELT -tls1_2 -curves bign-curve256v1
blackbearman commented 3 months ago

Обновили образ btls/btls256. Прошу проверить, осталась ли проблема подключения

D0R1K commented 3 months ago

С новой версией при установке через скрипт build_client.sh появились проблемы при работе локального клиента и сервера, скачал отдельно bee2evp и установил через скрипт test.sh, локальные клиент и сервер заработали. Указал новые пути LD_LIBRARY_PATH и PATH до собранного отдельно bee2evp, запустил контейнеры btls256 и flask. При отправке

epiphany https://127.0.0.1:8443

получаю в wireshark Encrypted Alert,

image

при нажатии Accept Risk and Proceed в браузере браузер закрывается с ошибкой

image

epiphany:ERROR:../embed/ephy-web-view.c:651:allow_tls_certificate_cb: assertion failed: (G_IS_TLS_CERTIFICATE (view->certificate))
Bail out! epiphany:ERROR:../embed/ephy-web-view.c:651:allow_tls_certificate_cb: assertion failed: (G_IS_TLS_CERTIFICATE (view->certificate))
Aborted
blackbearman commented 3 months ago

Обновился bee2evp и скрипт сборки клиента build_client.sh.

blackbearman commented 3 months ago

Правильно настроенный клиент должен подключаться к https://127.0.0.1:8443/ по DHE-BIGN-WITH-BELT-CTR-MAC-HBELT

blackbearman commented 3 months ago

https://127.0.0.1:8443/check_server?test=btls256 запускает проверку четырех протоколов сразу