OpenSSL Heartbleed 脆弱性対策 (CVE-2014-0160)

つい先日明らかにされたセキュリティアラート:
CVE-2014-0160 OpenSSL Heartbleed 脆弱性に関する対策実施について

原文(英文)はこちら
Heartbleed Bug
http://heartbleed.com/

OpenSSLプロジェクトによる Security Advisory [07 Apr 2014]
https://www.openssl.org/news/secadv_20140407.txt

脆弱性診断サービス・タイガーチームによる参考情報
http://www.tiger1997.jp/report/activity/securityreport_20140410.html

JPCERTによる参考情報
https://www.jpcert.or.jp/at/2014/at140013.html

Symantec VeriSignによる参考情報
https://knowledge.verisign.co.jp/support/ssl-certificates-support/index?vproductcat=V_C_S&vdomain=VERISIGN.JP&page=content&id=AD835&locale=ja_JP&redirected=true

本件の問題点と対策は以下の通りです。
続きを読む

phpPgAdminのインストールとロールの設定

PostgreSQLデータベースのWebインターフェースとしては、今のところphpPgAdminくらいしか思いつきません。これ一択だと思います。

ところで、これを使う場合に、特権のないロール(ユーザー)を作ってそのユーザーでログインしたとき、そのユーザーが所有者でないデータベースも見えてしまう、ということでお困りではないでしょうか?

■ phpPgAdmin インストール

(1) インストール

yum --enablerepo=epel install phpPgAdmin

(2) 基本設定

/etc/httpd/conf.d/phpPgAdmin.conf

...
 <Directory ....>
   order deny,allow
   deny from all
   allow from 127.0.0.1
   allow from all   .... これを追加
</Directory>

これで普通に使えますが…
特権のないユーザーにも特権DBが見えてしまいますので以下の設定をします。

(3) Tips

/etc/phpPgAdmin/config.inc.php

...
// そのユーザーが所有者のDBしか見せなくする
//      $conf['owned_only'] = false;
        $conf['owned_only'] = true;
...

Apache Workerモードで接続数アップ

Apache 2.2系の動作モードについて書きます。

■ Prefork と Worker

Apache 2.2系には動作モードが2種類あります。
Apache にはマルチプロセッシングモジュール(MPM)というものがあって、これを切り替えることで動作モードを切り替えます。

MPM には Prefork と Worker があります。

Preforkモード

これがデフォルト。
マルチプロセス、シングルスレッドモードです。
1接続=1プロセスです。
1人の1アクセスがサーバー上でApacheプロセスを1つ起動します。
もう1回アクセスすると別のApacheプロセスをもう1つ起動します。

Workerモード

マルチプロセス、マルチスレッドモードです。
1接続=1スレッドです。
1プロセスのスレッド数は ThreadsPerChild(デフォルト 25)で指定します。
1人の1アクセスがサーバー上のApacheプロセス内のスレッドを1つ起動します。
もう1回アクセスすると同Apacheプロセスのスレッド上限に余裕があればスレッドをもう1つ起動します。
こちらのほうが圧倒的にメモリ消費は少なくレスポンスのスピードが速いです。
続きを読む

最低価格保証

2014年、ベリーキュートはサーバー管理・保守代行業として日本一安い!を実践、敢行することに致しました。

対象サービスは、以下のカテゴリのほぼ全般(コンサルティング、レクチャーとお見積作業以外)の予め価格とサービス内容が決まったサービス・プランの全てです。

・サーバー初期構築/各種設定代行(インストール・初期設定代行のスポット契約)
・サーバーマネージメント(管理・保守代行・死活監視・障害対応を含む期間契約)

『同等のサービス』を『より安い価格』で提供する他業者を見つけた場合、それを客観的に証明できる形で提示して頂きますと、提示して頂いたお客様に対しては必ずその価格以下に値下げして提供することをお約束します。
当該業者のホームページ上の価格表やチラシ・広告等(但しキャンペーン以外の通常価格)をご提示ください。

他社の作業代行費用調査

【 2013/11/07 現在の調査です 】

「専用サーバー」でGoogle検索

───────────────────────────────────

■さくらインターネット

───────────────────────────────────

◆障害復旧(サーバー死活監視)
http://server.sakura.ad.jp/function/recovery.html

ICMP、HTTP、HTTPS、FTP、SSH、SMTP、POP3、IMAPを監視し、障害を検知した場合、
手順書に従ってさくらインターネットがサーバの復旧作業を行います。

初期費用    21,000円
月額料金    21,000円

◆ソフトウェアインストール・作業代行
http://server.sakura.ad.jp/function/alternate-install.html

Apache  インストール        10,500円
Apache  モジュール追加       5,250円
        ・mod_ssl   ※SSLサーバ証明書は含まれません。
        ・mod_perl
        ・mod_python

PHP5    インストール        10,500円
PHP5    モジュール追加       5,250円
        ・php-gd
        ・php-imap
        ・php-ldap
        ・php-mysql
        ・php-pgsql
        ・php-snmp

Postfix インストール        15,750円
Dovecot インストール        10,500円

MySQL   インストール        10,500円
PostgreSQL  インストール    10,500円

