Назад | Перейти на главную страницу

Проработка некоторых причуд главного SSH-сервера

Я начинаю компанию по веб-хостингу, и есть несколько деталей, которые мне еще предстоит выяснить, одна из них - это своего рода SSH VPN для подключения к нашим серверам под управлением CentOS 6 с помощью cPanel.

Итак, это то, что я хочу сделать ...

1) Иметь главный сервер с определенными логинами пользователей (user1, user2 и т. Д.) Для моих сотрудников. Чтобы подключиться к любому из наших серверов по SSH, им всем сначала нужно будет войти на этот главный сервер.

2) С этого главного сервера они смогут ssh server.example.com и главный сервер сможет регистрировать их прямо как root.

Я знаю, что необходимо создать пару ключей для каждого пользователя и поместить их закрытый ключ в /root/.ssh/authorized_keys файл на каждом сервере. У меня уже есть средства для автоматического обновления этого файла для каждого сервера с помощью cron.

Я могу заставить все это работать, но иногда вход в систему становится немного странным, и у меня также есть проблема с тайм-аутом соединения примерно через 15 минут. Я считаю, что у меня есть идея исправить это, но любая помощь будет принята с благодарностью.

Теперь, что касается основного вопроса, я хочу иметь возможность, чтобы пользователи входили в систему, используя короткое имя хоста или префикс имени хоста, вместо того, чтобы вводить все это при входе на сервер. Итак, если у меня есть сервер с именем хоста s1.server.example.com, они смогут использовать s s1.server (s будут иметь псевдоним ssh) для быстрого входа в систему. Я не уверен, как это сделать, но если есть простой способ без необходимости настраивать каждый сервер на главном сервере, чтобы его короткое имя указывало на полное имя хоста, было бы намного проще поддерживать в будущее. Я предполагаю, что можно было бы написать какой-то сценарий для проверки правильности имени хоста, которое соответствует префиксу.

Здесь мы будем очень благодарны за любое направление, я пробовал так много разных решений безрезультатно и предпочел бы, чтобы они работали правильно без целой кучи "хаков", как это делал я. Спасибо!


РЕДАКТИРОВАТЬ

Я хотел рассказать всем здесь, так как я думаю, что был довольно неясен. Эта система доступна только высокопоставленным сотрудникам внутри компании, чтобы обеспечить быстрый и простой способ управления нашими облачными системами через root. Клиенты не будут иметь доступа к этим системам и любым клиентам, которые могут иметь root-доступ к своим услугам, используя прямой root-доступ.

Если у вас правильно настроен DNS, вы сможете использовать короткие имена. Ставить что-то вроде:

поиск example.com

в вашем resolve.conf поможет с разрешением имени. Для обновления конфигураций, ключей ssh ​​и т. Д. Вам действительно нужно изучить что-то вроде Puppet или Chef. Это сделает вашу жизнь НАМНОГО проще по мере того, как вы будете развивать свою веб-ферму.

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

Рассмотрите возможность замены стандартных логинов SSH на:

  • Туннели IPSEC к устройству периметра, SSH к отдельным хостам
  • Туннели SSH с использованием PKI на основе аппаратного устройства (их можно продать *).

(или оба вместе)

Wham, вы мгновенно становитесь веб-хостером, заботящимся о безопасности :)

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

Рассмотрите возможность усиления безопасности всех ваших хостов centos с помощью руководства по усилению безопасности, такого как NSA SRG, CIS или DISA STIG, включая руководство Apache.

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

Быстрое обновление PKI, например SSH.

Открытый ключ = шифровальщик, требований конфиденциальности нет

Закрытый ключ = дешифратор, защитите это, не делитесь им!

Закрытые ключи SSH не должны храниться на удаленных хостах, если они не зашифрованы.

Чтобы подключиться к хостам в Интернете по SSH, вам нужно только включить открытый ключ в файл авторизованных ключей. Видеть http://www.eng.cam.ac.uk/help/jpmg/ssh/authorized_keys_howto.html

Вы можете использовать псевдоним и другие команды, чтобы сократить данные, которые пользователю может потребоваться ввести.

Однако, судя по уровню вашего опыта, я рекомендую немного попрактиковаться, прежде чем переходить к хостингу Linux. Доверие превыше всего!

  • Читайте о системе управления сертификатами Redhat, программном обеспечении центра сертификации и, возможно, Dogtag