Расширение с веб-сервисом

Данное расширение представляет функционал веб-сервиса, который публикуется в любой информационной базе, написанной на БСП, позволяющий выполнять самые разнообразные операции в базе-приемнике.

Итак, задача. Имеем несколько информационных баз, из которых почти все нарисованы на БСП (читай, типовые). Нужны быстрые отчеты, обработки и обмены, которые будут обращаться в "соседние" базы. 

Я решил использовать для этого веб-сервис, который сделал в расширении.

Суть моей реализации в том, что через этот универсальный коннектор я передаю в приемник любой код, который на той стороне и выполняется.

Если мне необходимо передать туда некую структуру, то я пакую её в JSON и передаю в качестве параметра, а на стороне приемника распаковываю и использую для нужд задачи.

На рисунке приведен пример обращения к сервису.

Возвращает сервис структуру с результатом обработки.

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

Всё реализовано в расширении. Для доступа к объектам в расширение портирована роль ПолныеПрава, которая есть в любой конфигурации. Другим ролям доступ не требуется, а если и потребуется, то разобраться нетрудно.

Производительность отчетов, обработок и т.п. по сравнению с COM выросла в разы, обмены летают, пользователи довольны.

А большего и не требуется.

При разработке использовалась платформа 8.3.12.1714.

Режим совместимости отключен.

Но если в какой-либо базе он установлен, то при подключении расширения у самого расширения следует его сделать аналогичным режиму вашей базы.

Естественно при условии, что ваш релиз платформы вообще позволяет использовать расширения.

