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-сов­ме­сти­мым.