私はLinuxシステム管理者であり、ローカルネットワーク上のすべてのシステムにログインします。 whoコマンドで私のIPを表示したくありません。たとえば、誰かが次のように入力した場合:
$ who
私のIPが公開されました。 who Linuxコマンドで私のIPを隠す方法はありますか?
[編集者: 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サーバーがlocalhostの他のポート(1234)でのみリッスンするようにすることです。次に、「プロキシ」(socat、netcat)を実行してpublic_ip:22からlocalhost:1234に渡します。
SSHサーバーの設定/etc/ssh/sshd_configを変更します。
ポート1234
SSHサーバーシステムでエージェントを実行します。
socat TCP-LISTEN:22, フォーク TCP:localhost:1234
これで、すべてのutmpログ(who
、、last
)に同じ、役に立たないローカルホストIPが表示されます。
ノートおそらく、ユーザーはまだ実際の接続を見ることができますnetstat
。ユーザースペースプロキシの代わりに着信SSHトラフィックにNATおよびMASQUERADINGルールを設定するsocat
こともできます()。iptables
または、いつでも追加の「ssh hop」を使用して、常に同じIPからログインできます。これは読者に練習問題として残す。 ;)