Вот как должны выглядеть мои серверы (в Amazon EC2):
Server 1 Server 2 Server 3
__________________________ _____________________ _______________
| Cloud Monitor Daemon | | Memcached daemon | | beanstalkd |
| | | Memcached daemon | ________________
| "Hostile" user process | / | Memcached daemon |
| "Hostile" user process | / | Memcached daemon |
| "Hostile" user process | / | Memcached daemon |
| "Hostile" user process | / ______________________
| "Hostile" user process | /
__________________________
На одном сервере несколько пользовательских процессов.Каждый пользователь затем имеет свой собственный экземпляр memcached, запущенный на (отдельном) сервере (со многими другими экземплярами memcached).Без какой-либо защиты (как по умолчанию) пользовательский процесс B может угадать порт memcached экземпляра пользователя A и получить к нему доступ.Как я могу защитить эту систему, чтобы пользователь C мог получить доступ только к экземпляру memcached C и ни к какому другому (даже если все экземпляры memcached находятся на одном сервере)?Моему пользователю не нужно ничего делать, чтобы использовать безопасность (просто продолжайте подключаться к порту memcached как обычно), все это должно происходить автоматически системой.
Кроме того, демон Cloud Monitor на серверенаряду с «враждебными» пользовательскими процессами необходимо иметь доступ к удаленному серверу beanstalkd.Beanstalkd также не имеет аутентификации, поэтому, если мой демон мониторинга может получить доступ к beanstalkd, то же самое можно сказать и о «враждебных» пользовательских процессах, а я этого не хочу.Как я могу защитить эту часть?