web-dev-qa-db-ja.com

NFSサーバー+クライアント:推奨される強化/最後の仕上げ

素敵な小さなnfs共有/クライアントを初めてセットアップしました。

a)クライアント側のファイルのUIDは、lsを介してリストされたときに4294967294として表示されますが、クライアントは共有内のファイル/ディレクトリを作成および削除できます。クライアント側で作成されたファイルとフォルダーは、サーバー側に正しいユーザー名(およびuid)で表示されます。共有に書き込むユーザーがサーバー側で同じUIDを持っていることを確認しました。

以下は、クライアント側のすべてのファイル/フォルダーに表示されます。

drwxr-xr-x 6 4294967294 4294967294 4096 Feb 23 16:04 foldername

これでよろしいですか?

b)nfs(またはこれより前にインストールされていなかったため、rpc *)サービスを外部インターフェイスで実行できないようにするには、portmap/nfsデーモンで何かを行う必要がありますか?理想的には、サービスをlanサブネットとvpnサブネットだけにバインドしたいと思います。

c)再接続の試行でnfsクライアント側を可能な限り積極的にするための理想的な方法は何ですか?理想的には、ネットワーク接続がいつでも失われた場合、nfsクライアント側は頻繁に無期限に試行を続けます。 fstabを介してこれを達成することは可能ですか?または、nfsクライアントはデフォルトですでにこれを行っていますか? nfs共有が共有されるLAN側は、1GBit接続です。

d)他に何かありますか?

何度も何度も。

1
anonymous-one

ここではセキュリティの質問に答えているだけです。それが私が最も経験していることだからです。

NFSは保護するのが難しいです。私がお勧めできる最も重要なことは、GSS認証メカニズムでNFS4を使用することですが、NFS3(またはNFS2)を使用しているかのように答え続けます。

  • エクスポートファイルでIP、ホスト名、またはネットグループを指定します。 決して*にエクスポートしないでください。これにより、誰でもどこからでも共有にアクセスできるようになります。
  • insecureまたはno_root_squashエクスポートオプションは絶対に使用しないでください。 secureは、サーバーの信頼をユーザーだけでなくクライアントのrootに制限し、root_squashはrootによるリクエストをnobodyに再マップし、共有を介した機密システムファイルへのアクセスを防ぎます。
  • すでに実行しようとしているため、インターネットからのポートマッパー、rpc.nfsd、またはrpc.mountdへのアクセスを許可しないでください。適切なネットワーク設定(ファイアウォール、ルーターACLなど)でこれが保証されますが、-iオプションをportmapに設定し、hosts.allowファイルを使用してローカルIPへのアクセスを制限することもできます。アイデア。

セキュリティの問題についてセットアップをテストしたい場合は、Python基本的なNFSセキュリティメカニズムをバイパスするプログラム、 NfSpy を作成しました。お気軽に試してみてください。予期しない方法でエクスポートにアクセスできるかどうかを確認してください。

P.S.クライアントの再接続の試行については、nfs(5)のマンページのMOUNT OPTIONSセクションを参照してください。一般に、retransおよびhard/softオプションは、必要なものを制御しますが、リクエストごとに制御します。サーバーが長期間ダウンしても、マウント自体はアップしたままになります。これらの設定は、特定の要求(読み取り、書き込みなど)の処理方法を決定します。

3
bonsaiviking

これは本当に非常に幅広いトピックであり、1つの投稿ですぐに答えることができるものは何もありません。 NFSサーバーとクライアントの強化とベストプラクティスに関する多くのガイドのいくつかを読むことから始めるべきだと思います。

私はグーグルでクイック検索を実行し、あなたに興味があるかもしれない2つのリンクを見つけました:

NFSの保護

Linux NFS-HOWTO

(セキュリティと微調整に関するベストプラクティスと他の多くの優れた情報が含まれています)

0
Yanick Girouard