Scribble at 2021-02-26 08:47:04 Last modified: 2021-02-26 19:15:23

Nginx is the web server powering one-third of all websites in the world. Detectify Crowdsource has detected some common Nginx misconfigurations that, if left unchecked, leave your web site vulnerable to attack. Here’s how to find some of the most common misconfigurations before an attacker exploits them.

Common Nginx misconfigurations that leave your web server open to attack

ローカルで動かしていても httpd(Apache)は、割と重たいんだよね。もちろんローカルで動かすのに不要なモジュールをことごとく削ったり、それなりのカスタマイズした httpd.conf をバージョンアップの度に伝統の浸けダレみたいに使っている。おおよそ250行ていどの httpd.conf になっていて、他には設定ファイルを読み込んでおらず、全て1ファイルに記述しているが、その半分は virtual host の設定だから、挙動に関するディレクティブは必要最低限としているため、ディフォールトの設定で動作しているはずだ。

ただ、仕事でも自宅でも20年以上は使ってきているものの、さほどパフォーマンスに不都合を感じたことはない。どちらかと言えば未熟な頃にやらかした失敗の方がパフォーマンスに重大な影響があった。たとえば、15年くらい前の話だが、1日にユニーク・アクセスが10万くらいあるサイトで、サーバは Xeon を積んだ当時は高額なプランを使い、専有の帯域が 100Mbps という、当時は月額で100万円くらいかかっていたデータセンターを利用していた。それだけのスペックがあるサーバとネットワークですら、アクセスしてきたユーザのホスト名を知りたいというスケベ根性のためだけに HostnameLookups という1個のディレクティブを "on" にしたら、ものの見事にサーバが落ちてしまった。

というわけなので、無理に Nginx を使う必要は感じていない。何度か使ってみたことはあるけれど、やはり httpd とは勝手が違うので設定ファイルの書式が分からず、最初は色々なサイトや PDF を眺めてコピペを繰り返していたのだけれど、しょせんパフォーマンスとして劇的な向上がなければ置き換える理由もないわけで、単なる興味本位では採用できない。これは何度か書いたことがあるけれど、結局のところ僕らがやってるような、それこそイージーなレベルのウェブ案件で実装してるシステムとか、構築してるサーバやらネットワークといった与件だと、僕らが技術者として色々なことをしたところで、金でパフォーマンスを劇的に向上させられる事例の方が多いのだ。(しかし、皮肉なことに昨今のコロナ禍というやつで上場企業ですらオンライン・キャンペーンやマーケティングの予算がなくなり、札束で解決するわけにもいかなくなった。とは言え、われわれ技術者に金を出したところでやれることには限度がある。「キャンペーンでユーザに送信する SMS を1通1円で送る技術」なんてないのだ。)

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook