1С + Apache + SSL: почему вы должны использовать SSL (наглядная демонстрация)

06.08.12

Администрирование - Администрирование веб-серверов

Иллюстрированных  руководств по установке веб-сервера Apache и публикации базы в интернете достаточно. Однако почти никто не обращает внимания на безопасность и не настраивает использование защищенного https протокола, а не http. В этой заметке описана пошаговая установка и настройка Apache, продемонстрирована лёгкость, с которой злоумышленник может узнать ваш пароль, если вы не используете https. Описана пошаговая настройка https для Apache.

 Рассмотрим установку Apache на WindowsXP и публикацию файлового варианта базы на веб-сервер.

Надо заметить, что при работе с веб-сервером рекомендуется использовать не файловый, а серверный вариант работы 1С:Предприятия, т.к. связка веб-сервер+файловая БД вызывает значительную деградацию производительности при числе удаленных пользователей  даже от 3х человек.

Что понадобится:

  • Компьютер1 («Сервер»). На нём установлена Платформа 8.2 (при установке платформы не забудьте выбрать «модули расширения веб-сервера») и веб-сервер. На сервере должен быть доступен порт 443 (или какой-нибудь другой).
  • Отмечаем модули расширения веб-сервера в установщике платформы
  • Компьютер2 («Клиент»). Должен «видеть» Компьютер1 по сети. На нём установлен тонкий клиент, или просто браузер.
  • дистрибутив Apache 2.2 с внедренным OpenSSL (http://httpd.apache.org/download.cgi) - Win32 Binary including OpenSSL 0.9.8t (MSI Installer).

Установка Apache for Windows

  • Скачиваем дистрибутив Apache 2.2 с внедренным OpenSSL (http://httpd.apache.org/download.cgi) - Win32 Binary including OpenSSL 0.9.8t (MSI Installer).
  • Запускаем (нужны права администратора), next, соглашаемся с лицензионным соглашением, next.
  • Заполняем network domain, server name, administrator’s e-mail. Прописываем что угодно, например localhost, 123@localhost
  • Вводим информацию о сервере (любую)
  • Выбираем Typical установку. Next. Next. Install.
  • Ждём, пока установится. Finish
  • Проверяем работоспособность Apache. Заходим http://localhost/ с локального компьютера и http://[ip адрес компьютера] с другого. Должно появиться «It Works!».
  • Апач работает на 80 порту, http

 

Публикация базы 1С на веб-сервер.

Тут всё просто.

Администрирование --> публикация на веб-сервере.

Публикация базы на веб-сервер

Имя – то, что будет в адресной строке. Например, mysite.ru/UNF_Demo_web

Каталог – любая папка. В ней будет один маленький конфигурационный файл. Чем короче к ней путь и чем меньше в нём пробелов, тем иногда бывает меньше глюков у апача.

Нажимаем «Опубликовать», пару раз соглашаемся с перезапуском веб-сервера.

Всё! Публикация выполнена, запускаем браузер на клиенте, переходим по адресу [myhost]/[Имя].

 Доступ к базе, используется http

 

На этом обычно все и заканчивают. Однако, поскольку доступ осуществляется по http, через незащищенный канал, передаваемая информация, в т.ч. пароли, может оказаться доступной для третьих лиц.

Не будем голословны, убедимся.

Извлекаем пароль

Используя любой сниффер, можно отследить запрос к серверу, где клиент передает какие-то данные, сразу после того, как пользователь ввёл логин, пароль и нажал кнопку ОК.

Сниффер, запрос, содержащий данные авторизации

Очевидно, что пароль запрятан где-то в параметре credential («удостоверение»): cred=VGltb2ZlZXZhOjEyMzMyMQ== – другие не подходят по смыслу. Однако явного пароля мы тут не видим. Так может какая-то защита от пароля всё-таки используется?

Изучим страницу авторизации под отладчиком. В строке 147 файла loader.js наблюдаем:

Страница авторизации, loader.js

Переменные: name (содержащая имя пользователя - timofeeva), dvk (содержит пароль в открытом виде - 123321).

Dvm = name + “:” + dvk // теперь dvm = “timofeeva:123321”

Затем к dvm применяется функция base64encode и результат (строка «VGltb2ZlZXZhOjEyMzMyMQ==» сохраняется в dvn. В таком виде данные об авторизации и передаются на сервер. BASE64 – это метод кодирования информации, когда все символы «сужаются» до только печатных, английских. Не представляет трудности восстановить эту строку. К примеру, в 1С:Предприятие есть метод глобального контекста Base64Значение (), есть немало и онлайн-сервисов.

Воспользуемся одним из них, и получим timofeeva:123321, т.е логин и пароль, разделённые двоеточием.

Декодированная строка с данными для авторизации

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

Поэтому переходим к следующему шагу и включаем поддеркжу SSL.

 

 

Включение поддержки SSL в Apache

Открываем файл httpd.conf в папке C:\Program Files\Apache Software Foundation\Apache2.2\conf. Находим строку Listen 80, под ней дописываем Listen 443 (стандартный https порт)

Добавляем прослушивание 443 порта в httpd.conf

Копируем файлы ssleay32.dll и libeay32.dll из C:\Program Files\Apache Software Foundation\Apache2.2\bin в C:\WINDOWS\system32.

Копируем файл openssl.cnf из C:\Program Files\Apache Software Foundation\Apache2.2\conf в C:\Program Files\Apache Software Foundation\Apache2.2\bin.

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

В командной строке переходим в папку bin апача:

cd “C:\Program Files\Apache Software Foundation\Apache2.2\bin”

Выполняем команду

 openssl req -config openssl.cnf -new -out my-server.csr

Отвечаем на вопросы, в принципе можно заполнять поля чем угодно – главное не забудьте пароль (pass phrase).

Выполняем

openssl rsa -in privkey.pem -out my-server.key

Тут понадобится пароль, указанный в предыдущем пункте.

Выполняем

openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 5999

, где последний параметр – срок истечения валидности сертификата.

Выполняем

openssl x509 -in my-server.cert -out my-server.der.crt -outform DER

Создаем папку ssl в C:\Program Files\Apache Software Foundation\Apache2.2\conf и перемещаем файлы my-server.key и my-server.cert из C:\Program Files\Apache Software Foundation\Apache2.2\bin в C:\Program Files\Apache Software Foundation\Apache2.2\conf\ssl.

В файле httpd.conf ищем строку

#LoadModule ssl_module modules/mod_ssl.so

и раскомментируем её (убираем знак решетки).

Раскомментируем подгрузку подуля ssl

Идем в самый конец httpd.conf, там строки

Этот кусок конца httpd.conf удаляем

 
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
 

 

 

Удаляем их.

Вместо них вставляем следующие

 

Новый конец файла httpd.conf

 

 

 
 
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache none
 
 
 
 
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
 

 

Обратите внимание на последний блок со строкой, содержащей localhost:443

Вместо localhost надо вписать собственно адрес вашего сервера, по которому и будут идти обращения. Например, mysite.ru:443

Если этого не сделать, то клиент будет видеть странное сообщение об ошибке(в firefox - "SSL получило запись, длина которой превышает максимально допустимую."). И ещё большую странность ему будет добавлять то, что в разных браузерах будут разные сообщения.

Ошибка ssl при неверной секции </VirtualHost> файла httpd.conf

 

 Записываем изменения и закрываем httpd.conf

 

Запускаем редактор реестра (Пуск-выполнить – regedit), переходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache2.2.

 

Находим параметр ImagePath, и добавляем к его значению ключ -D ssl. Т.е. должно получиться "C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe" -D ssl -k runservice.

Новый параметр для запуска апача

Всё готово. Перезапускаем apache. Открываем Apache Monitor из области уведомлений и нажимаем restart. Если все отлично, то в лог выведется Apache service has restarted.

 

Если что-то не так, и apache не запускается, можно посмотреть подробности (например номер строки с ошибкой в httpd.conf) в журнале событий (панель управления- администрирование – просмотр событий – ветка «приложение». )

 

Проверим нашу работу

Заходим на сервер, для меня это https://192.168.179.129/UNF_Demo_web.

Т.к. сертификат мы сгенерировали сами, необходимо подтвердить исключение безопасности. Соглашаемся со всеми запросами, и наконец запускается 1С:Предприятие.

Всё работает, причем по ssl каналу. Мы молодцы? НЕТ.

Исправляем недостатки

Как известно, уровень безопасности системы равен наименее безопасному её элементу.

Уберём букву s в адресной строке. Любой пользователь по прежнему может зайти через http. И все старания по обеспечению безопасности сошли на нет.

Отключим полностью 80 порт, убрав или закомментировав (добавив # в начало строки) строку Listen 80 в конфигурационном файле httpd.conf. Перезапустим службу apache.

Отключаем прослушивание 80 порта

Отлично, теперь страница http://192.168.179.129/UNF_Demo_web не работает.

Теперь убедимся, что небезопасное http подключение, но к 443 порту не работает тоже. http://192.168.179.129:443/UNF_Demo_web выдает ошибку.

 Обращение на порт 443 по http не пройдет!

Заключение

Мы получили работающий веб-сервер Apache с опубликованной базой 1С. Доступ возможен только по безопасному протоколу https. Настройка https занимает не так много ресурсов, зато обеспечивает защиту от перехвата паролей.

При внедрении решения на управляемых формах, при необходимости использования одной базы в территориально разделённых офисах, использование веб-сервера Apache + браузера/тонкого клиента выглядит привлекательнее, чем использование терминального сервера (Апач бесплатный) или VPN-подключения (апач проще в настройке).

 

См. также

Администрирование веб-серверов Сервера Системный администратор Программист Абонемент ($m)

WEB приложение для управления сеансами сервера 1С, имеет адаптивный web интерфейс. Возможности: удаление сеансов; завершение rphost процессов; запуск службы 1С сервера (если остановлена). Используется авторизация BasicAuth с защитой от брутфорса. Поддерживает работу по http https протоколам.

1 стартмани

08.11.2024    382    6    gortrex    2    

3

Администрирование веб-серверов Бесплатно (free)

Ошибка 1С веб-сервис IIS. Ошибка доступа к файлу...183(0x000000B7) Невозможно создать файл, так как он уже существует.

27.09.2024    635    California_Dreaming    0    

3

Администрирование веб-серверов Системный администратор Бесплатно (free)

В материале описан порядок действий по настройке Apache для работы по защищенному протоколу HTTPS c 1С на операционной системе РедОС с выпуском сертификата SSL.

09.05.2024    2328    artemusII    1    

9

Администрирование веб-серверов Системный администратор Программист Бесплатно (free)

Инструкция, как опубликовать веб-сервис с помощью OSPanel.

06.05.2024    1638    lostcay    0    

5

Администрирование веб-серверов Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Статья описывает алгоритм установки, настройки и "сопряжения" с 1С веб-сервера Apache на РедОС. Статья, может, будет полезна тем, кто ищет в сети работающие алгоритмы установки веб-сервера и публикации на нем информационных баз 1С в контуре операционной системы РедОС. Помимо этого в статье рассмотрены некоторые спорные моменты, для анализа которых не удалось найти достаточно информации в сети.

25.04.2024    3130    artemusII    8    

18

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    1381    1    0    

9

Сервера Администрирование веб-серверов Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подробная пошаговая инструкция (как делал я) установки Сервера взаимодействия версия 22.0.26 на Windows Server 2022. Установка собственного объектного хранилище с помощью системы MinIO (https://min.io/). Настройка Сервера взаимодействия для обмена файлами в сообщениях.

1 стартмани

07.04.2023    20271    VPanin56    53    

77
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. anton.fly7 174 06.08.12 09:07 Сейчас в теме
Для web-сервисов такой же путь замены http на https ?
порт можно использовать любой, а не только стандартный 443?
2. galuse 543 06.08.12 09:31 Сейчас в теме
(1) anton.fly7, Точно так же. Публикация web-сервисов осуществляется в том же окне (администрирование - публикация на веб-сервере), и по умолчанию они все уже отмечены для публикации. Порт можно использовать любой.
3. anton.fly7 174 06.08.12 09:36 Сейчас в теме
про публикацию я в курсе ))
спрашиваю про доступ к опубликованным web-сервисам из вне, не понадобится танцев с бубнами чтоб доступ все-таки был?
4. galuse 543 06.08.12 09:58 Сейчас в теме
(3) anton.fly7, понадобится бубен(. http://infostart.ru/public/70286/
anton.fly7; +1 Ответить
5. EmpireSer 06.08.12 11:47 Сейчас в теме
Извините, но как же нагрузка на сервер?
SSL шифрование ужасно нагружает сервер! Если не применять сетевые фильтры для защиты от ddos-а - сервер можно положить как бы "правильными" обращениями.
Сейчас мировое сообщество ищет альтернативные пути передачи зашифрованных данных с меньшими нагрузками на сервер.
6. galuse 543 06.08.12 12:50 Сейчас в теме
(5) EmpireSer, Полностью согласен. Например, можно было бы использовать авторизацию по https, а все остальные данные передавать по http (так работает ВКонтакт). Однако, как приложить тенденции мирового сообщества к 1С:Предприятию, я не знаю.
7. Трактор 1254 06.08.12 13:32 Сейчас в теме
(6)
Однако, как приложить тенденции мирового сообщества к 1С:Предприятию

Полностью работать через vpn канал по http. Для облака не подойдёт, но для одного предприятия вполне хорошее решение.
8. EmpireSer 06.08.12 14:23 Сейчас в теме
(7) Трактор, VPN канал возможен только при полном контроле сервера. А если организуется внутренний сайт для взаимодействия с клиентами (как в 1С-Битрикс), то каждому клиенту настраивать VPN канал, пинать их админов (а они "тяжко" пинаются, если они вообще есть). Как я представляю - будет ужас.

(6) Я читал об одной реализации альтернативного шифрования канала связи в интернете, но уже не помню где это найти. Сходу - не нашёл.
Зато увидел такие ещё технологии: TLS и SSH.
59. KAV2 157 08.06.17 11:09 Сейчас в теме
(7) VPN хорошее решение но он хуже тем, что требует запуска VPN клиента. Если доступ нужен руководителю в коммандировке, для него это лишний, непонятный гемор в сравнении например с решениями вроде smartsheet который просто берешь и открываешь.
9. Трактор 1254 06.08.12 14:32 Сейчас в теме
(8) EmpireSer,
сайт для взаимодействия с клиентами (как в 1С-Битрикс)

Дай ссылку на описание решения Битрикса.

Я сделал иначе. Внешний сайт сам по себе. Работает с веб сервисами 1С, опубликованными на внутреннем сервере. Разработка такого решения труднее, область применения ограничена, но защищённость хорошая.
10. EmpireSer 06.08.12 17:26 Сейчас в теме

Дай ссылку на описание решения Битрикса.

(9) Трактор, 1С-Битрикс не описывает решение проблемы безопасности, там только модуль для "внешнего мира" (экстранет)
«1С-Битрикс: Корпоративный портал - Совместная работа»
Я ездил на семинар пол года назад и там "Экстранет" позиционировали как удобное средство для организации работы с клиентами/партнёрами/акционерами с удобными механизмами настройки прав, лёгким совместным редактированием документов и т.п.

А так как именно эта часть 1С-Битрикс "смотрит" в интернет, то её нужно шифровать постоянно (по логике конкурентной борьбы).
11. Трактор 1254 06.08.12 17:51 Сейчас в теме
(10) EmpireSer,
Интеграция позволяет выгружать из 1С на корпоративный портал

Битрикс вживую не работает с 1С. Выгрузка/загрузка.
12. EmpireSer 06.08.12 17:54 Сейчас в теме
(11) Трактор, спокойно работает через управляемые формы.
13. Трактор 1254 06.08.12 18:06 Сейчас в теме
(12) EmpireSer,
спокойно работает через управляемые формы.

1С да, работает. Но причём тут Битрикс?
14. EmpireSer 06.08.12 18:26 Сейчас в теме
(13) Трактор, да я то писал про то, что не у всех фирм есть возможность создать VPN канал для клиентов, если они (клиенты) с фирмой общаются через вот такие "единые сайты".
Тут и SSL не приделаешь из-за нагрузки, и "облака" стоят денег не малых для небольших (но шустрых) организаций.

Я тут подумал, что можно использовать комбинацию:
1. Весь сайт, кроме 1 места, работает по http
2. Авторизацию получаем именно в месте работы SSL
3. А вот тут магия: при авторизации на 2 п. сервер и мы создали хеш-ключ от пароля и им шифруется контент. Хеш-ключ знает лишь сервер и лишь браузер и ни какой его передачи.

Ну это черновой вариант...
Если сказать точнее - то создать что-то на подобие шифровального прокси, но используя возможности самого веб сервера и AJAX-са в браузере.
dimbos_s; Трактор; +2 Ответить
67. ArchLord42 83 22.04.18 22:15 Сейчас в теме
(5) "ужасно" это на сколько, в цифрах? Думается мне, вы в реальности с ssl не сталкивались, раз так говорите.
Nginx на слабеньком облачном серваке, арендуемым на Джино за 1.5к в месяц, спокойно вывозит больше 100 соединений, при этом у него ещё есть запас в районе 30%, на от iis'ов которые он проксирует вообще нагрузка не заметна на апстримах.
15. RustIG 1747 07.08.12 22:25 Сейчас в теме
Спасибо за статью!
Я не по теме спросить хочу :)
Вот я не разбираюсь в вебсерверах, и меня мучают угрызения совести... не могу успокоиться: надо ли мне это знать или нет?
Хотел бы найти ответ на вопрос: есть ли в природе 1С-спецы-универсалы, которые и по зарплате консультируют и по налоговому учету, и веб-сервер могут развернуть, программируют как на 7.7 и 8.2 (УправлФормы). Или все-таки происходит некоторое нишевание специализаций? заранее спасибо за ответ! :)
17. kirillkr 29 08.08.12 02:29 Сейчас в теме
(15) не обязательно. Но для повышения самообразования, да и на повышение значимости у работодателя знать основы желательно. Там не так сложно, надо просто несколько раз попробовать. Я, например, на Windows'е голый Apache никогда не разворачивал, только из сборки Denwer или XAMPP. Но развернув 10 раз на линуксе я уверен, что мне не потребуются часы, чтобы развернуть его на винде.
22. galuse 543 08.08.12 12:00 Сейчас в теме
(15) Rustig, Совесть мучает зря). Лишних знаний не бывает, но знать всё - тоже невозможно. Спецы, которые знают ВСЁ (почти) - существуют, но это редкость. Обычно всё-таки разделение труда среди 1с-ников, хоть и небольшое, но есть. Можно прожить счастливую жизнь с неплохой з/п, специализируясь на чем-то конкретном - скажем, на з/п, а не управл.уч. Что касается веб-сервера, то коллега прав, можно просто попробовать, ничего сложного нет.

(3) anton.fly7,
Ура! В 8.3 бубен уже не нужен, в "новые возможности и изменения": "Работа с Web-сервисами по протоколу https стала возможной с использованием клиентских сертификатов"
EugeneSemyonov; AlexK_2012; anton.fly7; +3 Ответить
23. anton.fly7 174 08.08.12 12:38 Сейчас в теме
(15) знаю 1с6, знаю 1с77 (более 10 лет), знаю 1с8х (5 лет), знаю web-сервисы, знаю ЗиК и ЗУП. С налоговым учетом сложнее...
24. RustIG 1747 08.08.12 12:46 Сейчас в теме
(23) :) Спасибо! Порадовали :)
25. anton.fly7 174 08.08.12 12:54 Сейчас в теме
(24) хорошо, сегодня день у вас прошел не зря!
16. LelikOFF 08.08.12 00:43 Сейчас в теме
Спасибо, интересная статья, очень подробное описание процесса, подключения к базе через http и настройки сервера apache, в начале по картинкам подумал дежавю, но нет.. статья на уровне.
18. Программулькин 301 08.08.12 08:00 Сейчас в теме
19. damontut 8 08.08.12 08:02 Сейчас в теме
вот бы еще тоже самое под IIS и Windows 2008R2 сделать...
20. karakozov 08.08.12 08:59 Сейчас в теме
Решение не уникально, но поговорить об этом стоило.В очередной раз разворачивая Апач подсмотрю в эту публикацию.
21. Gandalf Белый 08.08.12 09:48 Сейчас в теме
Большое спасибо! Было очень интересно прочитать статью, особенно про снифер! ))
26. klel 16.08.12 22:51 Сейчас в теме
Большое спасибо теперь будет чего написать админам :)
27. KliMich 07.09.12 21:25 Сейчас в теме
Спасибо за подробную инструкцию. Конечно, как советует kirillkr, знать основы желательно ...
28. ArtfulCrom 22 29.12.12 01:16 Сейчас в теме
Что-то я не понял. А настройка самого сервера 1С - ШИФРОВАНИЕ ДАННЫХ уже не устраивает? или это она и есть?
29. nissal 18.01.13 05:24 Сейчас в теме
Огромное спасибо за инструкцию! Настроил. Навскидку, если есть соображения: где я промахнулся? С сервера по внешнему IP работает, а из интернета, почему-то, нет, тайм-аут превышен. С обеих машин захожу по адресу https://xx.xx.xx.xx/Service-Folder

