運用ちゃんのblog

Linux・Windowsサーバー・PCの運用管理に役立つネタをご紹介します。

2014年04月

メールやブログを書くのに比べれば電話に要する時間は短くて済みます。とはいえ、その時間はゼロではありません。

経験的には、一方的な業務連絡であっても30秒はかかります。「お疲れ様です」的な決まり文句を含めての時間ですが、電話番号を調べる時間は入っていません。

お客様からの電話であれば「お名前と電話番号をお願いします」などとやるケースでは、どんなに端的な話でも2分程度は必要な感じです。

ITベンダーに問い合わせる時の時間はもっとかかります。せめてこちらから提供する情報(機械のモデル名、シリアル番号、設置場所、登録名義)はあらかじめ用意しておきたいものです。ここで探し物をするのは非常に痛いです。

幸い、ITベンダーのヘルプデスクが3コールでいきなり応対してくることはまずありません。電話につながる待ち時間は5分から10分です。あまり頭を使わない業務を進めるのにはちょうど良いです。

ディスクの空き容量がないときに、ある程度ファイルシステムから絞り出せる方法があります。

tune2fs -l /dev/sda1

このコマンドで、Reserved block count: を探します。
Linuxでは ファイルシステムの容量の 5% をカーネルのための予備領域として割り当てています。

しかし200GBのディスクの5% は10GBあります。カーネルのためにそこまで必要とは思えませんが、以下のコマンドで再設定を行い、この割り当て比率を変更できます。 以下に 5%から4% にする場合のコマンド例を掲げます。

tune2fs -m 4 /dev/sda1
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 4% (524288 blocks) 
 

データセンターや客先のSSLサーバー証明書の定期的な更新が仕事になっている人も多いことでしょう。

Apache HTTPサーバーの場合、だいたい以下の手順をとります。
  1. openssl を使ってのSSL秘密鍵およびCSR(証明書発行要求)の生成 
  2. 認証局への申請・発行
  3. SSLサーバー証明書の配置
  4. ssl.conf(サーバー証明書ファイル名を変更する場合)の修正
  5. Apacheサーバー再起動
大したことではありませんが、サーバー証明書の配置のときは、合わせて中間証明書ファイルも変更することがあります。ファイル名が変更されたら合わせて ssl.conf も修正しますので、手順を作って間違いなく行う必要があります。

ここでは一歩進めて、手順をそのままスクリプトにしてみます。秘密鍵ファイルはすでにサーバーにあるものとします。赤字で書いたところは、実際のSSLサーバー証明書のデータや配置場所に置き換えてください。
#!/bin/sh
PATH_SSL_CONF=/etc/httpd/conf.d/ssl.conf
PATH_CERT=/etc/httpd/conf/SSL2014/server.crt 
PATH_KEY=/etc/httpd/conf/SSL2014/server.key
PATH_CHAIN=/etc/httpd/conf/SSL2014/chain.crt  
cat <<__EOL__ > ${PATH_CERT}
-----BEGIN CERTIFICATE-----
(SSLサーバー証明書のデータ)
-----END CERTIFICATE-----
__EOL__
cat <<__EOL__ > ${PATH_CHAIN}
-----BEGIN CERTIFICATE-----
(中間CA証明書のデータ)
-----END CERTIFICATE-----
__EOL__
PATH_OLD_SSL_CONF=${PATH_SSL_CONF}.`date +%Y%m%d%H%M%S`
cp -p ${PATH_SSL_CONF} ${PATH_OLD_SSL_CONF}
PATH_OLD_CERT=`grep ^SSLCertificateFile ${PATH_SSL_CONF} | awk '{print $2}' | sed 's/\//\\
\\\//g'`
PATH_OLD_KEY=`grep ^SSLCertificateKeyFile ${PATH_SSL_CONF} | awk '{print $2}' | sed 's/\//
\\\\\//g'`
PATH_OLD_CHAIN=`grep ^SSLCertificateChainFile ${PATH_SSL_CONF} | awk '{print $2}' | sed 's
/\//\\\\\//g'` 
PATH_NEW_CERT=`echo ${PATH_CERT} | sed 's/\//\\\\\//g'`
PATH_NEW_KEY=`echo ${PATH_KEY} | sed 's/\//\\\\\//g'`
PATH_NEW_CHAIN=`echo ${PATH_CHAIN} | sed 's/\//\\\\\//g'`
sed -i \
        -e "s/${PATH_OLD_CERT}/${PATH_NEW_CERT}/g" \
        -e "s/${PATH_OLD_KEY}/${PATH_NEW_KEY}/g" \
        -e "s/${PATH_OLD_CHAIN}/${PATH_NEW_CHAIN}/g" \
        ${PATH_SSL_CONF}
上記ファイルをサーバーの任意の場所(/tmpでもOK)に転送して、実行すればSSLサーバー証明書・中間CA証明書の配置と、ssl.conf の修正(バックアップ付)でやってくれます。



 
 

SSLサーバー証明書と対になる秘密鍵が分からなくなったり、その前段階のCSRと対になる秘密鍵が分からなくなったりすることはあまりないかもしれません。

しかし、必要なときに確認できる方法があることは知っておいてよいと思います。

OpenSSLで作成した秘密鍵ファイルには、SSL証明書やCSRに入っている公開鍵のデータも 含まれていますのでそれを比較することで、対になっていることを確認できます。

秘密鍵ファイルの公開鍵の確認方法 

openssl rsa -modulus -noout < server.key

SSLサーバー証明書ファイルの公開鍵の確認方法

openssl x509 -modulus -noout < server.crt

CSR(証明書発行要求)ファイルの公開鍵の確認方法

openssl req -modulus -noout < server.csr

いずれも、以下のような長ったらしい16進数の文字列が出てきますが、これが一致していれば大丈夫です。細かく見なくても違うRSA公開鍵は全く違う文字列になります。

Modulus=B1A3CDC0DF334026EBDE5AD79466D40163CC3.... 省略
 

PC利用者のブラウザウィンドウが勝手に何個も開いてセキュリティの警告を出したり、ホーム画面が聞いたことない検索サイトだったりする事例はあとをたちません。

この原因として、何かのソフトをダウンロードしてインストールする際に、セットで別のソフトをインストールしてしまうことが挙げられます。アドウェアとかスパイウェアと言われます。

アンインストール方法を検索サイトで探すと、さらにスパイウェア除去ツールをダウンロードさせるよう勧めるサイトが多く出てきます。

オレオレ詐欺にかかった人に「お金が戻ってきます」と言われて、再度被害に遭う人を連想します。

懲りずにアドウェアをいれてしまう人には、
オレオレ詐欺で多重被害に逢っているのと同じ、よくよく気を付けてください
と説明するのもよいかもしれません。

このページのトップヘ