Лекция: Обеспечение безопасности данных в случае использования Sun RPC
Для обеспечения безопасности данных в случае использования RPC применяют аутентификацию RPC-клиентов перед доступом к серверу. Есть несколько уровней такой аутентификации.
Уровень AUTH_N0NE (используемый по умолчанию) значит, что аутентификацию не выполняют совсем. В соответствии с ним любой клиент в сети, которая может отсылать пакеты RPC-серверу, имеет возможность вызывать любую реализованную им процедуру. Этот уровень не обеспечивает никакой защиты и не рекомендованный к использованию.
Уровень AUTH_UNIX значит, что каждый RPC-запрос сопровождается идентификатором пользователя (uid) и набором идентификаторов групп (gid). Имеется в виду, что эти идентификаторы отвечают пользователю, который запустил клиентское приложение, и что сервер доверяет этому пользователю.
Этот уровень тоже не совсем отвечает современным представлением о сетевой безопасности, поскольку злоумышленник может создавать и отсылать RPC-пакеты с произвольными значениями uid и gid, и их авторство не может быть проверено сервером.
Например, когда известно, какой пользователь нужен для выполнения необходимых процедур, и в сети есть компьютер, на котором злоумышленник имеет права root, он может создать пользователя с необходимым uid и выполнять RPC-запросы клиентским процессом, запущенным под этим пользователем. Такие запросы будут выполнены, хотя пароль нужного пользователя RPC-сервера злоумышленнику неизвестный.
Уровень AUTH_DES использует гибридную криптосистему для организации защищенного канала связи для RPC-вызова. Реализация такого уровня аутентификации известна как Secure RPC.