Skip to main content

DKIM認証を導入してみた

DKIM認証とは

DKIM_fig1
Source: DKIM (Domainkeys Identified Mail) : 迷惑メール対策委員会

Domainkeys Identified Mail (DKIM) の略で簡単に説明すると
サーバ間でメールの不正、改竄を検査する仕組みです。

メール送信時にサーバにて電子署名を付与し、
受信側のサーバでDNSのレコードに登録されている公開鍵と電子署名を照合して認証を行います。

続きを読む

Docker コンテナ管理

Dockerでコンテナ管理するためのコマンド群です。

コンテナ一覧表示

起動中のコンテナ一覧を表示します。

[root@docker ~]# docker ps

停止中のコンテナも表示する場合は「-a」をつけると表示されます。

[root@docker ~]# docker ps -a

コンテナ起動

イメージからコンテナを作成し、起動させます。
コマンドを実行すると

[root@docker ~]# docker run -dit --name="{コンテナ名}" {イメージ名}:{タグ名}

また、下記のオプションを付けることにより様々な動作が指定できます。

-d
バックグラウンドでコンテナを動作させる際に指定します。
-it
/bin/bashなどでコンテナーを操作する際に指定します。
-h {ホスト名}
コンテナのホスト名を指定します。
–name=”{コンテナ名}”
コンテナにユニークな名前を指定します。
-p {ホストのポート番号}:{コンテナのポート番号}
ホストとコンテナのポートフォワーディングを指定します。
複数指定する際は、「-p {ホストのポート番号}:{コンテナのポート番号} -p {ホストのポート番号}:{コンテナのポート番号}」と複数設定。
-e {環境変数名}={値} {環境変数名}={値}
コンテナの環境変数を指定します。
-v {ホストディレクトリ}:{コンテナディレクトリ}
ホストのストレージをマウントします。
複数指定する際は、「-v {ホストディレクトリ}:{コンテナディレクトリ} -v {ホストディレクトリ}:{コンテナディレクトリ}」と複数設定。

コンテナの中へアクセス

コンテナのbashへアクセスできます。

[root@docker ~]# docker exec -it {コンテナ名|コンテナID} /bin/bash

コンテナからホストへファイルコピー

現状コンテナからホストへのコピーはできますが、その逆はできないようです。

[root@docker ~]# docker cp {コンテナ名|コンテナID}:{コンテナのファイル} {ホストのファイル}

コンテナの起動

[root@docker ~]# docker start {コンテナ名|コンテナID}

コンテナの停止

[root@docker ~]# docker stop {コンテナ名|コンテナID}

コンテナの削除

[root@docker ~]# docker rm {コンテナ名|コンテナID}

Docker イメージ管理

Dockerでイメージ管理するためのコマンド群です。

イメージ検索

Docker Hubからイメージを検索します。

[root@docker ~]# docker search centos

上記のコマンドではイメージ名しか取得できないためタグ名がほしい時は下記のコマンドで取得。

[root@docker]# curl https://registry.hub.docker.com/v1/repositories/centos/tags | python -mjson.tool 

イメージ取得

Docker Hubからイメージを取得します。
[イメージ名]:[タグ名]となっていて例ではcentosのlatest(最新バージョン)を取得しています。

[root@docker ~]# docker pull centos:latest

イメージ確認

サーバ内に保存されているイメージを確認できます。

[root@docker ~]# docker images

イメージ削除

サーバ内に保存されているイメージを削除します。

[root@docker ~]# docker rmi centos:latest

Docker v1.8.2 インストール

CentOS7でDockerの最新バージョンをインストールしてみます。(執筆時の最新バージョンはv1.8.2)

ブログの記事にはしていませんがDocker v0.8の時にCentOS6で構築したことがあるのですが
その時はまだ機能やツールなどが充実しておらず、はっきり言って業務には使えないなと思いやめてしましました。

ですがここ最近、Dockerでの導入事例を目にすることが多くなってきたので使ってみて
良ければ、古いサーバからリプレイスしていこうかなと思っています。

手順はDockerの公式サイトInstall Dockerを元に行います。

続きを読む

CentOS 7.1でIPv6を無効にする方法

定期的にやっているIPv6の無効化についての記事です。
下記のコマンドでIPv6が無効になります。
CentOS公式だと、IPv6の停止は非推奨みたいなのでご理解の上、設定して下さい。

echo "net.ipv6.conf.all.disable_ipv6 = 1" > /etc/sysctl.d/disableipv6.conf
sysctl -p /etc/sysctl.d/disableipv6.conf

Source: CentOS 7でIPv6を無効化する | 俺的備忘録 〜なんかいろいろ〜

オーダーメイドのバレエ衣装 nidle.st

オーダーメイドのバレエ衣装 nidle.st
https://www.nidle.net/

久しぶりに個人で作らせていただいたサイトのご紹介。
紹介文らしい、紹介文も書けないのでサイトの簡単な説明と、サイトの技術的な部分を書いていこうと思います。

nidle.stとは

バレエ衣装の衣装をオーダーメイドで作ってくれるサイトです。
もともとはクライアント様の娘さんのために作っていたみたいです。
衣装のクオリティーはとても高く、初めて見た時には大変驚かされました。