Открыл временно http, Listen 80, пока не пойму, что сделал не так. Работает и из интернета. Есть подозрение, что не так где-то в теге VirtualHost:

<IfModule ssl_module>
#SSLRandomSeed startup builtin
#SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache none
</IfModule>

<VirtualHost хх.хх.хх.хх:443>
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
</VirtualHost>

где хх.хх.хх.хх - реальный адрес веб-сервера

Спасибо заранее!
64. пользователь 08.10.17 15:23
Сообщение было скрыто модератором.
...
30. Гость 17.03.13 13:20
Уникальная для 1С статься и с хорошими иллюстрациями. Спасибо, рано или поздно пригодится.
31. e-ilyich 4 19.03.13 21:38 Сейчас в теме
Спасибо за статью, прямо в тему и вовремя ))
32. ivdic 31 06.04.13 20:46 Сейчас в теме
Ускорит ли работу 1с apache 64 бит?
33. xxxpb_ 15.05.13 17:28 Сейчас в теме
Здравствуйте коллеги.
У меня один вопросик, возможно немного не по теме.
есть ли возможность подключения клиентов к 1С используя "веб-клиент", но при подключении чтоб они вбивали свой логин и пароль и не ВИДЕЛИ СПИСОК ВСЕХ ПОЛЬЗОВАТЕЛЕЙ 1С!!! и если существует такая возможность ткните пожалуйста туда где мне можно почитать про это... спасибо.
34. biformatus 13.06.13 21:52 Сейчас в теме
(33) xxxpb_, отключи в конфигураторе для каждого пользователя флаг "Показывать в списке выбора"
romankoav; user1200920; kot26rus; +3 Ответить
35. tritonrc 08.07.13 07:59 Сейчас в теме
Большое спасибо за статью, очень пригодилось.
если у кого то будет ошибка 107 подключения к серверу, о проблеме ssl, просто закоментируйте пару строк
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache none
</IfModule>

