Защита взаимодействия процессов через доменные сокеты Unix - PullRequest
0 голосов
/ 04 мая 2018

Доменные сокеты UNIX (не потоковые сокеты в IP-домене AF_INET) предлагают своего рода встроенный механизм безопасности, основанный на владении / разрешениях в файловой системе, т.е. клиент UDS может подключаться к серверу UDS, только если он был запущен с тем же пользователем или если он принадлежит к той же группе пользователей, что и сервер.

Могу ли я добавить дополнительный уровень безопасности, проверив, есть ли в начале сообщения от клиента определенный пароль? Я думал, что таким образом я могу заблокировать клиента, если взломать соответствующего пользователя Linux. Существуют ли другие способы защиты процесса обмена данными через UDS?

1 Ответ

0 голосов
/ 07 мая 2018

Хорошо, вот что действительно делает программа passwd(1)! (и делает это с эпохи unix). Он запрашивает пароль, поэтому, если пользователь эффективно взломал учетную запись и не знает пароль, он не сможет изменить пароль и не сможет также получить доступ сервис. Но, вероятно, если пользователь смог обойти защиту другими способами, кроме получения пароля, он нарушил безопасный доступ к системе, и почему бы тогда не стать root? в этом случае он сможет изменить пароль для доступа к вашей системе и восстановить старый после получения доступа, даже не подозревая об этом (ему нужно только скопировать зашифрованный пароль в файл /etc/shadow, изменить пароль, получить доступ к вашему восстановите зашифрованный пароль из созданной им копии). Только если исходный пользователь попытается получить доступ к системе при смене пароля, он обнаружит вторжение, иначе в конце все будет так, как до изменения.

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

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

...