概要 websocketを使ったAPサーバをmodproxyでバランシングしたいっ! そうなるとapache2.4.5以降か、nginxか。 調べてみました。 今回はapache2.4.12。CentOSでのお話。 apache2.4.12 nginx
久々にBasic認証をつけようとしたらやり方が全くわからなくなってたことに気づいたのでメモしておきます。 簡単なレシピ .htaccessファイルを作る .htaccess用のパスワード作成ツール(ここやここなど)で.htpasswdファイルを作る 1と2をアップする。パーミッションは604 。 AuthUserfile /フルパス/.htpasswd AuthGroupfile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user もっとくわしく AuthUserfile /フルパス/.htpasswd サーバーのルートディレクトリからの.htpasswdへのパスを指定する。/usr/local/...とか/home/pass/...とかそういうの。 AuthGro
wordpress 動かしてるサーバで次のように書いてみたら動かなかった。 ログを見るに RewriteCond がうまくマッチしてくれない。 <VirtualHost *:80> DocumentRoot /var/www/wordpress DirectoryIndex index.php Options -Indexes <IfModule mod_rewrite.c> RewriteEngine On #RewriteLog /tmp/rewrite.log #RewriteLogLevel 9 RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> <
導入 CentOS 7の公式Yumリポジトリから提供されているApacheで動作を確認しています。それ以外のOSでは、設定ファイルが置かれている場所 (英語) やドキュメントルートの初期値が異なる場合があるのでご注意ください。 Apache設定ファイル (*.conf) のシンタックスハイライト CentOS標準のYumリポジトリで提供されているテキストエディタのうちVim・Emacs以外のエディタは、初期状態で.confファイルのシンタックスハイライトが機能しません。以下のように設定ファイルの編集などを行い、シンタックスハイライトを有効にします。 gedit Bug 612368 – Language definition for Apache configuration filesで公開されているファイルを利用します。 # Apache設定ファイル用の言語設定ファイルをダウンロード w
概要 Apache の設定について共通化できるセキュリティ設定とその各項目についてまとめた。 設定例 必須設定 cat << _EOF_ > /etc/httpd/conf.d/security.conf # バージョン情報の隠蔽 ServerTokens Prod Header unset "X-Powered-By" # httpoxy 対策 RequestHeader unset Proxy # クリックジャッキング対策 Header append X-Frame-Options SAMEORIGIN # XSS対策 Header set X-XSS-Protection "1; mode=block" Header set X-Content-Type-Options nosniff # XST対策 TraceEnable Off <Directory /var/www/html>
認証を使うようなサービスは、SSLを用いてセキュアな通信をしたい。 Flask自身が持ってるwebサーバでは、SSLが使えないので、 apacheやwsgiの力を借りる必要がある。 まず、オレオレ証明書を作る。 $ openssl genrsa -aes128 1024 > server.key $ openssl req -new -key server.key > server.csr $ openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt とこんな感じで作れる。 作成したものは、それぞれ server.key :秘密鍵 server.csr :公開鍵 server.crt :デジタル証明書 である。 apacheの設定は、SSLの方は、 LoadModule ssl_module mo
問題 CacheLock On にしたら、いいことあるんですか? 答え キャッシュを有効にしているとき、キャッシュ作成中や、キャッシュ有効期限切れでキャッシュを再作成する必要があるタイミングで問題が発生する可能性があります。 キャッシュがまだないコンテンツ、キャッシュの有効期限切れのコンテンツにリクエストがあると、キャッシュが作成されますが、そのキャッシュ作成中にさらに立て続けにリクエストがあると、バックエンドに対して複数のリクエストが届いてしまうという問題が発生します。 その対策として、キャッシュを作成中であることを示すロックファイルを使って、後続のリクエストがバックエンドにアクセスするのを防ぐようにすることができます。 CacheLock の設定は、Apacheの設定ファイルでは、以下の3つで制御します。 CacheLock [ On | Off ] CacheLockMaxAge [
WAF(Web Application Wirewall) ファイアウォールというと通常、ルータやL2スイッチの機能として普及しているのが一般的な用に感じるが、 今回のWAFというものは文字通りアプリケーションレベルでファイアウォールを実装したものである。 これにはApacheの拡張モジュールであるmod_security2というものを用いる。 これを用いることによってApacheにより柔軟にアクセス制限を設定できる。 GET, POSTパラメータに関して特定の文字列を検知し制限をかけることもできるため、PHPなどの言語によるバリデーションとケースバイケースで併用すると、より良い効果が望まれると思われる。 ログに関しても、アクセスログなどと同様にして保存されるため、非常に便利な機能の一つだと感じる。 使用法としてはごく単純であり、まずモジュールをロードする記述と、WAFとして機能させるため
Apacheのmod_securityについてだいぶ前に検証しました。 ご参考まで。 環境:RedHat Enterprise Linux ES3.0 Apacheバージョン:httpd-2.0.46-44.ent 1. mod_security の最新版を下記よりダウンロードします。 http://www.modsecurity.org/download/index.html 2. tarを展開します。 [root@www zzz]# tar -xvzf modsecurity-1.8.7.tar.gz 3. 展開してできた apache もしくは apache2 ディレクトリに移動します。 (Apacheのバージョンが1.x系か2.x系かによって使用するモジュールが異なる点にご注意下さい。) 4. Apache の apxs を使用して mod_security.so を作成し
アクセスログに変なURLが書かれることありません? 普通アクセスログのアクセスされたページの表示は GET /inidex.php とか GET /wp/img/hoge.jpg など頭に/がつく。 ルートディレクトリを表しているからね。 謎のURL でもたまに GET http://www.google.com/ のように/がついていないログがあるわけだ。 それは404でエラーになっているんだけれど、なんでこんなログが残るのか調べてみたら どうやらプロキシサーバーとして使えるかどうか、第三者が調べているらしい。 プロキシサーバーとしてこのサーバーを指定して、 適当なサイトにアクセスしてみると ApacheのアクセスログにURLだけの謎のログが残っていた。 このサーバーはプロキシサーバーとして使われていないし、 不要なポートも閉じているし、 別段心配する必要はなさそうだ。 サーバーを公開し
自分用メモ。 Apacheでmod_rewriteしてリバースプロキシをする際にハマった。 mod_rewriteの引数である[P]は、評価結果をmod_proxyに渡してくれる。 つまり[P]を付けただけではリバースプロキシをしてくれるわけではない。 以下、mod_rewriteしてリバースプロキシをさせた際のサンプル。 LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so # ログ出力 RewriteLog C:/Apache2/logs/rewrite.log RewriteLogLevel 9 <IfModule mod_rewrite.c>
こんにちは、ITエンジニアのKomuraです。 ウェブサーバーにApache HTTPDを採用している環境、まだまだ多いですよね。このApache HTTPDですが、インストールはRPM等のパッケージからコマンド一発で完了しますので、導入の敷居は低くなっています。ただ、インストールして簡単に動作してしまうことから本来、インストール後に必要なセキュリティ設定がなおざりになっているウェブサーバーを良く見受けます。 セキュリティホールやウェブサイトへの攻撃を考えると、Apache HTTPDの基本的なセキュリティ設定は必須になっています。今回の記事では、Apache HTTPDを利用したウェブサーバー環境をもう一度見直して、基本的なセキュリティ設定を確認する手順について説明します。 本内容は、監査法人などが実施するセキュリティ脆弱性チェックの対策としても有効な情報ですので、セキュリティチェックを
Apacheの機能で利用できるメソッドを制限してみました。 ■環境図 ■説明 Apacheの機能でHTTPメソッドを制限するディレクティブがあったので検証してみました。 ここでは、以下のディレクティブの「2」を利用します。 ・ディレクティブ 1. Limit 「Limit」でメソッドを記述すると記述されたものにしか制限がかけられません。 # 許可しないものだけを定義するブラックリスト方式のような感じだと勝手に思っています :-) 2. LimitExcept 「LimitExcept」でメソッドを記述すると記述されたもの以外に制限がかかります。 # 許可するものだけを定義するホワイトリスト方式のような感じだと勝手に思っています :-) 上記のディレクティブで制限ができるメソッドは以下の通りです。 ・制限できるディレクティブ GET POST PUT DELETE CONNECT OPTIO
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く