#<VirtualHost localhost(mysite.ru):443>
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
#</VirtualHost>
maksa2005; AlexK_2012; Levis08; Tapochki-tmn; aka74u; Andy83; +6 Ответить
36. a.abelentsev 126 12.07.13 10:52 Сейчас в теме
А вот вопрос: если я цепляюсь к базе не через браузер, а тонким клиентом по адресу https://... - нужны ли какие-то дополнительные настройки?

Или тонкий клиент сам догадается сходить в хранилище сертификатов? (предположим, я первый раз зашел браузером и добавил сертификат в доверенные).
37. LexSeIch 211 30.07.13 10:20 Сейчас в теме
Мир этому дому!
Статья интересная. Два в одном - настройка сервера и обеспечение безопасности. По статистике, компьютер с выходом в интернет подвергается атаке в первые же 30 секунд. Любой может посмотреть логи своего терминального сервера и увидеть неудачные попытки авторизации... Статью взял на заметку.
38. a.abelentsev 126 01.09.13 15:28 Сейчас в теме
коллеги, и всё-таки, как заставить работать тонкий клиент при подключении по строке вида "https://..."?
Сейчас при попытке подключения пишет такое:

Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка HTTP при обращении к серверу: https://work.artsaterra.ru
SSL connect error

Сертификат записан в доверенные, при подключении браузером никаких дополнительных вопросов не задается.
39. teller 09.09.13 06:49 Сейчас в теме
Из документации:
При подключении по https тонким клиентом набор возможностей несколько ограничен:
● Использование клиентских сертификатов не поддерживается.
● Соединение с веб-сервером может быть установлено только в том случае, если сертификат службы сертификации, подписавшей серверный сертификат, присутствует в списке доверенных служб сертификации тонкого клиента. Если его нет в этом списке, тонкий клиент завершит свою работу, в отличие от браузера, который в этой ситуации предложит пользователю самостоятельно принять или отклонить сертификат, полученный от сервера

