
SSH бастион/промежуточный хост/джамп-сервер

Aker — это инструмент безопасности, который помогает настроить собственный SSH jump/бастион-хост на Linux. Названный в честь египетского божества, охранявшего границы, Aker действует как контрольная точка, через которую все ваши сисадмины и персонал поддержки получают доступ к production-серверам Linux. Aker SSH шлюз включает множество функций безопасности, которые помогут легко управлять и администрировать тысячи серверов Linux. Для подробного ознакомления посетите наш Wiki.
Я не смог найти инструмент с открытым исходным кодом, аналогичный CryptoAuditor и fudo; такие инструменты полезны, если вы стремитесь к соответствию PCI-DSS или HIPAA, например. Независимо от соответствия стандартам безопасности, доступ к серверам должен контролироваться и быть организован удобным образом как для традиционных, так и для облачных нагрузок.
Фаза 0
Фаза 1
Фаза 2
Программное обеспечение:
Модули Python:
Автоматизированная:
Вручную:
Aker может быть установлен на клиенте FreeIPA или независимо с помощью файла конфигурации JSON.
Общие шаги (FreeIPA или JSON):
git clone https://github.com/aker-gateway/Aker.git /usr/bin/aker/
Установите зависимости (адаптируйте для Ubuntu)
yum -y install epel-release
yum -y install python2-paramiko python-configparser python-redis python-urwid python2-wcwidth redis
Установите права на выполнение файлов
chmod 755 /usr/bin/aker/aker.py
chmod 755 /usr/bin/aker/akerctl.py
Настройте каталог журналов и права
mkdir /var/log/aker
chmod 777 /var/log/aker
touch /var/log/aker/aker.log
chmod 777 /var/log/aker/aker.log
Примените aker для всех пользователей, кроме root, отредактируйте sshd_config
Match Group *,!root
ForceCommand /usr/bin/aker/aker.py
Перезапустите ssh
Перезапустите redis
Выбор FreeIPA:
Предположения:
Создайте /etc/aker, скопируйте в него /usr/bin/aker/aker.ini и отредактируйте, как показано ниже:
```
[General]
log_level = INFO
ssh_port = 22
# Identity Provider to determine the list of available hosts
# options shipped are IPA, Json. Default is IPA
idp = IPA
hosts_file = /etc/aker/hosts.json
# FreeIPA hostgroup name contatining Aker gateways
# to be excluded from hosts presented to user
gateway_group = gateways
```
В настоящее время я работаю над кодом в свободное время, любая помощь очень ценится. Пожалуйста, прочитайте CONTRIBUTING.md для подробностей о нашем кодексе поведения и процессе отправки pull request'ов.
Выбор JSON:
Создайте /etc/aker, скопируйте в него /usr/bin/aker/aker.ini и отредактируйте, как показано ниже:
```
[General]
log_level = INFO
ssh_port = 22
# Identity Provider to determine the list of available hosts
# options shipped are IPA, Json. Default is IPA
idp = Json
hosts_file = /etc/aker/hosts.json
# FreeIPA hostgroup name contatining Aker gateways
# to be excluded from hosts presented to user
gateway_group = gateways
```
hosts.json прилагается.