Сообщение Re[7]: Как странице в браузере найти сервер в локальной сети от 05.04.2021 14:42
Изменено 05.04.2021 15:00 Vetal_ca
Re[7]: Как странице в браузере найти сервер в локальной сети
Здравствуйте, Basil2, Вы писали:
B>А с local DNS это может прокатить? Например, сервер регистрирует в локальном DNS (mDNS) адрес server.local, и веб-клиент всегда обращается к адресу wss://server.local. Тогда сертификат нужен только один.
Можно, конечно. Локально можно крутить весь свой интернет с DNS, подсетями и TLS
Проблема в том, что у тебя будет самоподписанный certificate authority (CA), не включенный в глобальный, для *.local. Браузеры идут с существующими trusted root CA. И не только браузеры, еще клиентский код. Тот же curl.
См https://security.stackexchange.com/questions/158997/how-does-my-browser-inherently-trust-a-ca
В твоем случае, ты создаешь собственную PKI Infrastructure. Я использую для внутренних CA Vault PKI. Но можно при помощи openssl, конкретный лучший тьюториал я не подскажу.
Первый попавшийся: https://pki-tutorial.readthedocs.io/en/latest/
После этого, чтобы у пользователей не ругался браузер или клиентская часть, твой созданный CA нужно добавить в trusted root CA
https://en.wikipedia.org/wiki/Chain_of_trust
https://www.google.com/search?q=windows+add+trusted+root+ca
https://www.google.com/search?q=Linux+add+trusted+root+ca
Т.е., или свой CA и пользователи должны добавлять CA. Или DNS + сертификат внутри глобальной CA Trust Chain.
Cертификат еще обновлять нужно. Let's Encrypt — 3 месяца.
Кстати, раздачу сертификатов можно через свой web сервис сделать, как часть платной подписки. Ну и, локальные DNS + Cert раздавать через его.
При этом наверняка будет еще проблема с DNS rebinding attack, многие раутеры по умолчанию будут препятствовать Public DNS Record -> Private IP
B>А с local DNS это может прокатить? Например, сервер регистрирует в локальном DNS (mDNS) адрес server.local, и веб-клиент всегда обращается к адресу wss://server.local. Тогда сертификат нужен только один.
Можно, конечно. Локально можно крутить весь свой интернет с DNS, подсетями и TLS
Проблема в том, что у тебя будет самоподписанный certificate authority (CA), не включенный в глобальный, для *.local. Браузеры идут с существующими trusted root CA. И не только браузеры, еще клиентский код. Тот же curl.
См https://security.stackexchange.com/questions/158997/how-does-my-browser-inherently-trust-a-ca
В твоем случае, ты создаешь собственную PKI Infrastructure. Я использую для внутренних CA Vault PKI. Но можно при помощи openssl, конкретный лучший тьюториал я не подскажу.
Первый попавшийся: https://pki-tutorial.readthedocs.io/en/latest/
После этого, чтобы у пользователей не ругался браузер или клиентская часть, твой созданный CA нужно добавить в trusted root CA
https://en.wikipedia.org/wiki/Chain_of_trust
https://www.google.com/search?q=windows+add+trusted+root+ca
https://www.google.com/search?q=Linux+add+trusted+root+ca
Т.е., или свой CA и пользователи должны добавлять CA. Или DNS + сертификат внутри глобальной CA Trust Chain.
Cертификат еще обновлять нужно. Let's Encrypt — 3 месяца.
Кстати, раздачу сертификатов можно через свой web сервис сделать, как часть платной подписки. Ну и, локальные DNS + Cert раздавать через его.
При этом наверняка будет еще проблема с DNS rebinding attack, многие раутеры по умолчанию будут препятствовать Public DNS Record -> Private IP
Re[7]: Как странице в браузере найти сервер в локальной сети
Здравствуйте, Basil2, Вы писали:
B>А с local DNS это может прокатить? Например, сервер регистрирует в локальном DNS (mDNS) адрес server.local, и веб-клиент всегда обращается к адресу wss://server.local. Тогда сертификат нужен только один.
Можно, конечно. Локально можно крутить весь свой интернет с DNS, подсетями и TLS
Проблема в том, что у тебя будет самоподписанный certificate authority (CA), не включенный в глобальный, для *.local. Браузеры идут с существующими trusted root CA. И не только браузеры, еще клиентский код. Тот же curl.
См https://security.stackexchange.com/questions/158997/how-does-my-browser-inherently-trust-a-ca
В твоем случае, ты создаешь собственную PKI Infrastructure. Я использую для внутренних CA Vault PKI. Но можно при помощи openssl, конкретный лучший тьюториал я не подскажу.
Первый попавшийся: https://pki-tutorial.readthedocs.io/en/latest/
После этого, чтобы у пользователей не ругался браузер или клиентская часть, твой созданный CA нужно добавить в trusted root CA
https://en.wikipedia.org/wiki/Chain_of_trust
https://www.google.com/search?q=windows+add+trusted+root+ca
https://www.google.com/search?q=Linux+add+trusted+root+ca
Т.е., или свой CA и пользователи должны добавлять CA. Или DNS + сертификат внутри глобальной CA Trust Chain — "настоящий" сертификат.
Cертификат еще обновлять нужно. Let's Encrypt — 3 месяца.
Кстати, раздачу сертификатов можно через свой web сервис сделать, как часть платной подписки. Ну и, локальные DNS + Cert раздавать через его.
При этом наверняка будет еще проблема с DNS rebinding attack, многие раутеры по умолчанию будут препятствовать Public DNS Record -> Private IP
B>А с local DNS это может прокатить? Например, сервер регистрирует в локальном DNS (mDNS) адрес server.local, и веб-клиент всегда обращается к адресу wss://server.local. Тогда сертификат нужен только один.
Можно, конечно. Локально можно крутить весь свой интернет с DNS, подсетями и TLS
Проблема в том, что у тебя будет самоподписанный certificate authority (CA), не включенный в глобальный, для *.local. Браузеры идут с существующими trusted root CA. И не только браузеры, еще клиентский код. Тот же curl.
См https://security.stackexchange.com/questions/158997/how-does-my-browser-inherently-trust-a-ca
В твоем случае, ты создаешь собственную PKI Infrastructure. Я использую для внутренних CA Vault PKI. Но можно при помощи openssl, конкретный лучший тьюториал я не подскажу.
Первый попавшийся: https://pki-tutorial.readthedocs.io/en/latest/
После этого, чтобы у пользователей не ругался браузер или клиентская часть, твой созданный CA нужно добавить в trusted root CA
https://en.wikipedia.org/wiki/Chain_of_trust
https://www.google.com/search?q=windows+add+trusted+root+ca
https://www.google.com/search?q=Linux+add+trusted+root+ca
Т.е., или свой CA и пользователи должны добавлять CA. Или DNS + сертификат внутри глобальной CA Trust Chain — "настоящий" сертификат.
Cертификат еще обновлять нужно. Let's Encrypt — 3 месяца.
Кстати, раздачу сертификатов можно через свой web сервис сделать, как часть платной подписки. Ну и, локальные DNS + Cert раздавать через его.
При этом наверняка будет еще проблема с DNS rebinding attack, многие раутеры по умолчанию будут препятствовать Public DNS Record -> Private IP