Как скрыть свой IP от Linux, кто командует

Как скрыть свой IP от Linux, кто командует

Я системный администратор Linux, я буду входить в каждую систему моей локальной сети. Я не хочу, чтобы мой IP отображался через команду who. Например, если кто-то вводит:

$ who

он показывает мой IP. Есть ли способ скрыть мой IP от команды who Linux?

[РЕДАКТИРОВАНО chrips]

Это важно для тех, кто обеспокоен тем, что их личные серверы коммунальных услуг могут быть взломаны! Очевидно, вы захотите скрыть свой текущий домашний IP от злоумышленника, чтобы он не нашел вектор на вас!

решение1

Проще всего сделать файлы журнала utmp недоступными для чтения всем. Это даже упоминается встраница руководства utmp:

В отличие от других систем, где ведение журнала utmp можно отключить, удалив файл,utmp всегда должен существоватьна Linux. Если вы хотите отключить who(1), то сделайтенетсделать utmp мирудобочитаемый.

так:

sudo chmod go-r /var/log/wtmp /var/run/utmp
who        # shows nothing, not even an error!
sudo who   # still works for root
rudi     :0           2017-04-18 19:08 (console)

Таким образом, это приведет к whoполному отключению, а не только пропуску IP-адресов.

Еще одна идея(может быть, немного глупо) чтобы скрыть только IP, можно позволить вашему ssh-серверу слушать на другом порту (1234) и только на localhost. Затем запустить "прокси" (socat, netcat) для переадресации с public_ip:22 на localhost:1234:

  1. изменить конфигурацию сервера ssh, /etc/ssh/sshd_config:

    Порт 1234

  2. запустить прокси на машине сервера ssh:

    socat TCP-LISTEN:22,fork TCP:localhost:1234

Теперь все журналы utmp ( who, last) будут показывать один и тот же бесполезный IP-адрес localhost.

Примечаниеможет быть, ваши пользователи все еще могли бы видеть реальные соединения через netstat. Вместо прокси-сервера пользователя ( socat) вы также могли бы настроить iptablesправила NAT и MASQUERADING для входящего трафика ssh. Или вы всегда могли бы использовать дополнительный "ssh hop", чтобы всегда входить с одного и того же IP. Это остается в качестве упражнения для читателя. ;)

решение2

Утилита whoанализирует данные в /var/run/utmpбазе данных. Эта база данных обновляется при loginвходе в систему (и рядом других утилит, см. man utmp), и данные постоянно записываются, /var/log/wtmpесли этот файл существует.

Эти записи полезны для отслеживания причин и времени сбоя системы или начала ее работы со сбоями, и их не следует изменять.

Итак, ответ таков: Вы не можете этого сделать, не изменив поведение whoили программ, которые пишут в /var/run/utmpи /var/log/wtmp, или не изменив эти (двоичные) файлы самостоятельно. И вам не следует этого делать, поскольку это может сделать систему 1) небезопасной и 2) трудно диагностируемой в случае неисправности.

Связанный контент