Это не вопрос программирования / программирования как таковой, но я полагаю, что этот ответ может быть одинаково действительным при написании программного обеспечения, поэтому я все равно опубликую его.
Доверять самозаверяющим сертификатам по умолчанию в используемой вами компьютерной системе или программном обеспечении - ужасная идея. Если вы примете все сертификаты, это сделает человека в середине атаки тривиальным. Все, что нужно сделать злоумышленнику, - это предоставить вам самозаверяющий сертификат, расшифровать и повторно зашифровать трафик.
Обычно для таких ситуаций вам нужно создать свой собственный центр сертификации, подписать свои сертификаты им и добавить его в /etc/ca-certificates.conf
или что-либо другое, что использует Red Hat.
Если бы вы писали собственное программное обеспечение, я бы также отслеживал старые сертификаты, предоставленные данным хостом, поэтому я буду предупрежден о том, изменился ли он, потому что у меня есть сомнения, что разумно полностью доверять глобальным ЦС. .
Я бы сказал, что следующие практики являются лучшими:
- Для ваших собственных услуг или для чего-либо, что должно указывать на то, что услуги предоставляются определенной организацией, которой вы доверяете, создайте ЦС и используйте его для сертификатов.
- Во всем остальном установите безопасное соединение, сохранив один раз токен безопасности (отпечаток сертификата SSL, отпечаток SSH / GPG и т. Д.), И будьте осторожны, если оно изменилось. Если вы параноик, при первом использовании убедитесь, что отпечаток в порядке, подключившись из разных мест или используя его в течение нескольких дней или по другому каналу (это не очень важно, потому что вероятность MITM во время первого подключения очень мала вероятность - но все же не незначительная).