Повышение информационной безопасности при работе с Web-приложениями, используя протокол HTTPS 2014 Миндияров Илья Гафурович Главный специалист по программному обеспечению Центра информационных технологий и консалтинга «ПАРУС»
Генерация корневого сертификата Генерация сертификата Web-сервера Настройка Apache Tomcat Настройка Oracle ORDS Рассматриваемые задачи В архиве находятся файлы, используемые в презентации. Чтобы их открыть нужно: 1. Открыть PowerPoint 2. Открыть файл этой презентации 3. На текущем слайде 2 раза нажать кнопку мыши на иконке файла
Устанавливаем OpenSSL для Windows
Сейчас дистрибутив доступен по адресу Устанавливаем OpenSSL для Windows
При установке возможно появится сообщение Устанавливаем OpenSSL для Windows
Тогда сначала скачиваем и устанавливаем Устанавливаем OpenSSL для Windows
Для определенности установим программу в каталог C:\OpenSSL Устанавливаем OpenSSL для Windows
Добавим c:\openssl\bin в переменную PATH Для этого выбираем Компьютер, нажимаем правую кнопку мыши и выбираем Свойства Устанавливаем OpenSSL для Windows
Выбираем Дополнительные параметры системы Устанавливаем OpenSSL для Windows
Нажимаем на Переменные среды Устанавливаем OpenSSL для Windows
Добавим c:\openssl\bin в переменную PATH Добавляем в начало c:\openssl\bin; Устанавливаем OpenSSL для Windows
В командной строке пишем cd c:\openssl\bin openssl version Если все правильно Устанавливаем OpenSSL для Windows
Если неправильно, то снова пытаемся установить PATH Устанавливаем OpenSSL для Windows
Создаем каталоги: внутри c:\OpenSSL\bin выполняем mkdir demoCA cd demoCA mkdir certs mkdir crl mkdir newcerts Создадим файлы type nul >c:\openssl\bin\demoCA\index.txt echo 01 >c:\openssl\bin\demoCA\serial Настраиваем OpenSSL для Windows
В файле c:\openssl\bin\openssl.cfg заменим 1024 на 4096 [ req ] default_bits= 1024 Заменим на [ req ] default_bits= 4096 Можно еще много чего заменить, например [ req_distinguished_name ] countryName= Country Name (2 letter code) countryName_default= AU Заменим на [ req_distinguished_name ] countryName= Country Name (2 letter code) countryName_default= RU Настраиваем OpenSSL для Windows
Создадим файл c:\openssl\bin\crt_root.bat openssl genrsa -des3 -out root.key 4096 openssl rsa -in root.key -out root.key2 openssl req -config "c:\openssl\bin\openssl.cfg" -new -key root.key2 -out root.csr openssl x509 -req -days in root.csr -signkey root.key2 -out root.crt Создадим файл c:\openssl\bin\crt_cert.bat openssl genrsa -des3 -out %1. key 4096 openssl rsa -in %1. key -out %1.key2 openssl req -config "c:\openssl\bin\openssl.cfg" -new -key %1. key -out %1. csr openssl ca -verbose -config "c:\openssl\bin\openssl.cfg" -days policy policy_anything -md sha1 -cert root.crt -keyfile root.key2 -outdir "c:\openssl\bin" -in %1. csr -out %1. crt Генерируем корневой сертификат
Создадим корневой сертификат организации c:\OpenSSL\bin>crt_root.bat Введите пароль Генерируем корневой сертификат
Потом еще раз введите этот пароль Генерируем корневой сертификат
И в третий раз введите этот пароль Генерируем корневой сертификат
Отвечаем на вопросы кому будет принадлежать корневой сертификат Генерируем корневой сертификат
Вот, например, мои ответы Country Name (2 letter code) [AU]:RU State or Province Name (full name) [Some-State]:Moscow Locality Name (eg, city) []:Moscow Organization Name (eg, company) [Internet Widgits Pty Ltd]:Parus CO. Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:parus.ru Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: ВАЖНО Правильно заполните Common Name Генерируем корневой сертификат
Мы создали self-signed сертификат. Сначала создали секретный ключ длиной 4096 бит. Затем с ключа сняли пароль. Создали запрос на сертификацию. Сами собой этот запрос подписали Генерируем корневой сертификат
В каталоге c:\openssl\bin появились файлы root.crt -Сертификат, который надо всем раздавать root.csr -Запрос на сертификацию – будет нужен только если вы захотите этот сертификат зарегистрировать в центре сертификации root.key -Зашифрованный файл с приватным ключом сертификата. НИКОМУ НЕ ДАВАТЬ root.key2 -Расшифрованный файл с приватным ключом сертификата. ВООБЩЕ НИКОМУ НЕ ДАВАТЬ ЭТИ ФАЙЛЫ ХРАНИТЬ В НАДЕЖНОМ МЕСТЕ И РАСПЕЧАТАТЬ НА БУМАГЕ КРУПНЫМ ШРИФТОМ (НА СЛУЧАЙ ЕСЛИ ЭЛЕКТРОННЫЙ НОСИТЕЛЬ НЕ ПРОЧИТАЕТСЯ Генерируем корневой сертификат
Теперь создаем сертификаты для серверов c:\OpenSSL\bin>crt_cert.bat www Где www – например, имя сервера Создаем сертификат сервера
Точно так же (но уже 4, а не 3) раза вводим одинаковый пароль Создаем сертификат сервера
Точно так же отвечаем на вопросы Создаем сертификат сервера
Важно только правильно указать имя сервера Создаем сертификат сервера
Затем все время отвечаете y (первая буква слова Yes) Создаем сертификат сервера
В каталоге c:\openssl\bin появилось 4 файла Создаем сертификат сервера
Проверяем: в проводнике открываем root.crt Проверка работоспособности сертификатов
Нажимаем Установить сертификат Выбираем Доверенные корневые центры сертификации Проверка работоспособности сертификатов
Нажимаем Установить сертификат Выбираем Доверенные корневые центры сертификации Проверка работоспособности сертификатов
Нажимаем Далее Проверка работоспособности сертификатов
Нажимаем Готово Проверка работоспособности сертификатов
Нажимаем Да Проверка работоспособности сертификатов
Нажимаем Да Проверка работоспособности сертификатов
в проводнике открываем На значке не должно быть красного крестика Проверка работоспособности сертификатов
Удалите теперь файл crt_root.bat ни в коем случае не генерируйте снова корневой сертификат (это нужно делать только 1 раз) Через групповые политики Active Directory добавьте сертификат root.crt на компьютеры организации. Такой способ позволяет добавить только один сертификат – корневой, а сами сертификаты серверов можно генерировать сколько угодно и все они будут доверенными. Не придется при смене названия web-сервера снова устанавливать на все клиентские компьютеры новый сертификат Поздравляю, сертификаты получились
Установка Apache Tomcat
1. Загрузите JDK c сайта 2. Загрузите Apache Tomcat с сайта tomcat.apache.org 3. Установите JDK и JRE 4. Установите переменную окружения JAVA_HOME Пуск -> Компьютер->Свойства, ссылка Дополнительные параметры системы вкладка Дополнительно кнопка Переменные среды Например, у меня JAVA_HOME=c:\jdk Разархивируйте apache-tomcat Установка Apache Tomcat
1. Запустим tomcat Появится окно в котором последней строкой будет написано Server startup … Установка Apache Tomcat
Запустим браузер Установка Apache Tomcat
Выключим tomcat Напишем shutdown Установка Apache Tomcat
Установим tomcat как службу windows В каталоге bin надо выполнить service.bat install tomcat-apex Где tomcat-apex – имя службы Установка Apache Tomcat
В regedit можно менять параметры [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\tomcat-apex] Установка Apache Tomcat
Проверим сертификат Сначала притворимся сервером Узнаем свой ip-адрес командой ipconfig Исправляем файл C:\Windows\System32\drivers\etc\hosts Допишем строку Настройка https
Проверим Настройка https
Останавливаем службу Настройка https
Редактируем c:\tomcat-apex\conf\server.xml Было Стало Было Стало Настройка https
Редактируем c:\tomcat-apex\conf\server.xml Было Стало Удалим В каталог c:\tomcat-apex\conf\keys перепишите файлы и Можно переписать но тогда придется писать пароль при запуске tomcatwww.key2 Настройка https
Редактируем c:\tomcat-apex\conf\web.xml В предпоследнюю строку добавляем Protected Context /* CONFIDENTIAL Настройка https
Конец файла c:\tomcat-apex\conf\web.xml будет выглядеть так Настройка https
Запускаем службу Можно так net start tomcat-apex Настройка https
Проверяем Должно перейти на Настройка https
При нажатии мышкой на замок, а затем на вкладку Соединение мы увидим как нас защищают. Примечание: Замок должен быть зеленого цвета Настройка https
Скачиваем с services/downloads/index.htmlhttp:// services/downloads/index.html Установка ORDS
1. Останавливаем tomcat 2. Достаем из архива ords файл ords.war 3. Копируем ords.war в папку c:\tomcat-apex\webapps 4. Переименовываем ords.war например в parus8. war Примечание: можно настроить несколько ORDS на одном web-сервере если переименовывать по-разному war-файлы Установка ORDS
1. Создадим папку c:\tomcat-apex\conf\parus8 2. Выполним из c:\tomcat-apex\webapps set CATALINA_BASE=c:\tomcat-apex java -jar parus8. war configdir "${catalina.base}/conf/parus8 Это позволит копировать всю папку с tomcat на другие сервера Установка ORDS
1. Выполним из c:\tomcat-apex\webapps java -jar parus8. war setup 2. Отвечаем на вопросы Вот мои ответы: c:\tomcat-apex\webapps>java -jar parus8. war setup ноя 25, :28:07 PM oracle.dbtools.common.config.file.ConfigurationFolder lo gConfigFolder INFO: Using configuration folder: C:\tomcat-apex\webapps\${catalina.base}\conf\p arus8\parus8 Enter the name of the database server [localhost]: Enter the database listen port [1521]: Enter 1 to specify the database service name, or 2 to specify the database SID [ 1]:2 Enter the database SID [xe]:FORUM Enter the database user name [APEX_PUBLIC_USER]: Enter the database password for APEX_PUBLIC_USER: Confirm password: Enter 1 to enter passwords for the RESTful Services database users (APEX_LISTENE R,APEX_REST_PUBLIC_USER), 2 to use the same password as used for APEX_PUBLIC_USE R or, 3 to skip this step [1]:3 ноя 25, :28:33 PM oracle.dbtools.common.config.file.ConfigurationFiles upd ate INFO: Updated configurations: apex c:\tomcat-apex\webapps> Установка ORDS
В c:\tomcat-apex\webapps появилась странная папка ${catalina.base} это произошло из-за того что ords был запущен не из tomcat Переписываем эту папку в c:\tomcat-apex Установка ORDS
В c:\tomcat-apex\webapps\ROOT \i копируем каталог images от apex Что это за папка предполагается, что вы уже знаете. Установка ORDS
Запускаем tomcat Проверяем P.S. На компьютере установлен старый apex Установка ORDS
Из папки C:\tomcat-apex\webapps\ROOT удаляем все кроме папки i Создаем файл index.html следующего содержания Где /f?p=555 – это приложение по умолчанию. Установка ORDS
СПАСИБО ЗА ВНИМАНИЕ «Корпорация ПАРУС», , Москва, ул. Ярославская, д.10 корп.4, (495) ,