SCPを介してサーバーに接続し、リモートサーバーから自宅のコンピューターにいくつかのファイルをコピーしているとします。サーバー管理者は、私が何かをコピーしたこと、コピーされたものを見る、または誰がコピーしたかを知ることができますか?
SCPを介してサーバーに接続し、リモートサーバーから自宅のコンピューターにいくつかのファイルをコピーしているとします。サーバー管理者は、私が何かをコピーしたこと、コピーされたものを見る、または誰がコピーしたかを知ることができますか?
回答:
ServerFaultの質問はこれとほとんど同じです。質問を投稿する前にチェックしたことを願っていますが、あなたの質問は少し違うので、ここで答えます。
短い答えは、誰もがエンドポイント(あなたがしているシステムへのアクセス権と権限があればということであるscp
から、INGのかscp
にする)を、彼らは何が起こるかを見ることができます。どちらのエンドポイントにもアクセスできない場合は、(プロトコル番号でアプリケーションを知っている可能性があることを除いて)アクセスしていないか、何をしているのかを解読できません。
最終的に、答えはインフラストラクチャに大きく依存します。ただし、集中的な監視が行われず、SCPが企業内で脅威にさらされていると見なされない限り(赤い旗が投げられます)、トラフィックは気付かれずに通過します。これは特に中小企業に当てはまります。
@SimonRichterが述べたように、誰かがシステム上でコマンドを実行できる場合(つまり、adminまたは他の人)、プロセスリストを確認してコマンドラインを確認できますscp -args /filepath/
。ただし、これには、すべてのプロセスアクティビティを記録するか、転送時にチェックする必要があります。さらに、職場の自分のシステムから別のシステム(自宅や他の場所など)にそれを行っている場合、必ずしもその可視性はありません。
さらに、@ alex.forencichが述べたように:コピープログラム(scp、sftpなど)が何も記録またはリークしない(コマンドライン引数)場合でも、すべてのシステムコール(ファイルのオープンと読み取りの呼び出しを含む)を記録することも可能です)、どのファイルが読み書きされたかを把握することはまだ可能です。Linux監査システムを参照してください。–
管理者だけではありません。
テストのために/bin
、サーバーからラップトップの一時ディレクトリにコピーしました。ps
サーバー上のショー
$ ps 24096
PID TTY STAT TIME COMMAND
24096 ? Ss 0:00 scp -r -f /bin
通常、この情報にはすべてのユーザーがアクセスできます。
/proc
オプションではhidepid=2
。これを無効にする
scp
サーバー上で実行されているコードの助けを借りて動作します(sshd
、およびscp
それ自体)。そのサーバーコードは理論的には完全にサーバー管理者の制御下にあり、サーバーscp
上で実行して接続をファイルに書き込むバージョンはscp
、リクエストを発行するマシンで実行しているバージョンとは別のものです。
サーバーの管理者は、ほんの一例として、scp
Webサーバーがログを書き込むことができるように、サーバー上のすべての要求をログに記録するバージョンに置き換えることができます。その後、彼らはそれらのログからあなたがコピーしたものを正確に見ることができました。
彼らが専門知識と実際にこれを行う動機を持っているかどうかはそれほど明確ではありませんが、もし彼らがそれを望むなら、彼らを止めることは何もありません。
これらの質問はあなたの仲間だと思います:https : //security.stackexchange.com/questions/14782/is-there-an-easy-way-to-see-a-log-of-scp-activity-on-a -server-ala-var-log-secu、https: //askubuntu.com/questions/659896/where-would-you-find-scp-logs
私はすべての詳細を知りませんが、箱から出してすぐにscp
、あなたが尋ねていることを記録するオプションsshd
がないようです。したがって、おそらく単純な構成よりも多くが必要ですが、管理者がサーバーを制御するという事実から逃れることはできません。
暗号化されずにコンピュータのメモリを通過するものはすべて、そのマシンの十分な特権を持つユーザーが読み取りまたは変更できます。
実行中のプロセスの名前とそれらを開始するために使用されるコマンドラインには、Linux上のログオンユーザーがアクセスできます。(好奇心のために、これはWindowsには当てはまりません。)したがって、管理者またはたまたま周りにいる人は、コピーしたファイルを見ることができます。さらに、管理者が何らかのファイルアクセスロギングを設定したり、scp
プログラムの一端を置き換え/ジグリングして追加のロギングを実行したりすることは完全に可能です。
scp
ネットワークスニファーから保護するだけです。明らかに、両端は復号化されたデータを知っている必要があるため、どちらかのエンドポイントの洗練された管理者がデータをscp
メモリから吸い出す機会があります。コマンドラインを使用しないソリューションも含め、他のソリューションもオープンです。両端でsftp
何が起こっているかを把握しているため、メモリ検査を介して何sftp
が考え/転送されているかを判断できます。
経験則では、rootアクセスを持つ人はすべてを知ることができます(確認するのが面倒な場合)。おそらく、立ち入り禁止の唯一のものは、証明書で暗号化されたファイルシステムです。
行為中scp
に、リモート側でプロセスを開きます。これは、を呼び出すだけで誰でも見ることができますps
。プロセスリストに表示されるコマンドラインを非表示にすると、lsof
(開いているファイルのリスト)がどのファイルに触れているかを表示できます。それはとても簡単です、私は実際にそれをやっていて、私が開始したコピープロセスがどれくらい遠くにあるかを観察しています、私が現時点で見ることができない端末でプロセスを開始した場合(ファイルリストが出力されているところで)。
行為後、クイックスキャンでfind
最新のファイルを見つけることができます(タイムスタンプがコピー中に保持されなかった場合)。ファイルがssh
セッションを通じて何らかの方法でアクセスまたはタッチされた場合、あなた.bash_history
は何をしていたかを示します(ただし、必要に応じて削除できます)。
セキュリティが非常に厳しい場合は、追加の監視をいつでも設定できます。単純なデーモンですべてのファイル変更をリッスンし、ローカルおよびリモートのファイルシステムトランザクションに関するすべてを記録できます。すべてのユーザー生成プロセスをログに記録することは驚くことではありません。バックアップが実行されている場合、ファイルを削除した後でもファイルはまだどこかに保存されている可能性があります。
file
意味find
ですか?
sftp
。ログに記録される場合がありますが、のプロセスタイトルとして明確に表示されませんscp
。