т.е. берем cert сгенеренный для apache,импортируем на рабочей станции тонкого клиента
набираем в тонком клиенте строку соединения например https://192.168.3.21/db1c_web

соединяемся - смотрим :
Платформа: 1С:Предприятие 8.2 (8.2.18.61)
Конфигурация: Зарплата и управление персоналом, редакция 3.0 (3.0.5.22) (http://v8.1c.ru/hrm/)
Copyright © ООО "1C", 2003-2012. Все права защищены
(http://www.1c.ru)
Режим: Веб-сервер (сжатие: усиленное)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
40. Katano 06.10.13 03:38 Сейчас в теме
Кому нибудь удалось подключить тонкий клиент к https
41. Katano 06.10.13 05:50 Сейчас в теме
Через веб работает а в режиме тонкого клиента не хочеть , md5 отпечаток добавил в cacert.pem. выдает : Ошибка HTTP при обращении к серверу: Problem with the SSL CA cert (path? access rights?)
42. maip1 06.10.13 16:22 Сейчас в теме
Отличная статья! Спасибо огромное!
43. d0dger 84 08.03.14 01:12 Сейчас в теме
Спасибо за труд. Полезная статья
44. Alex_IT 140 03.04.14 12:53 Сейчас в теме
Очень подробно и по делу. Спасибо!
45. check2 379 10.06.14 09:17 Сейчас в теме
Доброго времени суток. Насколько я понял из статьи использование IIS вместо Apache не решает ситуации?
46. aka74u 12 24.09.14 21:40 Сейчас в теме
Доброго времени суток коллеги! Кто смог подключить тонкий клиент через ssl поделитесь подробностями.
47. rafaiil 19.03.15 22:26 Сейчас в теме
Всем привет! на шаге "Отвечаем на вопросы, в принципе можно заполнять поля чем угодно – главное не забудьте пароль (pass phrase)." Возникла проблема: cmd не дает набирать символы.просто ничего не получается набрать.Что делать?
50. Tapochki-tmn 43 14.08.15 14:40 Сейчас в теме
(47) rafaiil,
Я как смог отменил этот диалог и начал заново, помогло.
Уже не помню, просто Enter жал, кажется.
48. Pavell_07 08.06.15 18:05 Сейчас в теме
Спасибо за статью! При настройке столкнулся с 2 проблемами: не вводился пароль и после перезапуска апача вылетала ошибка "The requested operation has failed". По первой проблеме оказалось что пароль вводится, но не отображается, а 2 проблема была связана с тем, что апач по умолчанию ставится в "C:/Program Files(x86)...." и из-за скобок происходит ошибка. Решил перестановкой в другую папку. В интернете есть другие решения данной проблемы.
49. kirinalex 16 11.08.15 07:22 Сейчас в теме
Настройка https занимает не так много ресурсов, зато обеспечивает защиту от перехвата паролей.

защита только паролей? трафик разве не шифруется?
51. ValeriVP 1336 06.10.16 12:38 Сейчас в теме
генерация ключей проще:

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>openssl req -x509 -config openssl.cnf -nodes -days 5999 -newkey rsa:2048 -keyout apache.key -out
apache.crt
52. motorin 19.01.17 16:19 Сейчас в теме
Спасибо за статью, через браузер и через тонкий всё работает, а вот мобильное приложение Заказы не хочет, кто сталкивался, как решить?
Прикрепленные файлы:
53. ayarov 06.04.17 23:26 Сейчас в теме
Спасибо, за детальную статью-инструкцию, всё работает.
Но есть такой нюанс: через "файл-открыть" пользователи видят содержимое дисков всего сервера, и очень хотелось бы закрыть им такую возможность. Апач у меня запускается под системной учётной записью винды, соотв. для неё не настроить запрет на доступ файлам и папкам, а если запускать службу от другой учётки - то не понятно как настроить запуск самого Апача. Можете подсказать куда копать?
(Апач 2.2 32х, Виндовз Сервер 2016 стандарт)
54. stinim 16.05.17 08:28 Сейчас в теме
(53) апач по дефолту запускается от системной учетки - туда и копать
55. Nandarou 27.05.17 21:32 Сейчас в теме
У меня при запуске службы была ошибка что нет или пустой my-server.cert. Переименовал файл в my-server.crt все заработало.
56. Nandarou 28.05.17 06:28 Сейчас в теме
По стать берется установка Apache 2.2 с openssl, который и на момент написания статьи, как я понимаю был не самой последней версией. С точки зрения безопасности можно сейчас использовать последние доступные версии Apache 2.2 с openssl.
57. aka74u 12 30.05.17 13:19 Сейчас в теме
Кто-то пробовал завести 1с 64 бит + апач 64 бит? Что-то не работает даже без ssl.
65. ВикторП 350 15.11.17 09:50 Сейчас в теме
58. KAV2 157 07.06.17 15:24 Сейчас в теме
Ребята есть два вопроса:
1) является ли такое https соединение таким же безопасным, как и при использовании платных сертификатов?
2) можно ли с помощью openssl сгенерировать сертификат для IIS веб сервера?
60. Suxar 12.07.17 15:15 Сейчас в теме
Статья хорошая, узнал для себя полезные вещи, но "VPN-подключения (апач проще в настройке)" не очень корректно. На мой взгляд VPN настроить проще.
61. TerveRus 26.07.17 08:30 Сейчас в теме
Ничего не понял, статья заканчивается тем, что "Отлично, теперь страница не работает, и вот так тоже не работает". А как работает-то?
62. TerveRus 27.07.17 15:39 Сейчас в теме
Все, понял.
А если официальный сертификат на год выдает регистратор? Как его себе на сервер прикрутить?
63. krasnodar-it 27.07.17 15:48 Сейчас в теме
Мне кажется проще железкой рулить с каких IP можно заходить на сервер с опубликованной базой а всех остальных слать лесом, но данный вариант требует что бы у всех клиентов был выделенный IP адрес.

