FIPS

Дальше всякое сисадминское.

FIPS это Федеральный Стандарт по Обработке Информации (Federal Information Processing Standard). Когда говорят FIPS, обычно подразумевают публикацию Национального Института Стандартов и Технологий (NIST) за нумером 140-2. В ней описываются всяческие стандарты безопасности, включая алгоритмы шифрования, генерации случайных чисел и т.д. В России тоже есть аналог этого документа, это ГОСТ 54583-2011.

В Винде режим совместимости с FIPS включается довольно просто — либо через групповые политики (если у нас домен) или же через локальные настройки безопасности: Local Policies -> Security Options -> Use FIPS Compliant algorithms for encryption, hashing, and signing. Это заставит все программы, выполняемые на компьютере, использовать только безопасные алгоритмы. Если же программа захочет использовать небезопасный алгоритм (например, алгоритм хеширования MD5), то она вывалится с ошибкой “не шмагла”, а в евентах останутся соответствующие матюги от SCHANNEL.

И вот заодно пнём Линукс. Вернее, не сколько сам Линукс, сколько восторженных линуксофанатов. Скажите мне, дарагие друзиа, как на вашей любимой платформе включается режим совместимости с FIPS? А? Чего молчите? Ну, тогда отвечу я: НИКАК. Чтобы получить FIPS-совместимый Линукс, надо менять ядро на FIPS-совместимое, а оно (кокой сурприз!!) — продаётся и обновляется строго за деньги. Просто вы, дарагие друзиа, ничего сложнее пишмашинки или стандартного LAMP-сервера в жизни не делали, поэтому продолжаете считать, что Линукс — он бесплатный.

Пойдём далее. Самая большая засада с включением FIPS в том, что весь софт, который не умеет в SHA, AES и прочие умные слова, перестаёт работать. И ладно там если перестаёт работать какое-то самописное изделие или ещё какой несерьёзный софт. А вот у меня вчера перестал работать SQL Server. Ага, вот так вот, мля, знай наших! Вернее, перестал работать не сам сервер баз данных, а сервис линкования серверов. Он же шпарит по шифрованому протоколу между сервантами. И вот видимо конкретно эта часть не является FIPS-совместимой, так как от сервера прилетает TCP RST сразу после попытки TLS-рукопожатия.

Будем сегодня разбираться, не то это DBA чего-то не так наконфигурял, либо надо писать телегу в Microsoft, чтобы FIPS-совместимый продукт стал, наконец, FIPS-совместимым.