Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список отозванных сертификатов, Список отозванных сертификатов 
:(
    Опции темы
redboook
Дата 25.1.2017, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.1.2017

Репутация: нет
Всего: нет



Добрый вечер!

Требуется помощь специалиста. 
Цель: нужно создать список с отозванными сертификатами, чтобы по этим сертификатам нельзя было подключиться с других серверов.

Я создал сертификаты. Так же создал crl.pem. После добавления сертификата в crl.pem локально подключиться с этим сертификатом уже не могу к серверу БД, что отлично. Но, стоит этот сертификат сохранить на другом сервере и от туда подключиться, то все пройдет отлично. Вопрос, как этом можно выключить, нужно чтобы вообще ни откуда ни кто не смогу подключиться к серверу с отозванным сертификатом. 
PM MAIL   Вверх
_zorn_
Дата 26.1.2017, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 2
Всего: 12



Что это за сертификаты вообще ?
Напишите на [email protected] - почти заинтересовался  smile 

Это сообщение отредактировал(а) _zorn_ - 26.1.2017, 19:36
PM MAIL   Вверх
redboook
Дата 27.1.2017, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.1.2017

Репутация: нет
Всего: нет



Цитата(_zorn_ @ 26.1.2017,  19:35)
Что это за сертификаты вообще ?
Напишите на [email protected] - почти заинтересовался  smile

Ssl сертификаты. Ни чего особенного

Просто у ssl сертификатов есть, такое понятие, как отозванные сертификаты, обычно файл от них имеет название crl.pem в нем находятся соответственно отозванные сертификаты. Вот собственно про этот файл и идет речь. 
PM MAIL   Вверх
Akina
Дата 27.1.2017, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(redboook @  25.1.2017,  21:54 Найти цитируемый пост)
стоит этот сертификат сохранить на другом сервере и от туда подключиться, то все пройдет отлично.

То есть межсерверные подключения у тебя не используют SSL?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
redboook
Дата 27.1.2017, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.1.2017

Репутация: нет
Всего: нет



Цитата(Akina @ 27.1.2017,  08:02)
То есть межсерверные подключения у тебя не используют SSL?

Верно. У меня по ssl только реплика в mysql.
PM MAIL   Вверх
Akina
Дата 27.1.2017, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Ну тогда какие претензии-то? Если SSL - то везде SSL. 

Сертификат следует включить в список отозванных на всех серверах - это первое. Все соединения, включая межсерверные, следует организовывать только по SSL - это второе. Тогда и не будет подобных "казусов".


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
redboook
Дата 27.1.2017, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.1.2017

Репутация: нет
Всего: нет



Цитата(Akina @ 27.1.2017,  09:28)
Ну тогда какие претензии-то? Если SSL - то везде SSL. 

Сертификат следует включить в список отозванных на всех серверах - это первое. Все соединения, включая межсерверные, следует организовывать только по SSL - это второе. Тогда и не будет подобных "казусов".

Под межсетевыми соединениями вы понимаете что?

Добавлено через 5 минут и 14 секунд
Исходя из выше сказанного, складывается у меня впечатление, что мне нужно помимо того, что БД работает на ssl, так и еще подключать ssl на apache2/nginx, чтобы все это заработало. Да же, если на сервере не используется apache2/nginx и так далее. Или вы, говорите о чем-то другом, а я просто не могу догнать о чем именно. Поправьте меня если я ошибаюсь.
PM MAIL   Вверх
Akina
Дата 27.1.2017, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(redboook @  27.1.2017,  10:45 Найти цитируемый пост)
Под межсетевыми соединениями вы понимаете что?

Я не говорил этого слова.

Цитата(redboook @  27.1.2017,  10:45 Найти цитируемый пост)
Или вы, говорите о чем-то другом, а я просто не могу догнать о чем именно. Поправьте меня если я ошибаюсь. 

Я говорю о том, что сервер должен работать либо по SSL - но тогда абсолютно со всеми, либо никакого смысла в SSL нет, за исключением тех случаев, когда не-SSL соединения разрешены со строго определённых хостов (например, с админки или от локалхоста), причём фильтрация при этом выполняется не на уровне MySQL-сервера, а на уровне сетевой подсистемы ОС. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
redboook
Дата 27.1.2017, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.1.2017

Репутация: нет
Всего: нет



Цитата(Akina @ 27.1.2017,  09:58)
причём фильтрация при этом выполняется не на уровне MySQL-сервера, а на уровне сетевой подсистемы ОС.  

Хм. Интересно. Честно, очень интересно. 

Скажем, есть три сервера, на которых стоит mysql и вместе они образуют реплику. 
В конфиг файлах всех серверов пишем 

ssl-ca=/etc/mysql/ssl/cacert.pem
ssl-cert=/etc/mysql/ssl/servercert.pem
ssl-key=/etc/mysql/ssl/serverkey.pe
ssl-crl=/etc/mysql/ssl/crl.pem

ну или, что-то подобное. 

Тем самым мы здесь организуем подключение к БД через сертификат посредством самой БД, а не ОС.
Вот пример, того, как это делается через средства БД. Это я знаю и мне это понятно.

А, вот пример с 
Цитата

а на уровне сетевой подсистемы ОС.

мне как-то в голову ни какой пример сразу и не лезет. Кроме, как проверка ssl на уровне nginx, но это мы ведь проводим тем самым подключение к 80 порту, а проверка происходит браузером клиента. Что то же не сходится одно с другим. 
Пожалуйста приведите конкретный пример, если это возможно.

Добавлено через 13 минут и 24 секунды
Тут есть еще одна штука. Я просто не знаю, как она настраивается в сертификатах БД. А, то о чем я говорю, это хранение crl.pem не локально, а на удаленном сервере, пусть это будет четвертый сервер. И, данные о том, что искать crl.pem на удаленном сервер, нужно прописывать то ли в самих сертификатах, то ли в БД или в обоих местах сразу. 

Вот пример с сертификатами для nginx/apache2 

там рассматривается crlDistributionPoints = URI:http://example.com/intermediate.crl.pem
Но, вся статься посвящена корневому сертификату, а не сертификату для БД. Вот не знаю, есть ли такое в БД или нет.
PM MAIL   Вверх
Akina
Дата 27.1.2017, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(redboook @  27.1.2017,  17:35 Найти цитируемый пост)
А, вот пример с 
Цитата

а на уровне сетевой подсистемы ОС.

мне как-то в голову ни какой пример сразу и не лезет.

MySQL устанавливает SSL-соединение по TCP, используя определённый порт (обычно 3306). Переопределим его, например, на 3307. Включаем в ОС фильтр входящих пакетов (как вариант - во встроенном брэндмауэре или файрволе третьей фирмы) на пропускание входящих TCP/3307 только с определённых адресов - и всё. Вот и пример, и реализация одновременно. 

Впрочем, всё то же можно сделать и на уровне аутентификации MySQL-пользователя (GRANT ... REQUIRE SSL;)

Цитата(redboook @  27.1.2017,  17:35 Найти цитируемый пост)
Кроме, как проверка ssl на уровне nginx, но это мы ведь проводим тем самым подключение к 80 порту, а проверка происходит браузером клиента.

Ну вот... и мухи, и котлеты в одну кучу, да ещё и сковородку туда же. nginx в процессе общения скрипт-сервера (обычно PHP) и MySQL-сервера вообще не участвует никаким боком! А то, что он может этот трафик проксить, тоже никакого отношения к делу не имеет, как не имеет отношения к производству смартфонов курьер магазина, который привёз тебе на дом купленный заказ (да и сам магазин тоже, и склад этого магазина, хоть там тех смартфонов можно центнерами мерить).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
redboook
Дата 27.1.2017, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.1.2017

Репутация: нет
Всего: нет



Спасибо за развернутый ответ. 

Все работает до того, времени пока не будет подмены IP адреса. Когда произойдет подмена, тогда вся эта схема ломается. Ведь если не иметь сертификата, то, да же если сделать подмену IP, мы все равно не сможем подключиться, а когда есть и IP и сертификат, тогда все решаемо. 


PM MAIL   Вверх
redboook
Дата 28.1.2017, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.1.2017

Репутация: нет
Всего: нет



Если разобрать протокол TCP, то при подмене он(третье лицо) сможет только отправляться данные на сервер, но не сможет принять их. По этому, он может послать такую команду, которая или удалит все данные или что-то изменит в БД.
Так что, вопрос все же открыт. 

А, ваш способ довольно хороший. 
PM MAIL   Вверх
redboook
Дата 29.1.2017, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.1.2017

Репутация: нет
Всего: нет



Решение проблемы нашел вот в этом посте. Теперь да же украденный сертификат не будет запущен на чужом компе, да же если он сделает подмену IP.

Добавлено через 2 минуты и 14 секунд
-extfile mycrl.cnf  - это и есть решение. )) вынести в отдельный файл или можно сразу в файле openssl.cnf все поправки внести. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.2482 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.