Как сделать ограничение SSH ключа определенными IP адресами?

У вас проблема посерьезнее, чем Out of Disk, мой друг!

Это эксплойт определяемой пользователем функции, который использует преимущества больших объектов PostgreSQL. (lo_) функции.

На моем сервере это троян, который создает прокси для baby0119.com через порт 80. Он был установлен как ваш пользователь postgres через порт postgres 5432.

Проверьте свою базу данных postgres на наличие функции с именем exec111. '. \ df + exec111.

Отбросьте эту функцию, укрепите свой pg_hba.conf, брандмауэр и т. Д.

Также проверьте журнал postgresql на предмет выданных команд или ОШИБОК.

В папке / tmp я нашел следующие файлы:

  • 6 дек 7 11:37 sjkpppp
  • 961472 7 дек 16:36 testproxy6
  • 8088 7 дек 16:36 testproxy.so

Если у вас есть веб-сервер, работающий на сервере postgres, проверьте журналы веб-доступа, используйте grep для проверки прокси или прокси и т. д.

5
22.03.2017, 12:58
3 ответа

Да.

В файле ~ / .ssh / authorized_keys на сервере, каждая запись теперь, вероятно, выглядит как

ssh-ed25519 AAAAC3NzaC1lZSOMEKEYFINGERPRINT comment

(или аналогичный)

Существует необязательный первый столбец, который может содержать параметры. Они описаны в руководстве sshd .

Один из вариантов:

from="pattern-list"

Указывает, что помимо аутентификации с открытым ключом, каноническое имя удаленного хоста или его IP-адрес должны присутствовать в разделенных запятыми список шаблонов. См. ШАБЛОНЫ в ssh_config (5) для получения дополнительной информации о шаблонах.

В дополнение к сопоставлению с подстановочными знаками, которое может применяться к именам хостов или адресам , раздел from может сопоставлять IP-адреса с использованием нотации адреса / маски CIDR.

Целью этой опции является дополнительное повышение безопасности: аутентификация с открытым ключом сама по себе не доверяет сети, серверам имен или чему-либо (кроме ключа); однако, если кто-то каким-то образом украдет ключ, ключ позволит злоумышленнику войти в систему из любой точки мира. Эта дополнительная опция усложняет использование украденного ключа (серверы имен и / или маршрутизаторы могут быть скомпрометированы не только ключом, но и ).

Это означает, что вы должны иметь возможность изменять ~ / .ssh / authorized_keys с

ssh-ed25519 AAAAC3NzaC1lZSOMEKEYFINGERPRINT comment

на

from="pattern" ssh-ed25519 AAAAC3NzaC1lZSOMEKEYFINGERPRINT comment

, где шаблон - это шаблон, соответствующий клиентскому хосту, который вы ' при подключении, например, по общедоступному DNS-имени, IP-адресу или некоторому сетевому блоку:

from="192.168.1.0/24" ssh-ed25519 AAAAC3NzaC1lZSOMEKEYFINGERPRINT comment

(это позволит использовать этот ключ только с хоста в сети 192.168.1. * )

11
27.01.2020, 20:33

Этого можно добиться, добавив from = "192.168.1.0/24 " перед открытым ключом в файле .authorized_keys . Вся строка должна выглядеть так:

from="192.168.1.0/24" ssh-rsa AAAA....
2
27.01.2020, 20:33

Конфигурация sshd сервера -на стороне через authorized_keysуже обсуждалась. Однако можно также сгенерировать ключ с опцией ограничения исходных адресов, действительных для этого ключа. Это будет работать одинаково для всех систем, к которым вы подключаетесь. Этот ключ нужно будет генерировать повторно каждый раз, когда изменяется список исходных адресов.

Это устраняет необходимость трогать все авторизованные файлы ключей _на нескольких серверах, которые вы, возможно, захотите ограничить особым образом, если, скажем, вы делаете это автоматически и не хотите возиться с изменением автоматика для обработки одного ключа. Или если вам нужен еще один уровень защиты на случай реверсии на сервере.Или если вы хотите ограничить этот ключ независимо от конфигурации сервера.

В опциях для ssh -keygen есть опция под названием source-address, которая принимает разделенный запятыми -список пар адрес/сетевая маска в формате CIDR. Команда для генерации ключа будет выглядеть примерно так, если вы хотите использовать этот ключ только с 192.168.1. *и 10.255.255.254 в качестве исходных адресов.:

ssh -keygen -t rsa -b 4096 -O source -address=192.168.1.0/24,10.255.255.254/32

Извините, что ввел кого-то в заблуждение. Похоже, BowlOfRed прав. Это требует использования сертификатов, а не голых ключей.

0
27.01.2020, 20:33

Теги

Похожие вопросы