Как вариант дополнительной ступени безопасности можно использовать htpasswd как первый уровень авторизации для доступа к опубликованной базе.
66. nicxxx 255 22.04.18 14:02 Сейчас в теме
Apache не запускается, если написано SSLMutex default. Если же написать Mutex default, то все ОК.
METAL; vit00lya; +2 Ответить
68. frkbvfnjh 805 26.09.18 14:43 Сейчас в теме
А как сделать, что бы на https работали только выборочные публикации? К примеру у меня куча публикаций работает на http, и просто поменять на https не могу, т.к. идет обмен с мобильными приложениями написанными даже не на 1С и придется обновлять всех кто пользуется эти приложение, а это не реально, но какие то новые http-сервисы в той же самой конфигурации нужно что бы работали ТОЛЬКО через https. Такое реально настроить?
69. user745651 08.10.18 09:10 Сейчас в теме
Ребят, а подскажите как сделать, чтобы опубликованный веб сервис 1с был "виден" и работал с другого компьютера в сети.
Установил АПАТЧ httpd-2.2.25-win32-x86-openssl-0.9.8
На моем компе wsdl открывается и через localhost и через ip (правда из за какой то службы windows 80 порт был занят и я настроил через 81 порт с указанием этого порта в адресной строке)
70. sandybaev 201 11.10.18 08:28 Сейчас в теме
у Apache 2.4 не нашел файлы dll по описанию выше.
https не запустил, не смог.

есть другие способы запуска?
71. sandybaev 201 11.10.18 09:25 Сейчас в теме
В общем если подытожить.
1. работает

2. те кто спрашивал про ввод пароля и что там не видно их символов - это как в Линкус, пароли вы не увидите, но они примутся командной строкой.

3. те кто спрашивал про SSLMutex данная команда исчезла с версии 2.2. пишите просто Mutex я так понимаю у вас 2.4 уже стоит

4. те кто спрашивал про SSL для IIS прикрурить серт от Апач для Винды не получится. разные они в слепках sha ключей.

На скринах показываю как видно на тестовом 8.3.13.1549

есть два пункта которые меня настораживают/напрягают,
1. почему вижу что "сайт не безопасный"? Кто может ответить? подсказать куда копать?
2. почему 1с при запуске из конфигуратора переходит сразу по "http" а не по "https"? как с это побороть?
Прикрепленные файлы:
90. METAL 299 25.12.21 00:23 Сейчас в теме
(71)
1. почему вижу что "сайт не безопасный"? Кто может ответить? подсказать куда копать?

Тот же вопрос. Удалось Вам это победить? Или так и должно быть?
72. sandybaev 201 16.10.18 13:38 Сейчас в теме
в догонку скажу если кому интересно.
многое смог сделать по данной статье.
и на апач и на iis.
в реальности все намного проще чем тут написано, т.е. настройка делается довольно просто, даже можно все повторить на Linux.

