Webアプリケーションスタックのセキュリティを強化します(LAMP仮想化、ステップ1/6)

Apache / Lighttpd / Nginx Webサーバーのネットワークファイルシステム(NFS)ファイルへのアクセスの構成


仮想化とwww.cyberciti.bizからのLAMPサーバーのセットアップに関する一連のレッスンを引き続き翻訳し、最初の実用的なステップであるネットワークファイルストレージの作成に進みます

LinuxおよびUnix用のNFSv4.0(ネットワークファイルシステム)ネットワーク共有の作成は、他のApache / Lighttpd / Nginxネットワーク共有の作成と大差ありません。 これを行うには、IPアドレス192.168.1.14でファイルサーバー/ VM vm05の次の設定を行います。

Linux NFSサーバー:同期または非同期


最適なNFSサーバーの動作モードを選択する必要があります。 非同期モード( 同期オプション )では、記録の終了やディスクファイルの変更を待たずにサーバーリクエストへの応答が発生します(アクセス時に記録が発生した場合)。 このモードのパフォーマンスは向上しますが、データの整合性とサーバーの大まかな再起動(システム障害またはその他の理由の場合)が犠牲になりますが、データの損失または損傷につながる可能性があります。 同期操作モード( sync オプション )では、サーバーへの要求への応答は、記録の最後にのみ発生します。 これを使用することを強くお勧めします-ローカルApache / Lighttpd / NginxノードでNFSキャッシュを有効にした2番目の同期モード、つまり vm 01およびvm 02サーバー。

「共有」ネットワークリソースを作成する方法


最初に、 yum managerを使用して、NFSサーバーソフトウェアパッケージをインストールします。
# yum groupinstall "NFS file server" 

または...
 # yum install nfs-utils nfs4-acl-tools portmap 

...インストールされたサービスをアクティブにします。
 # chkconfig nfs on # chkconfig rpcbind on # chkconfig rpcidmapd on # chkconfig nfslock on 

NFSサーバーのユーザーアカウントを作成します。


NFSサーバーのファイル共有を整理するには、Apacheユーザー資格情報を使用します。 同じアカウントがvm01vm02vm03、およびvm05サーバーで使用されます 。 NFSv4サーバーでユーザーアカウントを作成するには、 useraddコマンド使用します
 ################################################################################## ### ,    CentOS/RHEL,     apache      ### ###  UID/GID 48,   apache   vm01  vm02         ### ###                                                           ### ################################################################################## # /usr/sbin/groupadd -g 48 apache # /usr/sbin/useradd -s /sbin/nologin -g 48 -u 48 -M -d /var/www apache # /usr/bin/passwd -l apache 

Apache2 WebサーバーをNFSv4サーバーにインストールしないでください。

/etc/idmapd.conf nfsサーバーの構成


NFSv4 IDサービスネームデーモン(rpc.idmapd)は、NFSv4クライアントとサーバーカーネルを提供し、要求を介して後者を接続し、IDを名前に、名前をIDに変換します。 デーモンを構成するには、/ etc / idmapd.confファイルを編集します。
 # vi /etc/idmapd.conf 

ローカルNFSv4ドメインには、次の設定が指定されます。 デフォルトのDNSホスト名は、ホストのドメイン名に置き換える必要があります。

 Domain = cyberciti.biz 

また、マッピング設定が次のように記述されていることを確認してください。

 [Mapping] Nobody-User = nobody Nobody-Group = nobody 

ファイルを保存して閉じます。

ファイルシステムの共有


ネットワーク共有/ var / www / staticおよび/ var / www / htmlを作成するには、次の手順を実行します。 mkdirコマンド使用して、NFSv04サーバーに目的のディレクトリを作成します。
 # mkdir -p /exports/{static,html} 

作成されたディレクトリ/ exportsディレクトリとの接続を確立します
 # mount --bind /var/www/html /exports/html # mount --bind /var/www/static /exports/static 

ファイル/ etc / fstabを編集します。
 # vi /etc/fstab 

以下のエントリを追加することにより:
 /var/www/html /exports/html none bind /var/www/static /exports/static none bind 

ファイルを保存して閉じます。 ファイル/ etc / exportsを編集します:
 # vi /etc/exports 

次のパラメーターを追加します。
 ################################# ###   vm01  vm02 ### ### by vivek Thu June 21,2012 ### ################################# ##   nfs, fsid=0  NFSv4 ## /exports  192.168.1.10(rw,fsid=0,no_subtree_check,async) 192.168.1.11(rw,fsid=0,no_subtree_check,async) ###  NFS   www.cyberciti.biz ### /exports/html  192.168.1.10(rw,no_subtree_check,async,nohide) 192.168.1.11(rw,no_subtree_check,async,nohide) #      «-» (ro).                   # #     ,    «--» (rw)# /exports/static 192.168.1.10(ro,no_subtree_check,async,nohide) 192.168.1.11(ro,no_subtree_check,async,nohide) 

ファイルを保存して閉じます。 これで、 nfsと関連サービスを開始できます
 # /sbin/service rpcbind start # /sbin/service rpcidmapd start # /sbin/service nfslock start # /sbin/service nfs start 

NFSv04サーバーの保護


ファイアウォールをインストールし、リンクで指定されたスクリプトに従ってTCPWrapperを構成できます 。 または、NFSサーバーの固定ポート使用してiptablesテーブルを構成します。 また、このサーバーからNFSファイルシステムを解除することにより、ネットワークビューまたはネットワーク上のマスクされた(ネットワーク/マスク)マシン( vm01vm02 )を使用することもできます。 次のオプションを使用して、 / etc / sysconfig / iptablesファイルを編集します。 これらのパラメーターのスペルがLOGおよびDROP行の前にあることを確認してください。
 ##   nfsv4-                           ## -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT 

ファイルを保存して閉じます。 iptablesサービスを再起動します
 # service iptables restart 

共有リソース


これで、 / var / www / staticの静的ファイルと、 / var / www / htmlサーバーディレクトリのphp / htmlファイルを読み込むことができます。 共有NFSファイルシステムにUnixソケットを置かないでください。 SELinuxを使用する場合、SELinuxのセキュリティ要件を考慮して標準アクセス権とファイル所有者の権利を設定する必要がありますが、システムの動作を確認するために(一時的に)SELinuxを無効にできます。 資料cyberciti.bizの詳細を参照してください。

  1. SELinuxを一時的にシャットダウンする[ eng ]
  2. LinuxでApache / httpdのSELinuxを無効にする(非推奨)[ eng ]


NFSに関する最後の注意




Source: https://habr.com/ru/post/J148004/


All Articles