ネット上のアクセスボリュームをUPさせ効率の良い集客をご提案します。

カテゴリー「Linux Tips」の記事

WEBコンテンツホルダーを/var/www以外の場所にするとエラー

 / Linux Tips, Security Tips, テクニカル, トピックス, ノウハウ


もうご存知の方は沢山いると思いますが、Linuxのインストール直後はSELinuxが有効になっており、デフォルト以外のフォルダーを使用するとエラーが生じたりします。



SELinux 実行中のシステム上では、すべてのプロセスとファイルにセキュリティー関連の情報を表示するラベルが付けられようにできています。尚この情報は、SELinux コンテキストと呼ばれており使用するプロセス(アプリケーション)により様々なものが用意されています。ファイルに関しては、ls -Z コマンドでこれを確認表示することができます。



一番多い例は、WEBのドキュメントフォルダーを変更して使う場合が多いと思います。例えば/var/wwwがデフォルトではWEB基準フォルダーですが、/opt/wwwにしようとしたら エラーが発生して起動できないという事が起こります。



ここでよくある対処方法はSELinuxをOFFにするというケースです。確かにOFFにすることでエラーが出なくなりますが折角のSELinuxによるセキュリティ強化がこれでは台無しですのでこの投稿記事では 正規の変更の仕方について説明していきたいと思います。

現在のコンテキストのステートを確認する

以上のコンテキストが付与されている事がわかりましたね。では移動先の/opt/wwwはコンテキストがどうなっているか確認してみましょう。

それではどうやって同じフラグにしたらよいかという話ですが、これは単純で/var/wwwのコンテキストを真似して新しいフォルダーへ付与するだけの事です。コンテキストを変更するのは”chcon”というコマンドを使用します。

※-Rは再帰的処理でコンテキストを付与することを意味します。

これで共通のコンテキストになりました。コンテンツを配置してWEBサーバの再起動を行うとエラーがもう出ないはずです。

WEBからメール送信(SMTP)する際に「permission denied」が出たときの対処

 / Linux Tips, Security Tips, Wordpress, wordpressセキュリティ, wordpressテクニカル, テクニカル, トピックス, ノウハウ


ホームページからメールを送信する仕組みを作る場合、専用サーバで構築するとよくありがちなissueは、「permission denied」が出ること。つまりsmtp送信非許可ということなのですが、通常このようなエラーはsmtpプロトコルでは発生しません。これがでたらセキュリティの何かに引っかかる問題があるということが推測できたら正解です。ずばりインストール直後のLinuxはSELINUXが有効になっているはずで、望ましいのはこれを有効にしたまま許可を出す設定をする事です。SELINUXではWEBサーバからメールを送信する処理に制限がデフォルト値OFFで入っています。

例えばWORDPRESSやフレームワークで送信用プラグインを導入しコンタクトフォームを作ろうと思った時に直接のローカルサーバのSMTPではなく外部のメール送信サーバを使うような場合はこの問題に遭遇するかもしれません。


エラーの例

ターミナルからrootで下記を実行しOFF設定になっていたらONになるようフラグを立ててください。

以上で再度試行して頂ければ動作するはずです。めでたしめでたし!

SSL化対応-サーバーの起動

 / Linux Tips, SEO関連, テクニカル, ノウハウ


SSL化の設定が完了したら、WEBサーバの再起動を行います。

古いOS起動方法



新しいOS起動方法

SSL化対応-証明書をWEBサーバに埋め込む

 / Linux Tips, SEO関連, テクニカル, ノウハウ


色々なWEBサーバにより指定方法が異なりますが一般的であるApache Webサーバを例にとって説明していきたいと思います。

現在Linuxサーバで使われているApacheのバージョンは概ね2種類の系統がありバージョン2.2系とバージョン2.4系になりますが、バージョンにより設定が若干異なります。

サーバ証明書とサーバーキー(秘密鍵)の設定

まず最初にApache2.2系での設定を見ていこう。


Apache2.2 ssl.confで重要なディレクティブ)

NameVirtualhost *:443
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSV1
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLCertificateFile SSL証明書発行局から頂いているサーバ証明書ファイルのパス
SSLCertificateKeyFile SSL証明書を発行局に申請するCSRファイルを生成する段階で使った秘密鍵ファイル
SSLCertificateChainFile SSL証明書発行局から頂いている中間証明書


Apache2.4 ssl.confで重要なディレクティブ)

Apache2.4からNameVirtualHostは必要でなくなりました。

LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSV1
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLCertificateFile
SSLCertificateFile SSL証明書発行局から頂いているサーバ証明書ファイルのパス
SSLCertificateKeyFile SSL証明書を発行局に申請するCSRファイルを生成する段階で使った秘密鍵ファイル

Apache 2.4.8以降をご利用の方

Apache 2.4.8 から中間CA証明書を指定するSSLCertificateChainFile ディレクティブが廃止されたので設定ファイルはコメントのままにしておきましょう。
中間CA証明書、クロスルート証明書の類はサーバ証明書とその他の証明書ファイルマージしてください。そのうえでSSLCertificateFileディレクティブにそのファイルを指定してください。

<<マージの例>>

SSL化対応-証明書の受け取り

 / Linux Tips, SEO関連, テクニカル, ノウハウ


SSL証明書の申請が受理される途中段階で発行局により指示がでます。承認方法は何種類か存在します。つまり本人確認を証明するための手段が何種類か存在しその中の何れかを選択あるいは、発行局が指示して承認処理が進みます。

幾つかの承認方法

  • メール確認。whoisに登録されたドメインオーナのメールアドレス、又はどのドメインにもありがちな典型的なメールアドレスに確認用のURLが送られ、そのリンクを踏むと承認される

  • ファイル法。メールアドレスで送られてきた暗号コードが入った内容のファイルを指定フォルダーのファイル設置で発行局が確認し承認が行われる
  • ドメイン法。メールアドレスに送られてきたコードをドメインのTXTレコードに記述することで発行局が確認し承認が行われる

※尚、申請情報に問題があれば上記承認前に却下の通知がメールで届きます。

承認後の流れ

  • メールにアーカイブで証明書類が添付される(概ねZIPファイルで添付かメールテキストラインに暗号化コードが貼り付けられているのを人のファイルに保存)
  • 添付は基本、サーバ証明書、CA発行局のチェーンファイル、CA発行局の証明書が添付されている。チェーンファイルがない場合もある
  • ブラウザに該当の発行局の証明書が存在しない場合はCA発行局の証明書を手動でインストールする必要がある場合が稀に発生する。
  • WEBサーバのサーバ設定ファイル(仮想サーバ設定も含む)に一致するサーバ証明書や発行局の証明ファイルを埋め込んで再起動できるように配置する。

TOPへ戻る