Apache  バーチャルホスト設定(3ドメインまで)    5,250円
Postfix バーチャルホスト設定(1ドメインまで)   10,500円
        (10件までのアカウント追加を含みます)
ユーザアカウントの追加・変更・削除(10アカウントまで)  5,250円
メール転送の設定・変更・削除(10アカウントまで)    5,250円

続きを読む

Apache 同一IPからの同時複数接続制限

Apacheに対してダウンローダーなどで同時に複数接続してくる数を制限する設定について書きます。

同一IPからのApacheの接続を制限する拡張モジュール mod_limitipconn を使います。

■ mod_limitipconn インストール

(1) インストール

# yum install mod_limitipconn

(2) 設定

/etc/httpd/conf.d/limitipconn.conf


LoadModule limitipconn_module modules/mod_limitipconn.so

ExtendedStatus On

<IfModule mod_limitipconn.c>
    MaxConnPerIP 5
</IfModule>

※上記の例では、同一IPから同時には5接続まで許可します。

※サーバーへのアクセスは人単位では識別できず、接続元IPアドレスでしか識別できないことに注意が必要です。同じ地域に住む同じインターネット接続プロバイダのアクセスポイントを利用する複数の人々を1と数えるので、同一IPから1接続などあまり少ない接続数で制限すると問題です。せめて3~5以上にする必要があると思われます。

Tomcat 7 インストールと設定

CentOS/RHELに Tomcat 7 を yum でインストールする方法と、初期設定、デプロイの方法を書きます。

■ yum リポジトリ追加

準備として yum-priorities が必要

# yum install yum-priorities

yum リポジトリは JPackage

http://www.jpackage.org/
http://www.jpackage.org/browser/rpm.php?jppversion=6.0&id=13826

# rpm -Uvh http://mirrors.dotsrc.org/jpackage/6.0/generic/free/RPMS/jpackage-release-6-3.jpp6.noarch.rpm

続きを読む

gcc/C言語コンパイル環境インストール

大抵のレンタルサーバーには最初からC言語コンパイル環境(gccやlib)はインストールされていますが、VPSなどに自分でOSをインストールすると、そのときのパッケージの選択によってはgcc等の開発環境がインストールされない場合もあります。

■ gcc/C言語コンパイル環境インストール

# yum install make gcc gcc-c++

これだけです。

Webサイトのアクセス数増加と必要メモリ

Webサイトのアクセス数が増加するのは単純に嬉しいものです。
商用サイトなら売り上げに関わってきますのである程度の認知度とアクセス数は必要不可欠と言えます。
アフェリエイト目的(広告収入目的)のサイトは特にアクセス数増加が収入に比例してくるので何が何でも増やしたいところでしょう。

ところで、Webサイトのアクセス数と、それに耐えうるサーバーのスペックについて、一般の方々はどれくらいの認識を持っているでしょうか?

大抵の人は、とても夢見がちです。

よくあるレンタルサーバー(専用サーバーじゃなく、root権限のないサーバー、他のユーザーと同居の共用サーバー)を使用していて、「あなたのホームページはサーバーに負荷をかけるから」ということで上位プランへ変更のお願いや、やんわりと出て行ってくれるように勧告を受けた人が、次にVPSや専用サーバーに移るとき、10万ページビューとか、ゆくゆくは100万ページビューなんてことを考えている場合があります。
専用サーバーで1ユーザーで独占使用になるのだから、最低クラスよりちょっと上のクラスを借りておけば大丈夫かな、なんて思うようです。

ところが現実は厳しいです。

Webサイトのアクセス数増加に耐えられるサーバーとして考えるべき点は、大きく3つ、メモリとCPUとディスクの速さがあります。
今回はメモリについて書きます。

■ Webサイトのアクセス数と消費メモリ

まず必要なメモリの問題があります。
これは単純でわかりやすい話です。
続きを読む

DNSラウンドロビンで負荷分散

複数のサーバーに同じコンテンツを置いて、DNSラウンドロビンで負荷分散する方法について書きます。

複数のサーバーに同じコンテンツを置くには、それぞれのサーバーにFTPでアップロードするか、なんらかの方法で同期させます。
lsyncd + rsyncd を使って自動同期させる方法もあります。別の投稿で書いていますので参考にしてください。

■ DNSラウンドロビン

DNSラウンドロビンとは、非常に単純な方法です。

設定としては、DNSサーバーあるいはレンタルDNSのゾーン設定において、1つのホスト名のゾーンタイプ A (IPアドレスの指定)を複数行設定し、1つのホスト名に複数のIPアドレスを割り付けます。

これだけです。

例)

domain.com.zone


...
...

www 	IN	A	111.111.111.111
www 	IN	A	111.111.111.222
www 	IN	A	111.111.111.333

A を複数設定しておくと、DNS正引きに対して設定されたIPアドレスのいずれかが返されます。

この例で、http://www.domain.com へのアクセスは、ときに 111.111.111.111、またときには 111.111.111.222 または 111.111.111.333 のサーバーへのアクセスになります。
完全にではありませんが、まあまあ、おおよそ均等にアクセスされると期待できますので負荷分散になります。

続きを読む