24.5.12

Вебинар № 3 по InterBase

Завтра, 25 мая в 12:00 в рамках серии вебинаров Эмбаркадеро "Developer Direct: Демонстрации и обсуждения"
http://forms.embarcadero.com/forms/EM12Q2RUWebinarDeveloperDirect

опять я, про InterBase. Часть 3, Средства разработки и компоненты.

Welcome.

Запись предыдущего вебинара (о UDF) пока не выложена, будет скоро.

16.5.12

Шифрование в InterBase

Когда вышел InterBase 2009, я увидел в списке новых фич шифрование. Поскольку лично меня эта тема не затрагивает, я ознакомился с возможностями, и на этом все кончилось. Интересно, что даже разработчики, которых эта тема интересует, ее пропустили. Например, один из вопросов, присланный нам перед вебинаром по InterBase, проводимом 14 марта, был "как в InterBase с шифрованием". Простите, но на дворе уже давно XE (с конца 2010 года), а 2009-ая вышла в августе 2008 года.
В общем,  вместе с Embarcadero провели первый вебинар на тему InterBase, и в него вошел общий рассказ про возможности шифрования. Сейчас готовится второй вебинар, а там и третий, но мне кажется, что подробнее эту тему лучше раскрыть в блоге, поэтапно. Здесь и начнем.

Шифрование в InterBase существует в "трех частях"
  • шифрование соединения (Over-the-Wire, OTW)
  • шифрование БД (всей БД или отдельных столбцов таблиц)
  • шифрование бэкапов
Большинство, конечно, хочет просто "шифрования базы", чтобы ее не украли или чтобы не стащили информацию. Но к сожалению, опять же у большинства, представление о шифровании достаточно примитивное, и "зашифровать базу" это как бы как "зашифровать файл или архив". В реальности это не так, и требует определенных усилий по планированию и управлению.
Слова "а зачем оно нам такое, нам бы попроще" отметаются сразу, потому что простое шифрование так же просто вскрывается. В общем, давайте лучше посмотрим, как оно устроено.
Стандарты шифрования
Поддерживается DES (по умолчанию), и AES. DES можно использовать сразу, для AES нужно скачать бесплатную лицензию со своего аккаунта на Embarcadero (при условии, что InterBase куплен и зарегистрирован.

Шифрование соединения

Операционные системы клиента и сервера должны поддерживать SSL v3 и TLS v1. Сертификат и CA файлы должны быть сгенерированы заранее, быть в формате PEM, и размещены на компьютерах клиента (клиентский и публичный серверный ключ) и сервера (серверный ключ).
Строка коннекта при этом получается чудовищная (пример из OpGuide.pdf)
"localhost/gds_ssl?ssl=true?clientPassPhrase=clientkey?clientCertFile=c:\\InterBase\\client\\client.pem?serverPublicFile=c:\\InterBase\\client\\serverCAfile.pem??:c:/db/database.ib"

На сервере должен быть файл ibss.config, в котором прописываются параметры для серверной стороны, и если честно, все это настолько страшно, что я не хочу дальше это описывать, и предоставлю вам самостоятельно дочитать об этом в OpGuide.pdf - там приведен максимум информации, включая примеры настроек и конфигураций (без проверки клиента, с проверкой, и т.п.).

Главное, что шифрование коннекта есть, оно настраивается, но требует определенных усилий по его настройке. Собственно, безопасность через тяп-ляп не обеспечивается.

Вот о шифровании БД (всей или столбцов) я расскажу подробнее, но в следующем посте.

5.7.11

РАО N 2?

На днях по электронной почте пришло УВЕДОМЛЕНИЕ от ФГУП МНИИ "Интеграл", о том что

"Согласно Федеральному закону № 77-ФЗ «Об обязательном экземпляре документов» от 29.12.1994 г производители программ для ЭВМ и баз данных обязаны доставлять в МНИИ «Интеграл» один обязательный бесплатный экземпляр программ."

Штрафы за непредоставление, кстати (в письме не указано), для юрлиц от 10000 до 20000 тысяч рублей.

Я тут же открыл этот закон на сайте Консультанта, и обнаружил вот что.

Статья 5. Виды документов, входящих в состав обязательного экземпляра
1.
...программы для электронных вычислительных машин и базы данных на материальном носителе;

К примеру, мы не поставляем свое ПО на материальных носителях.

Кстати, если сравнить этот текст с текстом, размещенным на сайте "Интеграла",
http://indepo.ru/laws_1.htm
то кто-то из двух врет. Потому что Эта же 5-ая статья в редакции Интеграла содержит отличное описание пункта об электронных изданиях:
электронные издания - программы для электронных вычислительных машин и базы данных, а также электронные документы, прошедшие редакционно-издательскую обработку, имеющие выходные сведения, тиражируемые и распространяемые на машиночитаемых носителях;
(подчеркнуто то, чего нет на Консультанте и других сайтах, цитирующих закон в самой последней редакции.)

Отсюда впечатление, что некто там встрепенулся, что можно заработать денег, штрафуя российских разработчиков ПО.
Я мог бы прислать наши "экземпляры", но подчеркиваю, что мы их не распространяем на материальных носителях, и кроме того, наше ПО требует регистрации и защищено от взлома. И такого ПО сейчас 99% (исключая бесплатное).
Сам закон написан безобразно (в т.ч. юридически, много к чему есть придраться), и смысл его от меня ускользает. Есть же ФИПС, в конце-концов.

p.s. Например, Статья 13, пункт 1 - "Производители документов доставляют в МНИИ "Интеграл" один обязательный экземпляр программ для электронных вычислительных машин и баз данных". А в Статье 1 написано, что документ - это "материальных носитель с зафиксированной на нем в любой форме информацией....". Там же в определении "производитель документов" ничего про ПО не написано. Там даже "Электронные издания - документы, ...которые ... тираюируются и распространяются на машинночитаемых носителях".

Ну и самое главное: "Настоящий Федеральный закон не распространяется на .... электронные документы, распространяемые исключительно в сетевом режиме"