Но есть одна тупая неточность с 1С.
Когда из режима конфигуратора 1С жмешь F5 то тупо попадешь на HTTP вместо httpS и это раздражает.
73. Dimka74 02.03.19 08:12 Сейчас в теме
Только что настроил для Apache 2.4, может кому пригодится:
Копируем файлы ssleay32.dll и libeay32.dll
- этого делать не пришлось
В httpd.conf добавил такой код:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
Mutex default
SSLSessionCache none
</IfModule>
<VirtualHost localhost:443>
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
</VirtualHost>
Показать


Остался один вопрос: Как заставить Web сервер перенаправлять запросы с http на https?
Нашел такой способ: добавить в конце httpd.conf
<VirtualHost *:80>
ServerName localhost
Redirect / https://localhost:443/
</VirtualHost>

Но при этом, если попытаться пройти по ссылке http://localhost/sbg/ru_RU/, то ничего не получается, перенаправление не срабатывает :(
Есть вариант сделать через файл .htaccess, добавив в него такой код:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Но сообразить не могу где должен лежать этот файл, если Apache установлен на Windows7.
user1595448; dr2c; +2 Ответить
75. dr2c 44 24.06.19 15:03 Сейчас в теме
(73)
Mutex default
Очень актуально!
Windows 10

Добавил ваш код в conf
Получаю такую ошибку:
Syntax error on line 550 of C:/Apache24/conf/httpd.conf: Expected </b><u>Mutex> but saw </IfModule>

В итоге сделал без нее и переадрессации
добавил только:

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLSessionCache none
</IfModule>

<VirtualHost localhost:443>
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
</VirtualHost>

Взлетело! ЧТо означала </b><u>Mutex>?
user1595448; pvb2003; +2 Ответить
74. user849113 12.03.19 15:57 Сейчас в теме
D ssl для чего нужен если его поставить то апач не запускаеться?
91. user1595448 14.01.22 06:08 Сейчас в теме
(74)
В моём случае, проблема была из-за "SSLMutex default" в модуле <IfModule ssl_module>
(Данная директива "SSLMutex" устарела и была заменена на "Mutex" после версии Apache 2.2)
76. wrooom 226 11.08.19 13:39 Сейчас в теме
77. wrooom 226 11.08.19 18:50 Сейчас в теме
Мне нужен ssl для mysite.ru , а не для localhost. Причем сертификат должен быть не самоподписанный.. Как это сделать?
78. smykom 8 18.09.19 14:40 Сейчас в теме
Сделал настройки по Апач служба не запускается Ошибка: >>> (OS 10013)Сделана попытка доступа к сокету методом, запрещенным правами доступа. : AH00072: make_sock: could not bind to address 0.0.0.0:443 .
79. smykom 8 19.09.19 07:36 Сейчас в теме
Какая то системная служба (Процесс с ИД 4) заняла порт 443
80. smykom 8 19.09.19 07:49 Сейчас в теме
Получилось запустить Апач, похоже служба IIS использовала порты 80, 443
81. Diversus 2329 18.11.19 15:55 Сейчас в теме
(0) Отличная статья, но у меня возникла одна проблема. Если кто знает ответ, просьба отписаться.
Роутеры Keenetic позволяют использовать собственное доменное имя для проброса портов.
Так вот, создал имя. Указал в настройках порт 443.
Сделал проброс портов на роутере, чтобы извне можно было работать с 1С по HTTPS.
Если заходить по HTTP с помощью этого имени все ок. Работает.
Если же по HTTPS пишет ошибку 403 Forbidden.
Кто знает в чем может быть причина?
Прикрепленные файлы:
83. prog77 07.04.20 09:53 Сейчас в теме
(81) Получилось с Keenetic? У меня если заходить по https просто перекидывает на http.
82. butzoya 09.12.19 12:37 Сейчас в теме
Не заработало. После перезапуска Апач выдает ошибку
The Apache service named reported the following error:
>>> httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.0.103 for ServerName

