ドットインストール代表のライフハックブログ
そのApacheのモジュールは本物ですか? 2010年10月19日12:00 ツイート hiroki_iwai オフィシャルコメント by:岩井 博樹 隣部屋に隔離中のSEKI隊員曰く、 Apacheのモジュールが改ざんされたウェブサイトが確認され、結構厄介とのこと。 最近のウェブサイトの改ざんといえば、iframeやJavaScriptの挿入が主流です。これらは、目視でも確認することが可能です。そのため、grepコマンドを使った簡易チェックを実施した方も多いのではないでしょうか。また、挿入の対象ファイルは、多くの場合はコンテンツフォルダ内なので、セキュリティツールなどが改ざんを検知してくれるケースもあったかと思います。 しかし、改ざん対象がApacheのモジュールとなると、話が違います。さすがに、サーバアプリケーションのモジュールまでチェックしているウェブ管理者は少ないのではないでしょ
もう二ヶ月ほど前の話なのですが、お仕事でサイトが異常に重い(遅い)んだけど・・・という苦情が月に1〜2件ほどきていたので、重い腰を上げて本格的に調査・解析して pound と apache のチューニングを実施しました。チューニング後はサイトが重いという苦情は皆無になりました。(≧∇≦)b 今回のチューニングのキモは pound と apache をバランスよくチューニングするということでした。完全に見落としていた点でもありました。とりあえず苦情がきてた時点までの構成を図にするとこんな感じでした。 何しろ Web サーバの Load Average も CPU 負荷も高くないのでサーバ側は悪くないという思い込みが原因特定を遅らせた一番の原因。この2つの数値はとっても重要なのですが、この数値に真実の見極めを惑わされてはいけません。 以下、調査手順など備忘録的なメモ。途中かなり寄り道したり脱線
Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ
Apacheのバージョン2.2.12以降では、SNI(Server Name Indication)という、SSLプロトコルに対する拡張機能がサポートされているため、名前ベースのHTTPサイトを設定する場合と同じように名前ベースのHTTPSサイトを設定することが可能になっている。本記事では、Apacheのこの機能について紹介する。 Apache Webサーバがバージョンアップし、成熟していくに伴い、新機能の追加やバグの修正が行われてきている。そして、バージョン2.2.12で追加された機能のうち、最も重要なものはおそらく、単一IPアドレス上で複数のSSLサイトを運用できるようにするという、長らく持ち望まれていた機能だろう。 これまでは、特定のIPアドレスに対してSSL対応のWebサイトを割り当てた場合、そのサイト1つしかSSL対応のWebサイトを運用することができなかった。つまり、IPアドレ
初歩的な管理ミスで3300もの有名サイトがソースコードを盗まれる この記事。まず訳がちょっと違うかな?という箇所があるのでそこを補っておくと。 しかしコードが実動サーバに乗る段階ではそれはローカルな作業用コピーではなく、エキスポートされた完成品だから、この問題が起こる。 こう訳されてる箇所があるけど、 When code is rolled to a live server from a repository, it is supposed to be done as an export rather than as a local working copy, and hence this problem. 実働サーバにコードを載せる場合は、ローカルな作業用コピーとして取得するのではなくエクスポートするべきだ。(だが今回はローカルな作業用コピーを本番に置いているので)問題になっている。 み
発端 WordPressでパーマリンクをカスタマイズすると、下の設定を.htaccessに書くように言われる。 Using Permalinks « WordPress Codex RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]これをhttpd.confに移すと以下のように書ける(と思っていた)。 RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule . /index.php [L]Dir
今回は、Webサイトやサービスをメンテナンス中にする場合に、どのURLにアクセスしても「メインテナンス中です」の画面を出す正しいやり方を、人間にも検索エンジンにも適切にする作法を主眼に解説します。 この週末の土曜深夜~日曜早朝にかけて、データセンターの設備メインテナンスのため、Web担を含むインプレスグループのほとんどのWebサイトが、どのURLにアクセスしても「メンテ中です」という表示になっていました。 なのですが、その実装がちょっと気になったので、「正しいメンテナンス画面の出し方」を説明してみます。 ※2010-01-16 Retry-Afterを指定するHeaderの指定を修正しました(コメント参照) ※2009-06-17 RewriteCondから [NC] 条件を削除しました(コメント参照) ※2009-06-16 Retry-Afterの記述をGMTに変更しました(コメント参
第4回 Apacheセキュリティチェック、PCI DSSの場合 川島 祐樹 NTTデータ・セキュリティ株式会社 コンサルティング本部 PCI推進室 CISSP 2008/12/1 PCI DSSはペイメントカード業界だけではなく、セキュリティのチェックリストにも使える、というのがこの連載の趣旨でした。では、具体的にどのようにチェックを行っているのでしょうか。今回は身近な「Apache」を題材に、セキュリティ評価ベンダがなにをチェックしているのかを解説します(編集部) セキュリティ評価ベンダ(QSA)によるPCI DSSの訪問審査では、文書調査やインタビューのほかに、実際のOSやアプリケーションの設定を、画面上で目視確認することで、PCI DSSの要件に対応しているかどうかを調査します。今回は、QSAとして訪問審査を実施する際に確認するシステム上のポイントを、「QSAの視点」と称して、実際の
ふむふむ、mod_securityでクロスサイトスクリプティングを防ぐための方法を考えると。 Without any planning (so please forgive any omissions), I am now going to write how to produce web applications that are safe against XSS and other injection attacks. http://blog.modsecurity.org/2008/07/do-you-know-how.html UTF-8系の話が弱いなぁ。 Identify all system components other than the application itself. In a typical web application you will have at le
Venture capitalist (Grossman Ventures https://grossman.vc), Internet protector and industry creator. Founded WhiteHat Security & Bit Discovery. BJJ Black Belt. Recently Arshan Dabirsiaghi, Director of Research of Aspect Security, published a white paper entitled “Bypassing URL Authentication and Authorization with HTTP Verb Tampering”. Initially there was a lot of confusion about what exactly was
(Last Updated On: 2018年8月8日)http://www.0x000000.com/?i=567 にmod rewriteを利用した簡易WAF(Web Application Firewall)の定義例が掲載されています。同じようなアイデアをお持ちの方、既に似たような設定を使われている方も多いとは思います。 簡単なWAFですが、実用性も高いです。例えば、ヌル文字やHTML特殊文字のインジェクションは様々な攻撃で利用されます。アプリケーションで対処が忘れられがちなCOOOKIEやREFER、USER_AGENT等に特殊文字が入っていた場合にアクセスを拒否する部分だけもで導入する価値は十分にあると思います。 元ネタのサイトは英語ですが、解説付きです。 これを入れると問題となる場合もあるので、内容を理解してから利用しなければなりません。 RewriteEngine On Op
はじめに Apache HTTPサーバーのセキュリティは、少なくともLinuxやその他の適切なUnix系オペレーティングシステムで実行している限りにおいては、信頼できます。しかし、今や平凡な静的な読み取り専用Webサイトは絶滅危惧種となりました。最近では、LAMPと呼ばれる一連の技術(つまりLinux、Apache/Lighttpd、MySQL/PostgreSQL/SQLite、Python/PHP/Perl/Ruby)を使って動的Webサイトを提供するのが一般的になっています。これは進歩であるとも、ないとも言えます。 私個人は、平凡な静的HTMLの日々が好きでした。今と比べてブラウザのHTMLサポートやサイトの質に疑問が多かったとはいえ、少なくとも、エラーを吐き散らす役立たずの巨大なスクリプトを実行して私のコンピュータを過労に追い込んだり、ときには完全に固まらせてしまうことはありません
(Last Updated On: 2008年1月24日)先日Apache httpdサーバにセキュリティ脆弱性を修正したリリースが公開されました。 例えばSecuniaのApache httpd 2.2の脆弱性ページをみると先日リリースされた2.2.8で修正された脆弱性のセキュリティリスクは低く評価されています。 http://secunia.com/advisories/28046/ ここにはmod_negotiation脆弱性の記述がありません。mod_negotiationはここに掲載されているmod_proxy_ftp,mod_status,mod_proxy_balancer,mod_imagemapと違い、多くの環境でデフォルトで有効となっていると考えられるモジュールです。 Minded Security Labs: Advisory #MSA01150108 Apache
こんにちは池邉です。 今回は実験的なApacheモジュールを公開してみたいと思います。。 どういう事をするモジュールかというと、あらゆるデータを MySQL に入れておき、ファイルシステムのかわりに使ってしまうモジュールです。 以下のようなテーブルを用意します。 CREATE TABLE vfs ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, path CHAR(100) NOT NULL, type CHAR(32) DEFAULT 'text/plain' NOT NULL, content MEDIUMBLOB, created_on DATETIME NOT NULL, updated_on TIMESTAMP, UNIQUE KEY(path) ) ENGINE=InnoDB; Apache の httpd.conf
2007年7月4日 名前ベースのVirtualHostでそれぞれのSSLサーバ証明書を使う #なんだかんだしてたら、半月経ってしまった #来週になったら、ちゃんと再開 『Name-based SSL virtual hosts』 より 名前ベースのVirtualHostでSSLを使う場合、以下の方法をとれば、それぞれのVirtualHostごとの証明書を使うことができます。 ワイルドカード証明書を使うCN=*.example.com という設定の証明書を使えば、www1.example.com と www2.example.com で共通のサーバ証明書を使うことができます。 subjectAltNameを使う 証明書の subjectAltName に別名としてVirtualHostのDNS名を書いておきます。サーバにセットする証明書は1つですが、証明書内の別名をチェックすることで、「証明
JavaScriptやCSSを動的にdeflate圧縮するのではなく、あらかじめ圧縮しておいたものを配信することでサーバーのCPUリソースを節約する prototype.jsを10KBにする方法やSafari と gzip 圧縮 JavaScriptなどですでに述べられてることですが、mod_deflateでリクエストがある度にアセット(CSSやJavaScript)にdeflate圧縮をかけるのは、deflate処理が軽いからと言っても、塵も積もれば馬鹿にならない(WWWサーバーやAPサーバーに本来使って欲しいCPUリソースを蝕む)訳で、deflateしたいアセットには予めgzip圧縮してそれを配信し、サーバーのCPUリソースに優しいようにしましょう、というお話。 今回は、予めgzip圧縮するという作業を自動化するために、Railsでよく使われるデプロイツールであるCapistranoを
普通の帯域節約術としては、mod_deflateでdeflate圧縮するとか、CSSやJSファイルのHTTPレスポンスヘッダにLast-ModifiedやEtagを追加しておいて、ブラウザがHTTPリクエストヘッダにIf-Modified-SinceやIf-None-Matchを付加するようにし、コンテンツが変更されていなかったら304 Not Modifiedを返すという方法を取るかと思います。 しかし、HTTPサーバーはコンテンツの数だけ304 Not Modifiedを返さないといけないため、その分帯域を消費しますし、またCSSや画像などのパーツの304 Not Modifiedが返ってくるまで、そのパーツのレンダリングが行えないという問題があります(つまり体感速度に影響します)。 今回紹介するのはExpiresヘッダやCache-Control: max-age=31536000を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く