• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Синхронизация Документов По Электронной Почте

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
Привет!

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

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

Проблема только в том, что после репликации сервер держит базу и стандартным скриптом ее не скопировать, получается скопировать батником, а затем заархивировать и послать.
И при этом нету полной уверенности, что в реплике, которую держит сервер, закончились все процессы и база будет правильная при копировании батником.
А если будет включен транзакшн логгинг, среплицируются туда сразу документы или с какой то задержкой?
сервер 5.5, консольные команды недоступны из скрипта, а если в батнике прописать путь\nserver -c "dbcache flush", то не срабатывает адекватно (идет задержка и в консоль перестают выдаваться другие данные).

Вобщем вопрос, может есть еще какие то варианты, например копирования документов в файл, затем его отправка. проблема как скопировать ричтекстовые поля?



Заранее благодарю.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
а не легче ли просто кросссертифицировать сервера и включить репликацию?
 
A

afest

есть еще момент - дать права доступа к папке домино сервера и потом просто тупо переписывать бд
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Ну если уж все так... эм.. не просто... Может имеет смысл перегонять документы или всю базу в xml?
Смотря что удобнее
 
A

afest

или вообще проще поставить сервер поновее... хотя бы 7-8
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
160
Gandliar
XML только с 6-ки...
Если только самому в TXT писать все что изменено/удалено/создано и отправлять...
Придумать свою схему файла:
НачалоФайла
UNID, имя поля=значение, имя поля=значение
UNID2, имя поля=значение, имя поля=значение
UNID3, имя поля=значение, имя поля=значение
...
КонецФайла
Но хз...

А если продолжать ваш вариант - > надо точно подгадать время.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Gandliar
XML только с 6-ки...
Если только самому в TXT писать все что изменено/удалено/создано и отправлять...
Придумать свою схему файла:
НачалоФайла
UNID, имя поля=значение, имя поля=значение
UNID2, имя поля=значение, имя поля=значение
UNID3, имя поля=значение, имя поля=значение
...
КонецФайла
Но хз...

А если продолжать ваш вариант - > надо точно подгадать время.
так тоже не пойдет. Тут нарисуется проблема с RT-полями.
Так что, автор, поднимай версию сервера, а потом уж код точи!
 

erdi

Green Team
20.08.2008
264
17
BIT
0
можно что-то придумать через использования баз по бэкапированию, например .... бэкап настраивается на каждый день и архивируется, агентом или чем-либо цеплять архив в письмо и отправлять - на другой стороне агент распаковывать входящее письмо и забирает нужные данные
 
A

afest

млин... да здесь реально проблематика в серваке.... остальное - дело перепрогивания скриптов... +и так лотус юзает РОР3 и т.п. порты, смотри настройки сервака по настройке мыльников
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
178
если репликация невозможна из-за идиотизма ИТ/секурити служб - есть способ создать канал, на любой порт удаленного/промежуточного сервера, нужно продумать архитектуру ;)
НО, лучший метод - накапать начальству и заставить открыть порты административным способом
 

Gandliar

Lotus Team
16.02.2004
556
26
BIT
40
если репликация невозможна из-за идиотизма ИТ/секурити служб - есть способ создать канал, на любой порт удаленного/промежуточного сервера, нужно продумать архитектуру ;)
НО, лучший метод - накапать начальству и заставить открыть порты административным способом

Это так и есть. И такой путь в процессе решения.
Просто мотивы у секурити таковы, что им надо хранить пересылаемые данные.

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

Примерно так и сделано сейчас. Проблема в том. что лотус держит базу после репликации. Был бы метод db.Close было бы прекрасно.
 
A

afest

вот у меня тестовый сервак домино тупо видит все основные (специфика трассировки портов) и там хрен какой файрвол бреет порты... не могу понять в чем у тебя за проблемы с репликами...
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Добавлено:
ну да, а почта у вас в конвертах приходит ;)
Ну судя по всему - у них по SMTP почта ходит.

вот у меня тестовый сервак домино тупо видит все основные (специфика трассировки портов) и там хрен какой файрвол бреет порты... не могу понять в чем у тебя за проблемы с репликами...
Обычная проблема - закрыты порты UDP. Нормальная практика.
Все зависит от политики безопасности компании.
Это еще нормально. В некоторых компаниях еще и к IP адресам пользователей привязываются
 
S

susinmn

Примерно так и сделано сейчас. Проблема в том. что лотус держит базу после репликации. Был бы метод db.Close было бы прекрасно.

М.б.:
result = s.SendConsoleCommand(s.CurrentDatabase.Server,"dbcache flush")
result = s.SendConsoleCommand(s.CurrentDatabase.Server,"dbcache show")
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Обычная проблема - закрыты порты UDP. Нормальная практика.
Все зависит от политики безопасности компании.
Это еще нормально. В некоторых компаниях еще и к IP адресам пользователей привязываются
типа это никак нельзя решить? ;)
TCPIP открыт?
назначить лотусу любой другой порт
да можно даже через роутеры пробросить NRPC через 25й порт ;)
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
типа это никак нельзя решить? ;)
TCPIP открыт?
назначить лотусу любой другой порт
да можно даже через роутеры пробросить NRPC через 25й порт ;)
Интересно.. 25 порт для обмена почты и 25 для репликации. Сомневаюсь что это будет работать
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
178
как я уже сказал - ничего невозможного нет;)
если сервер подконтролен - можно запускать java ssh-server
ну а там - никаких проблем сдалать проброс портов...
на удаленном серванте:
тушим консольно смтп лиснер, биндимся к 25-ому порту, реплицируемся, отключаем ssh, включаем лиснер

с "клиентской" стороны ssh -4 user@server -p 25 -L1353:localhost:1352
теперь удаленным сервером будет localhost:1353
а данные (шифрованные) потекут через 25 порт
ну и не забыть 127.0.0.1 прописать алиасом на имя удаленного серванта (либо создать специфичный док-коннекшн)
в случае если с промежуточным клиентом - не будет надобности подменять порт на 1353 (ибо его локально не будет слушать сервер)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!