Какая польза от фиктивного устройства?

@beaderdfool, gracias por su arduo trabajo. Estoy resucitando para identificar que su respuesta funcionó, pero pude autenticar con CUALQUIER contraseña .Jugué un poco y se me ocurrió la siguiente solución hacky:

auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access.conf
auth sufficient pam_google_authenticator.so
auth required pam_unix.so

la primera línea utiliza las reglas de access.conf. Si coincide, success=1omitirá la siguiente línea. En otras palabras, :una coincidencia en la red local omitirá el autenticador de Google y luego intentará una coincidencia de contraseña requireddepam_unix.so

Por otro lado, :si pam.access.sono coincide, el autenticador de Google _se ejecutará y es sufficientsi pasa... lo que significa que no le importa nada más en la pila, es decir, pam_unix.soy no requerirá una contraseña adicional.

Mi configuración es así:

  • La ​​red local solo requiere un nombre de usuario y una contraseña;
  • Todos los demás requieren una clave privada (configurada en /etc/sshd _config )y Google Authenticator

Hubiera dejado un comentario pero no suficiente credibilidad en la calle.

2
17.07.2019, 19:30
1 ответ

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

Проблема с автономными хостами заключается в том, что у них есть только одно активное сетевое устройство, петлевое устройство, которому обычно назначается адрес 127.0.0.1. Однако в некоторых случаях вам необходимо отправить данные на `официальный IP-адрес локального хоста. Например, рассмотрим ноутбук vlite, который был отключен от любой сети на время выполнения этого примера.

Приложение на vlite теперь может захотеть отправить некоторые данные другому приложению на том же хосте. Поиск vlite в /etc/hosts дает IP-адрес -191.72.1.65, поэтому приложение пытается отправить на этот адрес. Поскольку петлевой интерфейс в настоящее время является единственным активным интерфейсом на машине, ядро ​​не знает, что этот адрес на самом деле относится к самому себе! Как следствие, ядро ​​отбрасывает дейтаграмму и возвращает приложению ошибку.

Здесь в дело вступает фиктивное устройство. Оно решает дилемму, просто выступая в качестве альтер-эго петлевого интерфейса. В случае с vlite вы просто дали бы ему адрес 191.72.1.65 и добавили маршрут хоста, указывающий на него. Каждая дейтаграмма для 191.72.1.65 затем будет доставляться локально. Правильный вызов:

       # ifconfig dummy vlite
       # route add vlite
4
27.01.2020, 22:02

Теги

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