20 Comments

  1. Goleff74

    DROP Table тоже выполнит? 🙂

    Ну, или хотя бы пустой набор записей без отбора запишет? 🙂

    Reply
  2. alex.msk

    (1) на стороне приемника выполняется команда Выполнить, куда вы можете передать любой код.

    Reply
  3. alex.msk

    (2) вот именно, что до сих пор 😉

    Reply
  4. alex.msk

    (3) Интересно, как вы подключитесь в БД, не зная данных для авторизации? Не надо вот этих громких необоснованных заявлений. Много таких вот умников, кричащих про безопасность и т.п. Пруфы где?

    Reply
  5. helgi

    Подними smtp и pop3, отправь одно письмо, запусти tcpdump по 25-ому и 110-му портам, перенаправь вывод в файл. Утром на диске не будет места. Это будет пруф, из которого можно сделать вывод.

    Reply
  6. Labotamy

    (6)Каких таких данных для авторизации? По которым basic аутентификация проходит? =) Готов послушать сказку про политику сложных паролей.

    Reply
  7. alex.msk

    (8) Давай представим реальную ситуацию. Локальная сеть. Вход в базы с сервера, на который ты ходишь по rdp. Из пользователей с полными правами только админ. Шары в инет нет. Ты кульный хацкер. Рассказывай, сказочник.

    Reply
  8. alex.msk

    (7) назови мне хоть одну причину, нахрена мне на сервере 1С что-то поднимать?

    Reply
  9. alex.msk

    Ребят, давайте закончим эту бесполезную болтовню про безопасность.

    Если у вас сервер 1С смотрит в инет без прокси, на нем кроме всего прочего установлены почтовые сервера и торрент-качалки, то это ваши проблемы. На реально работающем предприятии с адекватными грамотными спецами из отдела системного администрирования и безопасности локальная сеть, где люди работают с базами данных, — изолирована. Более того, там люди к себе на клиентские тачки ничего даже сохранить не могут.

    Вы тут рисуете какого-то сферического коня в вакууме, из-за которого все умрут. Еще раз говорю: я предоставил инструмент. Рабочий. У меня по этому принципу базы обмениваются практически с момента изобретения веб-сервисов. За все эти годы ни одного инцидента.

    Про пароли. Все пароли тоже сложные и задаются мной, и менять их могу только я. Если у тебя, Labotamy, паролями рулят пользователи, то это твои проблемы. По себе не надо судить.

    Ну, и да. Не нравится вэб, работайте с COM, он «конечно же намного безопаснее»… Я в свою религию никого посвящать не стремлюсь.

    Reply
  10. zeegin

    (11) Алекс, понимаешь, любой специалист по безопасности тебе скажет что неважно насколько навороченную авторизацию ты поставил. Ты создал бэкдор. Достучаться до него это дело техники, главное, что ты создал бэкдор.

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

    Ты создал инструмент использовать который можно исключительно после оценки риска. А что если тебя самого уволят оттуда? У тебя тебя будет мотивация, будут знания об устройстве, будет инструментарий… А если никто еще и пароли не сменит… Понимаешь? Модель нарушителя нужна. С описанием уровня доверия к разным группам имеюшим доступ к системе и потенциально способным его получить.

    Ну и Labotamy имел ввиду конечно же что basic аутентификация передает пароль в открытом виде, потому если у тебя не настроен SSL на веб сервере то с помощью MITM атаки он узнается очень просто.

    Reply
  11. CyberCerber

    (2) А можно ссылку, где 1С об этом говорила?

    Reply
  12. alex.msk

    (12) В твоих словах истина конечно есть. Не спорю. Особенно в отношении потенциальной опасности.

    Но я предлагаю лишь не раздувать из мухи слона.

    Давай будем реалистами. В большинстве баз, работающих на серверах предприятий нашей необъятной у большинства пользователей нет паролей, и я уже не говорю о том, что там все пользователи априори под полными правами сидят.

    И есть у них коннектор с возможностями, аналогичными предлагаемым, или нет, глобально — монопенисуально.

    Reply
  13. alex.msk

    (15) Я ничего не предлагаю кроме инструмента. Безопасность в данном случае не моя, а уже твоя забота как потребителя. Слушай. Ты когда покупаешь Вейрон, тебя автодилер спрашивает, какой у тебя стаж вождения, или может у тебя права валялись на полке с момента их покупки?

    Reply
  14. Labotamy

    (11)

    На реально работающем предприятии с адекватными грамотными спецами из отдела системного администрирования и безопасности локальная сеть, где люди работают с базами данных, — изолирована. Более того, там люди к себе на клиентские тачки ничего даже сохранить не могут.

    Вы тут рисуете какого-то сферического коня в вакууме, из-за которого все умрут. Еще раз говорю: я предоставил инструмент. Рабочий. У меня по этому принципу базы обмениваются практически с момента изобретения веб-сервисов. За все эти годы ни одного инцидента.

    Про пароли. Все пароли тоже сложные и задаются мной, и менять их могу только я. Если у тебя, Labotamy, паролями рулят пользователи, то это твои проблемы. По себе не надо судить.

    Ну, и да. Не нравится вэб, работайте с COM, он «конечно же намного безопаснее»… Я в свою религию никого посвящать не стремлюсь.

    Вот это вот в дисклеймер не плохо вынести. вмести с надписью «Использовать этот бэкдор на свой страх и риск»

    Reply
  15. Labotamy

    (11)

    Еще раз говорю: я предоставил инструмент. Рабочий. У меня по этому принципу базы обмениваются практически с момента изобретения веб-сервисов. За все эти годы ни одного инцидента.

    Ну да, зачем думать про API если можно дергать произвольный код. Так себе религия…

    Reply
  16. Labotamy

    (9)Инсайд это не отменяет. Особенно в крупных организациях.

    Reply
  17. Labotamy

    (9)

    Из пользователей с полными правами только админ.

    Ну и под админом этот сервис торчит?

    Reply
  18. Labotamy

    (12)Кроме митма, не устойчив к брутфорсу.

    Reply
  19. alex.msk

    (18) Не нравится — не ешь. Сделай лучше и продавай.

    Reply
  20. Labotamy

    (6)Сказочник, умник. Многовато хамства.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *