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

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

ブラックリストへの考察 メールのSPAMチェック DMARC、DNSBLについて

 / Linux Tips, Security Tips, セキュリティ日記, ノウハウ


昔よりも更に複雑になったと思うサーバの種類にメールシステム(smtpサーバ:MTA)がある。振り返ってみると20年くらい前はデフォルトで作ったメールサーバでもすぐにインターネット上で使えましたが、今は兎に角セキュリティが厳しいので単純な設定ではまともに動かない。ガチガチだなーと感じる。時折サーバ講義の仕事をすると一番厄介なのがメールサーバの解説。正直言って1週間勉強した程度で理解できるのは初心者程度の知識だと思う。アンチSPAMの仕組みについては年々高度になっている。油断しているとおいて行かれるので定期的に情報に目を通さなければならないが、最近の技術の中ではDMARCはさすが効果あるね!と実感できる仕組み。この機能はSMTP通信におけるなりすましを確実にブロックしてくれる。単純ななりすましなら100%ブロックできるだろう。送信サーバがスパイウェアに感染していたら駄目だと思うが、そうなっていない限り大変安全な仕組みと思う。


DMARCを使用してよかった事

以前は、時折自分のメールアドレスFromで数は多くはなかったが1年に2,3回程度送信されてくることがあったがDMARCを導入してからはピタリと止まった。更に嬉しいことに偽メールを送られた受信メールサーバからレポートがxmlで送られてくるので実態が掴める。殆どがgmailとyahooメールからのものだが、これだけ人の名前とメールアドレスを騙って送る輩がいたのだと気付かされる。つまり実際にはもっと沢山偽メールが横行していたと考えられる。もちろんDMARCを実装しているメールサーバでなければこのようなやり取りはできないが、今後必須のシステムになってきそうだと思います。特にビジネスで利用されている企業は共有ホスティングのおまけでついてくるメールは使ってはいけないと私は思います。

DMARCの導入は難しい?

メールサーバの導入になれている人なら1,2時間の学習でDMARCは導入できると思います。DKIM,SPFを入れた経験があるならすぐに理解できると思います。少しDKIM,SPFでやったような作業がつきまといますが非常に難易度の高いものではありません。作業の中にDNSのレコードを操作する箇所があるのでDNSを知らない人は大変かもしれませんがぜひチャレンジしてみてください。CentOSでやるよりもUbuntuのほうがハードルが低そうです。

DNSBLの信頼性

DNSBLシステムは世界に点在しブラックリスト情報を収集して無料で使えるメールSPAM対策サービスが幾つかある。このサービスはDNSの仕組みを利用したレピュテーションサービス(ブラックリストの判定を返す)だが運営組織が何しろ非営利な組織だから出来ては消えての繰り返し。日本ではRBL.JPという日本のスパムデータ・ベースもあったが廃止されており、現在はほとんど海外のサービスを利用するのが多くなった。厄介なのは昨今のIPアドレス汚染だ。プロバイダーの持っているIPアドレスはリサイクルされるため、過去にブラックだったIPだとかなり厄介になることがあります。というのはDNSBLやWEBのブラックQUERYサービスの中にはネットワークブロックで設定しているケースが少なからずあるからだ。そうするとホワイトなIPアドレスでもブラック扱いにされてしまう可能性が十分にありえます。誤判定の多くは過去のIP悪さが起因するのもあるけれど、このようにネットワークマスクの縛りが原因でなってしまう場合もあります。IPアドレスのご判定は殆どが申請で取り消せるようになっていますがネットワークブロックで管理している場合は無理な時もあります。その意味でサーバを借りるときは必ずIPアドレスのチェックを行うことと、IPアドレスの再割り当てができるホスティングがベストです。

SPAM対策用のmain.cfの一部抜粋

reject_rbl_client が記述されているあたりがDNSBLのサーバエントリー。お付き合いしている会社により効きすぎたり、効かなすぎたりあるため使いながら外したりして調整を行う。

共有サーバは勘違い判定の巣窟になる。

共有サーバは1台のサーバに多数のサイトが運営されるサーバですが、このサイトの中に詐欺サイトやマルウェア感染原因のサイトがあるとどうなるかご存知でしょうか?プロバイダーが認識した場合はプロバイダーから改善通知や停止を言われますが、実際のところ運営者も気づいていないものもかなりあると思います。私も自分のお客様で幾つかこの様な例を経験しましたが、結論はGoogleやYahooの検索結果に出てこなくなりました。イメージ的にはGoogleのインデックスには残っているのでしょうが、一時的にマスクされているように思えます。ブラック発見は無料のbaraccudacntral.orgのサービスでチェックし、その後別のプライベートホスティングに移設しDNSを切り替えたところ5分で検索結果にTOP5で表示されるようになりました。この経験でGoogleが如何に様々な詐欺行為のサイトを抑え込むチェックを行ってるかがわかりました。ビジネスで本気勝負をかけて集客、販売する会社は共有サーバ使ってはいけませんね。

備忘録:Linux Firewall(iptablesの典型的パターン集)

 / Linux Tips, Security Tips, トピックス, ノウハウ


CentOS7からiptablesからfirewalldにデフォルトfirewallが変わっていますが、実際のところFirewalldの中身はiptablesなので操作体系が変わっただけなんだけどね。個人的には長く使ってきたiptablesが好きなので相変わらずCentOS7の導入後はiptablesに切り替えています。それに今までの蓄積してきたスクリプトなども活用できるのでiptablesでいいんじゃないと思っています。ルールを記述するにも毎度忘れてしまうためメモとして残します。


Firewalldからiptablesへ切り替え

デフォルトポリシー

iptablesのルール保存

iptablesのルールフラッシュ

iptablesの行番号表示

iptablesの行番号削除

iptablesの行番号挿入

特定のIPアドレス拒否

特定のネットワークのみSSH許可

全てのSSH許可

マルチプルプロトコル許可

単一プロトコル許可

ループバックアドレスの許可

MySQLサーバの許可

DoS攻撃のブロック

外部からのPing許可

SSL WEBサーバのロードバランシング

強制的なSYNパケットチェック

XMASパケットチェック

NULLパケットのDROP

IPスプーフィングのDROP

スプーフィングを停止する雛形シェルスクリプトダウンロード

カーネルのおすすめ設定変更

/etc/sysctl.confへ書き込んでsysctl -pを実行

SELinuxを有効のままでWEBデフォルトフォルダ以外のデータ更新を許可

 / Linux Tips, Security Tips, セキュリティ日記, テクニカル, ノウハウ


まっさらのLinuxに新規の場所へWEBのドキュメントルートを作りApacheを起動させると、よくエラーが生じることがあると思います。あるいはWORDPRESSのバージョンアップが出来ないとかフレームワークの更新ができないとか似たようなエラーを体験された方は多いのではないでしょうか。これは概ねお察しの通りSELinuxが有効になっているため起きているのですが、よくある処置はSElinuxをOFFにすることを勧めているケースが殆どです。しかし、SELinuxはセキュリティを高めるための仕組みですから有効のままで使いたいですよね!ということで、そのような場合の設定方法をご紹介いたします。

Apache HTTP Server が使うフォルダーを新規で設定する場合

デフォルトでは/var/www/htmlのみWEBフォルダーとして許可されているので任意の場所にドキュメントルートを設置するなら下記のように指定を行ってください。その後にApacheサーバを再起動すると動作する可能性が高いと思います。

ApacheにおけるSSL設定品質の肝。SSLCipherSuite及びSSLProtocol (POODLE対策)

 / Linux Tips, Security Tips, セキュリティ日記, テクニカル


今はGoogleのオールSSL化の推進によりかなりサイトがSSL接続仕様に変わってきた。しかし、実際のところそれで安心してはならない。SSLの設定のさじ加減というか塩梅によってはダメダメなケースもあるのです。その中でも一番肝と思うディレクティブ設定に以下のパラメータ設定がある。


暗号化通信の方式と暗号化アルゴリズムの選択

下記の設定はタイトルを表す通りの設定を行うApacheのディレクティブです。

  • SSLProtocol
  • SSLCipherSuite

脆弱性のある通信方式

SSLの通信方式には2014年10月に判明したSSL3.0およびTLS 1.0 / TLS 1.1の脆弱性があります。これを「POODLE」という名前で呼んでいます。 もともと、Googleの研究チームがSSLの解析を行い、2014年10月14日に、SSL3.0に関する脆弱性について重大なレポートを行ったのがきっかけです。POODLEは「POODLE(Padding Oracle On Downgraded Legacy Encryption)」の略称でSSL 3.0を有効にしているサーバに問題があると報告していましたが、その後TLS 1.0 / TLS 1.1の一部も問題ありと追加で報告されました。故にApacheでSSLを設定する際にデフォルトで設定していると脆弱性のある通信方式を許容するためセキュリティホールができてしまうのです。つまり、この対策は危険なプロトコルスィートを抑え込む設定が必要となります。

Apacheで行うべき設定

下記は、デフォルトではコメントアウトか、設定がないかもしれません。SSLのコンフィグ設定で追記して登録してください。危険ということで完全な抑え込みの設定をしてしまうと古いブラウザが対応できない場合があるためSSLProtocolの「-TLSV1」を入れるか、入れないかは正にさじ加減かなと思います。

設定後にテストを行う

設定ができたら評価をおこなってください。評価でA+取れるようにがんばってください。今はSNS等も評価がBレベルだとデベロッパーサイトでAPI登録を受け付けてくれないようになってきています。またGoogleもある一定期間の後にSSLの設定レベルの判別を明確にしてゆく話もありますので暗号化スィートの設定は非常に大事です。SEO的に大きな影響をもたらすので今後はApache要の設定となるでしょう。

SSLの設定レベルの品質評価

Let’s EncryptでSSL無料証明書を使ってみる

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


世の中では7月24日のChrome68の驚異に向かってSSL化へ着実にサイトを切り替えるところが多くなっています。でもサイトを沢山持っているところはかなりのお金の負担になりますね。どうするんだろう?と思ってたらLet’s EncryptでSSL無料証明書が作れるんだね。でも3ヶ月更新のようです。

色々と今後このまま続くと思えないが当座は目下SSL化を目論んでいるGoogleにしてもこの証明書は短期的に見ればまともなサイトの救済策になるのであったほうが良い。長期的には排除か順位評価を低くするというシナリオは見えてくる。個人的には、テストサイトでは十分利用価値があるとは思っています。特に今はドメインのワイルドカード証明書も作れるようだからプロトタイプサイトでホスト名だけ変更して、テストドメインは同じで使えば作業工数が減りますね。

使わないであれこれ言うよりは、まずは使ってみるというのは大事だね。ということで使ってみましたので、その備忘録を残したいと思います。


Let’s Encryptシステムのインストール方法

ドメインはtest.serve.netと仮定してやってみました。必ずそのサイトが稼働しているサイトで作業を行う必然性があります。作業する際にそのドメインのドキュメントルート配下にもコマンド実行時に細工が入るらしいので必ず稼働しているドメインである必要があるのです。インストールする場所はどこでも良いのだけど外部ツールの導入は大体が/usr/localもしくは/optなので今回は/optで行ってみたいと思います。

ドキュメントルートに処理と認証を行い、対象ドメイン用の証明書群を作る。

certbot-autoコマンドは-wでドキュメントルートを指定し、-d で対象ホスト名(fqdn)、–emailで更新通知メルアドを指定します。

証明書は/etc/letsencrypt/live/test.serve.netのフォルダーに作成されます。

※通常はcert.pem,chain.pem,privkey.pemがあれば十分。

WEBサーバの再起動を行う

以下を実施すればhttpsでアクセスが行なえます。

使ってみた感想

Let’s EncryptはPCだけではなくてスマホから使っても全く問題はなかった。短期的にはオールhttps化の回避策にはなるだろうと思うが、これはネットワーク機器用や実験用に使うべきと思います。恒久的に使ってはいけません。理由は認証が自動で所有者の正当な認証がされないSSL発行は危険だし、実際事件が起きているようなのでGoogleが恒久的には到底許すと思えない。ある程度の猶予期間や混沌とする検索エンジン世界の次のどうあるべきかが見えてきた段階で消滅するか限定的な使い方に変化するだろうと予測する。

ライセンス更新処理

放おって置くと3ヶ月でライセンスが止まるため、更新処理が定期的に必要です。更新が成功したらWEBサーバを再起動してください。

TOPへ戻る

AGA 成長因子