• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

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

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Как защитить док-т от изменений?

  • Автор темы Oksana
  • Дата начала
O

Oksana

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

Oksana

попробовала, создала раздел в нем подписываемые поля. Документ сохранила, затем изменила одно из полей агентом. При открытии документа было выдано сообщение:
Документ был изменен или поврежден уже после того, как был подписан!
Затем документ открывается. Нельзя ли как-то конкретизировать сообщение, какие поля были изменены?
Есть ли какое-либо поле которое отражает вот это нарушение подписи, по которому, например, можно было бы отобрать подобные документы?
 
F

fvoice

Поле $SignatureStatus, доступно после события QueryOpen и не доступно после PostClose, принимает значения:
0 - не подписан
1 - подписан
2 - подписан и кем то изменен(нарушен)

ИМХО Узнать какое конкретно поле было изменено обычными средствами по моему никак нельзя, также как и отобрать документы с нарушенными подписями не открывая их.
 
R

root

Для: Oksana
Вам ЭЦП нужна или просто что док был изменен ?
 
O

Oksana

Для: Oksana
Вам ЭЦП нужна или просто что док был изменен ?
Мне нужно исключить возможность изменений. На уровне полей это понятно, но агентом эта возможность остается. Поэтому нужно иметь уверенность, что документ не изменялся.
В идеале, если такое все же произшло, то кем, когда, каким образом.
 
R

root

Для: Oksana
Можно попробывать поля в профиль занести по кнопке "подписать ".
и при открытии сравнить.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для: Oksana
А через поля типа Authors запретить редактирование?
 
O

Oksana

Для: Oksana
А через поля типа Authors запретить редактирование?
Это в обязательно порядке, но для рядовых пользователей.
Но я как админ( и дизайнер в одном лице) агентом могу изменять значения полей, во многих рабочих ситуациях это порой требуется.
Но в данном случаем, нужно этого избежать, то есть ни каких изменений документа после сохранения не должно происходить.
 
30.05.2006
1 345
12
BIT
0
попробовала, создала раздел в нем подписываемые поля. Документ сохранила, затем изменила одно из полей агентом. При открытии документа было выдано сообщение:
Документ был изменен или поврежден уже после того, как был подписан!
Затем документ открывается. Нельзя ли как-то конкретизировать сообщение, какие поля были изменены?
Есть ли какое-либо поле которое отражает вот это нарушение подписи, по которому, например, можно было бы отобрать подобные документы?
ЭЦП - это шифрованный хеш ("контрольная сумма") ВСЕХ подписываемых полей (ну, или секции - тогда у каждой м.б. своя ЭЦП). Проверка суммы позволяет отловить факт изменения содержимого, но какого из слагаемых...
Тем не менее:
отловив факт бития подписи, можно проанализировать LastModified защищаемых полей + $UpdatedBy. Т.о. вы поймаете диверсанта
 

maliy

Green Team
20.03.2007
180
2
BIT
44
to Oksana
А как решили проблему - "Необходимо, чтобы после отправки заявки на согласование ее никто не мог изменить, а если изменеия были это сразу стало видно."
у меня сейчас такая задача стоит , подскажите пожалуйста
 
Мы в соцсетях:

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