【失敗】Zabbix で Apache を監視する方法【対象は、Zabbix サーバ、自分自身】 | oki2a24 の続きとなりますけれども、今回も失敗いたしました><。
タグ: Apache
今回も失敗しましたけれども、記録として残しときます><
環境
- Zabbix で自分自身を監視
- サーバの IP アドレス 192.168.56.111
- CentOS 5.10
- Zabbix server v2.0.9
- Zabbix agent v2.0.9
- Apache/2.2.3
ちなみに、それぞれの確認コマンドは、「cat /etc/redhat-release」「zabbix_server –version」「zabbix_agent –version」「httpd -v」ですわ。
ZABBIX サーバをインストールします。よくこんがらがりますけれども、このように理解します。
- ZABBIX サーバ 監視する方。データを要求する方。相手のデータをエージェントから受け取る方。
- ZABBIX エージェント 監視される方。データを催促される方。自分のデータをサーバに提出する方。
インストールにあたっては、こちらの公式ドキュメントに沿って行いました。その際に何度か失敗して、エラーに遭遇し、恥ずかしくもぎゃあぎゃあ騒がしくした部分も含め、記録したいと思います。
こちらを参考に、サイトのどのページにアクセスされても、メンテナンスページを表示するよう .htaccess ファイルを編集しておりましたけれども、ハマってしまいました。
解決いたしましたのでメモです♪
- mod_rewrite の R フラグのレスポンスコード指定を削除した。
- つまり、[R=503,L] → [R,L] でエラー解消した♪
- [R=503,L] のときは URL は同じで置換されなかったが、[R,L] のときは URL がメンテナンスページの URL へと書き換わった。
- Apache のバージョンが 2.0.64 の環境で起きた。参考ページのバージョンは2.2。これが原因!
対応レスポンスコードは Apache 2.0 なら 300 〜 400 が指定可能で、Apache 2.2 以降はすべてが指定可能
原因を探るべくドキュメントをあさりましたら、確かにございました!ポイントは次です。
Apache の mod_rewrite を使用するので EC-CUBE でなくとも WordPress などのサイトでも SSL に統一することができる設定方法
eccube/html/.htaccess の末尾に次を追加します。
# HTTPS に統一 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
- RewriteEngine On → mod_rewrite を使えるようにする
- RewriteCond %{HTTPS} off → 条件式に相当。HTTPS がオフだったら次を実行
- RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] → 実行する内容。
「^(.*)$」を「https://%{HTTP_HOST}%{REQUEST_URI}」に置き換える。
^ 行頭、. 任意の一文字、* 直前の文字の 0 回以上の繰り返し、$ 行末。
[R,L] はリダイレクトした後、変換処理をここで終了する、という意味らしい。。。
ドキュメントは次です。日本語ですけれども(ヤッター)、Apache 1.3 のドキュメントと古いです。新しいバージョンのものももちろんございますけれども、英語でニュービーには辛いですの><。
- Apache module mod_rewrite ← Apache 1.3
- mod_rewrite – Apache HTTP Server ← Apache 最新版、英語
そもそもなぜ HTTPS に統一しようと思ったかと申しますと、、、
Apache の mod_security をインストールしました。
- yum で簡単にお手軽に mod_security をインストール
- CentOS 5.9
- できるだけ最新版のバージョンの mod_security を導入したい
以上の条件での記録を残します。
ポイント
- 本家で紹介されているリポジトリ RHEL/CentOS Yum Repository (Jason Litka) よりも、EPEL の方がより最新のバージョンの mod_security を CentOS へインストールできる
- ルールを設定しなくとも mod_security をインストールするだけで性能は落ちる
性能の低いサーバには入れないほうがよいという判断も充分にありえますわ。セキュリティのルールをたくさん設定しても性能は落ちるのでしょうけれども、インストールするだけで落ちますから。
「mod_security waf」で Google 検索した結果、素晴らしい参考ページを見つけることができました。
読んで感想や注目したいところをメモしておきます。
更新の躓きを解決♪「要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。…」 | oki2a24 にコメントをいただきました。
あ
2013年7月17日 17:12この記事のおかげで問題解決しました
けどこの方法でサーバーのセキュリティは大丈夫なんですかね?・・・少し不安
ありがとうございます。わたくしたちは Linux サーバについて系統だった教育を受けたこともありませんし、ましてや人に深くものを教えられるような知識も持ちあわせておりません。
ですのでこれから述べることが「誤りである」可能性は否定いたしません。そのうえで、わたくしたちの見解を記したいと思います。
順番としては、まず何が問題なのか定義し、次に問題に対してお答え申し上げます。そして最後に、その根拠を示しまして、わたくしたちの考えを記す次第です。
SSLサーバ証明書をコマンドを使ってCA認証局とやり取りしながらサーバにインストールした記録♪ | oki2a24 でインストールしました、SSL サーバ証明書をアンインストール、、、といいましても、SSL ソフトのパッケージをアンインストールするわけではございません。
どちらかといいますと、サーバの mod_ssl パッケージの設定から、導入した SSL サーバ証明書の記述を取り除いて無効化する、という表現がよいかと思います。それでは、始めます。
ポイント
- OpenSSL コマンドは自動でディレクトリを生成してくれないので、ないディレクトリは作業前に作成しておくこと!
- 秘密鍵 = 一種のパスワードだが、秘密鍵自体にさらにパスワードをかける。混乱したが、それだけ大事な情報だということ。しかしこの場合、Apaceh の再起動のたびに秘密鍵のパスワード入力を求められるため、運用方法によっては秘密鍵のパスワードを解除する方法もありうる、といいますかそのようなパターンは結構あると思います。
やりたいことや環境について
- oki2a24.com に対して、ベリサインの「テスト用無料SSLサーバ証明書」を適用したい
- oki2a24.com があるのは CentOS 5.9 で、Apache 2.x + mod_ssl + OpenSSL。ユーザは root で操作
- SSL 証明書の確認は Mac の Chrome で行う
用語の整理
- コモンネーム = SSL暗号化通信を行うサイトのURL
- 秘密鍵 = RSA PRIVATE KEY
- CSR = certificate signing request = certification request = BEGIN CERTIFICATE REQUEST 〜 END CERTIFICATE REQUEST = 証明書署名要求 = CA 認証局に送るサイト内容データ & 公開鍵データ。ひとつのファイルに両方の情報が含まれる。CA 認証局に提出する用に秘密鍵を使用してよくわからない文字列の状態で作成してくれる。
- SSLサーバ証明書 = crt = BEGIN CERTIFICATE 〜 END CERTIFICATE
登場する CentOS ファイルの整理
No | 項目 | パス |
1 | 秘密鍵 | /etc/httpd/conf/ssl.key/ssl.oki2a24.com2013.key |
2 | CSR | /etc/httpd/conf/ssl.csr/ssl.oki2a24.com2013.csr |
3 | SSL サーバ証明書 | /etc/httpd/conf/ssl.crt/ssl.oki2a24.com2013.crt |
4 | 中間 CA 証明書 | /etc/httpd/conf/ssl.crt/dvcacert.cer |
5 | SSL 設定用 conf ファイル | /etc/httpd/conf.d/ssl.conf |
No の順番にファイルを作成したり、編集したりを行っていきます。