web-dev-qa-db-ja.com

非アクティブ後にsshセッションをタイムアウトしますか?

PCI-DSS 3.0要件8.1.8は次のように述べています。同じことがPCI-DSS 2.0要件8.5.15にもありました。

Bashプロンプトでアイドリングしているsshセッションを処理する最初の最も明白な方法は、読み取り専用のグローバル$TMOUTを900にすることです。残念ながら、これはbashプロンプトに座っているセッションのみを対象としています。 PCI仕様の精神には、top/vim/etcを実行するセッションの強制終了も必要です。

「/ usr/bin/w」の出力を解析し、関連するシェルを強制終了する*/1 cronジョブを作成することを検討しましたが、これは鈍器のようです。仕様に必要なことを実際に行い、端末をロックする何かのためのアイデアはありますか? awayvlockを見てきました。どちらも自発的に端末をロックするのに最適ですが、ロックを強制するcron/daemonタスクが必要です。

6
Insyte

これを解決するには、.bash_profileに「exec screen -R」を、.screenrcに「idle 900 lockscreen」を配置できますか?スクリーンセッションがまだ存在する場合は自動的に再接続し、存在しない場合は新しいセッションを作成しますが、アイドル状態が900秒間続く場合は画面をロックします。

ユーザーはアイドルを無効にできると思いますが...

代わりに:.screenrcのプレーンな「exec screen」と「autodetach off」だけで、セッションが切断された場合にセッションが終了します。

4
freiheit

以下は、sshd構成に追加され、非アクティブ状態が15分間続くとSSH接続を閉じるだけです。

ClientAliveInterval 900
ClientAliveCountMax 0
3
orokusaki

BSDでは、私は Michael P. Criderによるアイドル を使用しています。

説明からの引用

Idledは、現在のユーザーを監視するためにマシンで実行されるデーモンです。ユーザーが長時間アイドル状態であるか、長時間ログオンしているか、何度もログインしている場合、警告が表示され、適切にログアウトされます。

Linuxリポジトリでも見つけることができると思います。

2
SaveTheRbtz

SshdのIdleTimeout設定はあなたが望むことをしますか?私はtopを使用するユーザーでテストしていませんが、vimまたはデータを送信していないもので動作するはずです。

1
Cian

ここで正しい答えは

エクスポートTMOUT = 900

.bash_profile

(画面を呼び出すことは、この問題に対処する直接的な方法ではありません)

http://linux.die.net/man/1/bash

1
Arenstar