続きを読む

CVE-2015-0235 GHOST 対策方法

※CentOS6.5, CentOS6.6を前提に話をしています。

識別情報

更新コマンド

※更新後は必ず再起動してください。

[root@www ~]# yum clean all
[root@www ~]# yum update glibc
[root@www ~]# reboot

確認コマンド

[root@www ~]# /lib64/libc.so.6

「Compiled on a Linux 2.6.32 system on 2014-10-15.」の日付が「Compiled on a Linux 2.6.32 system on 2015-01-27.」に変わっていれば対策済みのものがインストールされています。

更新前

[root@www ~]# /lib64/libc.so.6
GNU C Library stable release version 2.12, by Roland McGrath et al.
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.4.7 20120313 (Red Hat 4.4.7-11).
Compiled on a Linux 2.6.32 system on 2014-10-15.
Available extensions:
	The C stubs add-on version 2.1.2.
	crypt add-on version 2.1 by Michael Glad and others
	GNU Libidn by Simon Josefsson
	Native POSIX Threads Library by Ulrich Drepper et al
	BIND-8.2.3-T5B
	RT using linux kernel aio
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

更新後

[root@www ~]# /lib64/libc.so.6
GNU C Library stable release version 2.12, by Roland McGrath et al.
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.4.7 20120313 (Red Hat 4.4.7-11).
Compiled on a Linux 2.6.32 system on 2015-01-27.
Available extensions:
	The C stubs add-on version 2.1.2.
	crypt add-on version 2.1 by Michael Glad and others
	GNU Libidn by Simon Josefsson
	Native POSIX Threads Library by Ulrich Drepper et al
	BIND-8.2.3-T5B
	RT using linux kernel aio
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

Googleウェブマスターツールでハマった

まさかこんなことでハマるとは。。。
昨日のサーバ強化したので、今日アクセス解析などの情報を見なおしていると
Googleウェブマスターツールで今年の10月20日辺りからサイトにエラーが発生していて、
robots.txtやsitemap.xmlが読み込まれていませんでした。

20141215_01

その辺りといえば、SSL3.0の脆弱性「POODLE」があった時期なのでSSL関連だろうと思いサーバへ。
もともとこのサーバは構築当初からSSL3.0は無効で構築してあって、許可してあるプロトコルはTLSv1、TLSv1.1、TLSv1.2のみでした。
「POODLE」が起きた際に、今後別の脆弱性が起きた時に面倒なので、TLSv1.2のみ変更していました。

プロトコルを1つずつ許可していって、「Fetch as Google」でしらべて行きましたが、どうやってもつながらない!!
試しにSSL3.0も許可してみたところ、これでも接続できない。
これは、どうもおかしいということで、コマンド実行。

# TLSv1.2
openssl s_client -connect www.lalcs.com:443 -tls1_2
# TLSv1.1
openssl s_client -connect www.lalcs.com:443 -tls1_1
# TLSv1
openssl s_client -connect www.lalcs.com:443 -tls1

TLSv1.2つながる。
TLSv1.1、TLSv1がつながらない。

ここで、変更時に「ciphers」を書き換えたのを思い出して、制限を緩和したところ無事に接続出来ました。

20141215_02

その後またプロトコルを1つずつ許可していったところ、
どうやらGoogleBotはTLSv1以下で通信処理をしているらしくそれ以降のプロトコルではサイトを読み取ることができませんでした。

フルSSLを推奨しているGoogleなのでそれぐらいは対応していて欲しかったです。。

サーバ強化

ここ最近、Webサーバの負荷がどんどん大きくなっているので、サーバの強化を行いました。
今まではフロントにNginx、バックエンドにApacheでしたが、それをやめてNginxのみで全部を行うようにして
今までApacheに割いていたリソースをすべてNginxへ割り当てを変更しました。

レスポンスは以前の半分の時間になっているのでかなり軽くなったと思います。
また、一部プログラムをサブドメインに移したり、海外でSSL取ったりもしたので後日記事にしたいと思います。

昨日からメールが鳴り止まない…

決して変なサイトに登録したとかじゃないですよ!

昨日の朝方からずっとサーバのSSHポートにブルートフォースアタックを仕掛けてくる奴がいまして、
現在進行形でずっと続いています。

DenyHostsが入っているので実害はありませんが代わりにブロックするたびにスマホが着信しています。。

ただただ、攻撃されていること報告して面白みがないので攻撃ログを抽出してみました。

ユーザー名一覧です。
今どきこんなユーザー名使ってるほうが珍しいとおもうんだけど。。。
もし仮に使っていても、SSH禁止ユーザーだろうなー

D-Link
PlcmSpIp
admin
adminuser
alex
appserver
arbab
bitrix
center
dara
debug
default
deployer
dreamer
ftpuser
ftpuser1
guest
henri
jenkins
karaf
log
lumia
marijn
michael
nagios
oracle
phil
pi
postgres
sales
stack
system
testuser
ubnt
vagrant
vnc
vps
vyatta
xbian
xbmc
zimbabwe
znc

続きを読む