Webアプリケーションスタックのセキュリティの向上(LAMP仮想化、ステップ5/6)

ネットワークファイルシステム(NFS)の静的ファイルを操作するためのLighttpd Webサーバーの構成



仮想マシンでのLAMP Webスタックのセットアップに関する一連の記事の5番目のレッスンは、静的ファイルの提供に専念します。



lighttpd Webサーバーは、HTTPまたはHTTPSプロトコルを介して静的コンテンツへのアクセスを提供します。 この例では、Lighttpd Webサーバーをインストールして使用し DocumentRootをvm05にバインドします / var / www / staticに マウントされた/ exports / staticをマウントし ます 。 以下のすべてのコマンドは、IPアドレス192.168.1.10の vm01でのみ入力する必要があります。



NFSクライアントを構成する



yumマネージャーを使用して、NFSクライアントパッケージをインストールします。

# yum groupinstall "Network file system client"
      
      





または少し簡単に:

 # yum install nfs-utils nfs4-acl-tools
      
      





NFSv4クライアントサービスを有効にします。

 # chkconfig rpcbind on # chkconfig rpcidmapd on # chkconfig nfslock on
      
      







/etc/idmapd.conf nfsクライアント設定



NFSクライアント構成ファイルを編集します

 # vi /etc/idmapd.conf
      
      





NFSサーバーのドメイン名に従ってパラメーターが設定されていることを確認します。

 Domain = cyberciti.biz [Mapping] Nobody-User = nobody Nobody-Group = nobody
      
      





ファイルを保存して閉じます。 NFSクライアントのすべてのサービスを開始しましょう。

 # /sbin/service rpcbind start # /sbin/service rpcidmapd start # /sbin/service nfslock start
      
      







ユーザーアカウントを作成する



Lighttpd Webサーバーは、Apacheユーザーの下からのみ起動します。 Linuxユーザーアカウント追加するには、次のコマンドを入力します。

 # /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
      
      







ファイルシステムのマウント



次のコマンドを入力してください。

 # showmout -e vm05
      
      





出力例:

 Export list for v.txvip1: /exports/html     192.168.1.10,192.168.1.11 /exports/static   192.168.1.10,192.168.1.11
      
      





nfsファイルシステムの/ exports / staticフォルダーを/ var / www / staticにマウントします

 # mkdir /var/www/static # /bin/mount -t nfs4 -orsize=32768,wsize=32768,intr,hard,proto=tcp,sync vm05:/exports/static /var/www/static/
      
      





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

 # vi /etc/fstab
      
      







/ etc / fstabを介したファイルシステムのマウント



/ etc / fstabを編集:

 # vi /etc/fstab
      
      





次の行を追加します。

 vm05:/exports/static /var/www/static nfs4 orsize=32768,wsize=32768,intr,hard,proto=tcp,sync
      
      





ファイルを保存して閉じます。 netfsサービスが有効になっていることを確認します。

 # chkconfig netfs on
      
      





最後に、Apacheユーザーにファイルが表示されることを確認します

 # su - apache $ ls /var/www/static/ $ exit #
      
      





セキュリティポリシーにより、rootユーザーまたは他のユーザーには/ var / www / staticが表示されないことに注意してください。 これは、DocumentRootにアクセスできる唯一のlighttpdユーザーです。



Lighttpd Webサーバーをインストールする



EPELリポジトリ接続し 、Lighttpd Webサーバーをインストールします

 # yum install lighttpd
      
      





コンソール出力の例:

 Loaded plugins: rhnplugin Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package lighttpd.x86_64 0:1.4.28-3.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================== Package          Arch           Version               Repository    Size ========================================================================== Installing: lighttpd         x86_64         1.4.28-3.el6          epel         328 k Transaction Summary ========================================================================== Install       1 Package(s) Total download size: 328 k Installed size: 878 k Is this ok [y/N]: y Downloading Packages: lighttpd-1.4.28-3.el6.x86_64.rpm                   | 328 kB     00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction  Installing : lighttpd-1.4.28-3.el6.x86_64                           1/1 Installed:  lighttpd.x86_64 0:1.4.28-3.el6 Complete!
      
      







Lighttpd Webサーバーのセットアップ



以下のコマンドを入力して、 / etc / lighttpd / lighttpd.confを編集します。

 # mv /etc/lighttpd/lighttpd.{conf,default.bak}<br /> # vi /etc/lighttpd/lighttpd.conf
      
      





次の設定を入力します。

 ##    http://static.cyberciti.biz server.modules              = (                               "mod_expire",                               "mod_access",                               "mod_accesslog",                               "mod_setenv",                               "mod_extforward" ) server.errorlog            = "/var/log/lighttpd/error.log" accesslog.filename         = "/var/log/lighttpd/access.log" index-file.names            = ( "index.html", "index.htm", "default.htm" ) server.tag                 = "lighttpd" server.network-backend = "linux-sendfile" ##     lan- ## server.port = "80" server.bind = "192.168.1.10" server.document-root = "/var/www/static" server.pid-file = "/var/run/lighttpd.pid" server.username = "apache" server.groupname = "apache" ##     30     ## $HTTP["url"] =~ "^/" {   expire.url = ( "" => "access 30 days" ) } ###   ip-  ### ### 192.168.1.{1,2} == nginx resverse proxy server ## extforward.headers = ("X-Forwarded-For") extforward.forwarder = (      "192.168.1.1" => "trust",      "192.168.1.2" => "trust" ) ## ## mimetype mapping ## include "conf.d/mime.conf"
      
      





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



Webサーバーにアクセスするためのiptablesの構成



/ etc / sysconfig / Iptablesファイルを編集して、次のパラメーターを追加します(INPUTチェーンの最終LOGおよびDROP設定の前に設定されていることを確認してください)。

 ##       ## -A INPUT -m state --state NEW -p tcp -s 192.168.1.0/24 --dport 80 -j ACCEPT
      
      





保存して閉じます。 iptablesを再起動します。

 # /sbin/service iptables restart # /sbin/iptables -L -v -n
      
      







Lighttpdを有効にする

次のコマンドでLighttpd Webサーバーを起動します

 # chkconfig lighttpd on # service lighttpd start
      
      





ブラウザーを切断してサーバーに侵入します。

 http://192.168.1.10/
      
      










All Articles