Я отвечаю за настройку «огражденной сети» набора серверов для группы сотрудников, но не знаю, с чего начать. Ниже приведены исходные требования, мои мысли и вопросы.
Требования:
1. Любое программное обеспечение должно быть с открытым исходным кодом.
2. Пользователи не разбираются в технологиях, и они будут подключаться через свои собственные компьютеры, мы можем предположить, что у них есть административный доступ к этим компьютерам, чтобы они могли устанавливать / запускать программное обеспечение при необходимости.
3. Они могут подключиться к этой обнесенной стеной сети из любой точки сети.
4. Мы не будем предоставлять туннель, который обрабатывает все, только трафик к / от серверов.
5. Это соединение должно быть безопасным. (Может быть, SSH? Просто идея)
6. Сотрудники используют Windows, Linux и MacOSX.
7. Каждому пользователю необходимо имя пользователя / пароль.
8. Где-то должен быть журнал времени, проведенного каждым пользователем в системе.
Моя линия мысли:
Изначально я хотел использовать openVPN, но, насколько я понимаю, он передает ВСЕ через сеть VPN и имеет проблемы с подключением ко всем 3 платформам ПК, которые не будут работать в соответствии с требованиями, указанными выше.
Вопросы:
1. Верно ли мое понимание vpn, в частности, openVPN?
2. Существуют ли какие-либо веб-решения, чтобы сотрудникам не приходилось устанавливать vpn-клиент на свои компьютеры. Может быть, у меня может быть веб-вход, который добавляет IP-адреса пользователей в белый список брандмауэра, а затем удаляет его после некоторого времени бездействия (просто идея)?
3. Я что-то полностью упускаю или как это можно сделать лучше?
4. Любые идеи, мысли, ресурсы, ссылки на сайты и т. Д. Будут полезны.
TL; DR Мне нужен способ аутентификации пользователей для произвольного набора серверов на разных платформах ПК.
Спасибо за уделенное время.
Редактировать: Всем спасибо за помощь, но я думаю, что мне просто нужно сделать шаг, попытаться установить debian box с необходимым программным обеспечением, а затем задавать вопросы о проблемах, когда я сталкиваюсь с ними. Я слишком много думаю обо всем, и это отнимает уйму времени. Итак, мой план действий следующий
Я все еще не понимаю, как настраивать учетные записи имен пользователей и паролей, а также время входа в систему и пользователей, но я решу эту проблему, когда доберусь до нее.
Вы замечаете какие-либо проблемы или подводные камни в моем текущем плане действий?
объявление
Поскольку OpenVPN довольно универсален, он, скорее всего, подойдет вам. Но это также довольно сложный пакет с множеством параметров конфигурации, поэтому будьте готовы к некоторой работе при его настройке - кнопка «делать то, что я хочу сделать» еще не реализована.
Поскольку к этой сети подключено так много разных пользователей и платформ, я также предполагаю, что вы также защищаете свою сеть «позади» VPN-сервера. По сути, просто создайте определенные правила для интерфейса tun / tap, которые OpenVPN использует для обеспечения только действительного трафика, в зависимости от услуг, которые вы должны предоставить.
Как уже указывал syneticon-dj, OpenVPN НЕ требует, чтобы вы отправляли весь трафик через туннельный интерфейс. Фактически вы можете выбрать на стороне клиента или на стороне сервера, чтобы установить или протолкнуть маршруты к клиенту, или, как вы упомянули, установить интерфейс OpenVPN в качестве шлюза по умолчанию (маршрутизация на стороне клиента с Windows)
#Network Route
route 192.168.1.0 255.255.255.0
#Single host route trough a given server (1.2.3.4 over 10.20.30.40)
route 1.2.3.4 255.255.255.255 10.20.30.40
В Mac OS клиентом, который я выбрал, является Tunnelblick В Windows и Linux это OpenVPN сам.
Лучшим и наиболее безопасным способом аутентификации людей было бы создание сертификатов для каждого пользователя. Таким образом, вы можете легко отозвать Их на стороне вашего сервера, и соединение может быть плотно закрыто (в зависимости от размера вашего ключа);)
Чтобы включить ведение журнала на сервере, просто добавьте следующие строки в конфигурацию вашего сервера
status /var/log/openvpn/server.status
log-append /var/log/openvpn/server.log
verb 3
(папка должна существовать с правильными разрешениями)
Первый файл предназначен для быстрого использования, чтобы проверить, какой пользователь вошел в систему. А второй предоставляет вам подробный журнал каждого подключения.
PS: Конфигурация Logrotate, также как OpenVPN никогда не будет вращать сам журнал ...;)
/var/log/openvpn/*.log {
daily
copytruncate
missingok
rotate 7
delaycompress
notifempty
}