fc2ブログ

LAN内アプリ2 セキュリティ

LAN内で利用するウェブアプリケーションのセキュリティについての備忘録です。小規模オフィスで外部インターネット非公開のLAN限定のウェブアプリケーション(以下WA)を安全に利用するためのセキュリティについての要点を整理しています。

前提環境

前提1: WAの動作

WAはLAN(オフィス)内からのアクセスのみ許可し、外部(インターネット)には非公開とする。

前提2: ネットワーク環境

  • winXP,win2000の2台でLANを構築し、ルーターを介してインターネットに接続。
  • ルーターはブロードバンドルーターでスイッチングハブを内臓。
  • 各パソコンにはNorton Internet Security(以下NIS)をインストール

前提3: プライベートIPアドレス,サブネットマスク

コンピューターIPアドレスサブネットマスク
winXP192.168.1.11255.255.255.0
win2000192.168.1.12255.255.255.0

前提4 : アプリケーション実行環境(下記は全てwinXPにインストール)

  • Apache 2.0.55(Win32)
  • PHP5.05
  • MySQL 4.1.15-nt

前提5 :アプリケーションへの 接続

winXPからはhttp://localhost/ またはhttp://192.168.1.11 でApacheへ接続する。win2000からはhttp://192.168.1.11 でApacheへ接続する。

目標

上記の環境下でLAN内限定のWA構築における安全なセキュリティの確保。

Apache,MySQLの対策の分類

  • ルーターでの対策
  • NISによるApache,MySQLへの対策。
  • Apache設定ファイルhttp.confでの対策
    参考サイト: Web+DB on Windows

ルーターでの対策

外部インターネットとLANの間にルーターを設置することはそのこと自体が外部からのLAN内のWWWサーバ(本文ではApache)やDBサーバ(本文ではMySQL)への不正アクセス防止につながる。

NISによるApache,MySQLへの対策

概要: NISのアクセス制御でApache,MySQLへのアクセスをLAN内のコンピューターに制限する(NIS2004の場合)。

起動画面→ファイアーウォール→設定→プログラム制御を選択する。該当プログラム(Apache.exe,mysqld.exe)でカスタムルールに変更し、LAN内のIPアドレス(本例では192.168.1.11,192.168.1.12)からの通信のみ許可する設定へ変更する。

上記の設定でApacheがインストールされているPCのlocalhostからもアクセス可能となる。

Apache設定ファイルhttpd.confによる対策

hppd.confの前提
Server Root "C:/Program Files/Apache Group/Apache2"

DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"

httpd.confの設定:

<Directory />
    order deny,allow
    deny from all
    allow from localhost
    allow from 192.168.1
    Options FollowSymLinks
    AllowOverride All
</Directory>
・・・・・・・
・・・・・・・
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
・・・・・・・・
・・・・・・・・
#Order allow,deny
#Allow from all
</Directory>

上記の設定で前述のLAN内のPC(本文では192.168.1.11,192.168.1.12)及びApacheがインストールしてあるPCからのlocalhostでのみApacheへ接続可能となる。

参考: Web+DB on Windows

Appendix:Directiveコンテナについて

<Directory>コンテナ(<Directory ディレクトリ>...</Directory>)は、特定のディレクトリ及びそのサブディレクトリに適用される指示子(Order,denay,allow,Options,AllowOverrideなど)をかこむ。

<Directory />......</Directory>

上記設定内容はServerRootに指定したディレクトリ以下の全てのディレクトリに適用される。

下記のように設定すると、C:/Program Files/Apache Group/Apache2に適用されます。

<Directory "C:/Program Files/Apache Group/Apache2/htdocs">.....</Directory>

※設定内容がhtdocs以下のディレクトリに適用される。

<Directory />コンテナで指定した内容を<Directory "C:/Program......./htdocs>コンテナで上書きする。

ApacheについてはApacheに関する基礎事項 を参照してください。

 スポンサードリンク

スポンサーサイト



  1. ブックマークに追加する
  1. ブログランキングFC2
  1. テーマ:プログラミング
  2. ジャンル:コンピュータ
  1. 2007/07/09 (月)|
  2. [PHP]環境構築
  3. | トラックバック:0
  4. | コメント:0

Apache,MySQL,PHPの設定ファイル

Apache(2.0.59),MySQL 4.2.22,PHP 5.2.1の設定ファイルをまとめます。

Apache設定ファイル
%APACHE%※1/bin/httpd.conf
MySQL設定ファイル

%MYSQL%※2my.ini

私の場合はmy.iniはまったく編集しませんでした。

PHP設定ファイル

%WINDOWS%※3/php.ini

解凍フォルダの直下にあるphp.ini-distをphp.iniにリネイムして%WINDOWS%へ移動します。

私の場合PEARも利用しています。PEARの設定ファイルは%WINDOWS%※1/pear.iniです。

※1:%APACHE%はApacheのインストールフォルダです。通常C:Program FilesApache GroupApache2のようになります。
※2:%MYSQL%はMySQLのインストールフォルダです。通常C:Program FilesMySQLMySQL Server 4.1のようになります。
※3%WINDOWS%はOSのバージョンにより異なります。WindowsXPではC:WINDOWSです。

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. テーマ:プログラミング
  2. ジャンル:コンピュータ
  1. 2007/07/09 (月)|
  2. [PHP]環境構築
  3. | トラックバック:0
  4. | コメント:0

LAN内アプリ1

LAN内で利用するウェブアプリケーションを構築した際の覚書です。

構築環境

OS
Windows XP,Windows Vista(若しくは2000)
ソフトウェア
LAN内で動作Apache+PHP(+PEAR,,Smarty)+MySQL
主な機能
DB登録,表示,画像アップロード,表示,エクセルファイル生成,ダウンロード

ダウンロードファイル

  • Apache 2.0.59(DL:apache_2.0.59-win32-x86-no_ssl.msi)
  • PHP 5.2.1(DL:php-5.2.1-Win32.zip)
  • MySQL 4.2.22(DL:mysql-4.1.22-win32.zip)

注意点

最初はApche2.2.4(DL:apache_2.2.4-win32-x86-no_ssl.msi)を試すもうまくいない。ApacheのLoadModuleのところでエラーが発生するようです。

 スポンサードリンク

  1. ブックマークに追加する
  1. ブログランキングFC2
  1. テーマ:プログラミング
  2. ジャンル:コンピュータ
  1. 2007/07/09 (月)|
  2. [PHP]環境構築
  3. | トラックバック:0
  4. | コメント:0