Что это может значить?
84. Алексей777 100 31.08.20 14:43 Сейчас в теме
Автору Респект! Но, неужели 1С для нас не написали где-нибудь на ИТС: а как все-таки правильно сделать подключение по ssl протоколу???
85. Алексей777 100 31.08.20 14:44 Сейчас в теме
86. ivdic 31 14.09.20 13:03 Сейчас в теме
(85) А для мобильного приложения?
87. untru 14 16.09.20 23:10 Сейчас в теме
Добрый день, не подскажете, если я сделал самоподисанный сертификат, можно ли заставить работать внешние сервисы со мной которые отправляют мне вебхуки, я например у себя тестирую сервисы через програмку ARC https://yadi.sk/i/CQa7ddr-vM2Jew но при попытки подключится он ругался на то что сертификат недействителен
88. maksa2005 550 14.10.20 20:39 Сейчас в теме
Ошибка была тут SSLMutex default

Эта команда не поддерживается после Apache 2.2 вместо нее надо использовать

Mutex default
user1595448; +1 Ответить
89. METAL 299 25.12.21 00:21 Сейчас в теме
Всё получилось, но в финале при заходе на страницу через https пишет что "подключение не защищено" и красным подсвечивает. Так и должно быть? См фото - это норм?
Прикрепленные файлы:
92. verniypro 6 30.01.22 18:57 Сейчас в теме
(89) да, в статье - инструкция по выпуску самоподписанного сертификата.
Если самоподписанный сертификат заменить выпущенный УЦ, то всё норм будет. Но он, разумеется, платный.
96. inomaratadeath 04.04.23 13:44 Сейчас в теме
(92)
а есть такой опыт? УЦ выдаст сертификат и его закрытый ключ именно в том формате, какой это понимает openssl? и сертификат должен быть именно на доменное имя? А если у нас нед доменного имени, но есть статический белый айпишник - сертификат выдадут?
93. user670862_steken 12.01.23 14:38 Сейчас в теме
Пошаговая рабочая инструкция:

1. Генерируем сертификат и закрытый ключ для работы SSL любым удобным способом. Я думаю это не проблема для базового администратора. Я создал сертификат для веб-сервера 1С подписав его своим корневым сертификатом УЦ. В таком случае не каких предупреждений в браузере не будет, при условии, что данный корневой сертификат установлен на конечной машине в "доверенные корневые центра сертификации".

2. Ложим сгенерированные сертификат и закрытый ключ в папку ../conf/ssl/

3. Правим httpd.conf:

Listen 443
LoadModule ssl_module modules/mod_ssl.so
ServerName localhost:443

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
Mutex default
SSLSessionCache none
</IfModule>

<VirtualHost *:80>
ServerName example.local
Redirect / https://example.local/
</VirtualHost>

<VirtualHost *:443>
ServerName example.local
SSLEngine On
SSLCertificateFile conf/ssl/server.crt
SSLCertificateKeyFile conf/ssl/server.key
</VirtualHost>
Показать


* где, example.local - ваш локальный домен сервера

4. Перезапускаем службу Apache24

Все работает! В результате будет всегда работать перенаправление с http на https протокол.
inomaratadeath; Sney_Kice; +2 Ответить
97. inomaratadeath 05.04.23 16:11 Сейчас в теме
(93) #<VirtualHost *:80>
#ServerName 192.168.0.158
#Redirect / <noindex><a class="is-fancybox" href="/redirect.php?url=aHR0cHM6Ly9leGFtcGxlLmxvY2FsLw==" target="_blank" rel="nofollow">https://192.168.0.158
#</VirtualHost>

не взлетает служба апача с перенаправлением.... пришлось закомментировать :(
94. user1916348 01.03.23 15:50 Сейчас в теме
Установлен на Windows Apach 2.4.54
На нем "крутится" локальный сайт по HTTP

Добавил SSL-сертификаты.
Провел настройки согласно описаний выше.
При открытии сайта по https открывается страница с сообщением

It works!


А мне надо, чтобы открылся "наш сайт".
Как только с бубном не плесал, используя Гугл (менял файл .htfccess).
Результата 0.

Помогите, подскажите!!!
95. inomaratadeath 31.03.23 13:41 Сейчас в теме
вроде получилось, но очень смущает предупреждение браузера что сайт не защищён и перечёркнутый протокол https://192.168.0.139/ERP_DEMO/ru_RU/

только сниффером проверять - что трафик действительно шифруется? :)
98. Rusel 28.09.23 16:48 Сейчас в теме
(95) У вас SSL-сертификат либо самоподписанный, либо подписан удостоверяющим CA-центром, сертификат которого не включен на вашем компьютере в список доверенных. При этом трафик всё равно идёт шифрованный, но браузер говорит, что он не может проверить, является ли этот сертификат валидным.
Нужно либо сертификат головного центра включить в доверенные через certmgr.msc либо – в случае работы через тонкого клиента 1С – можно в настройках базы нажать Дополнительно... и выбрать Не проверять сертификат сервера.
inomaratadeath; +1 Ответить
99. inomaratadeath 26.06.24 12:53 Сейчас в теме
(98) всё худо-бедно работает, но... решил я с виртуалки голой войти по https:...
да, браузер заругался что соединение не защищено, но в базу-то пустило. Виртуалка, повторюсь - голая, самоподписанные серты, которые на вебсервере генерили - не добавлял на виртуалку. И всё равно в базу пустило. Так и должно быть разве?
Оставьте свое сообщение