ホーム » Linux

Linux」カテゴリーアーカイブ

久しぶりのCentOSとMySQL

久しぶりにCentOSにMySQLをインストール
CentOSのバージョンはCentOS7.2 1511
※1511とは201511版らしい
もちろん64bit
MySQLのバージョンは5.7.13-1

CentOSのインストール

インストーラーも大きくかわり何気無く最小構成でインストールしたらXがインストールされなかったので、改めてX Window Gnoneを選択してインストールする。

インストール直後はなぜか日本語入力が使えなかったので、アプリケーション→システムツール→設定→地域と言語に日本語(かな漢字)を追加
※なぜか、日本語入力のON/OFFはWindowsキー+スペーらしい

MYSQLのサイトより以下のファイルをダウンロード
mysql-5.7.13-1.el7.x86_64.rpm-bundle.tar
tarコマンドで解凍
[code]
tar xvf mysql-5.7.13-1.el7.x86_64.rpm-bundle.tar
[/code]
tarボールに含まれるファイル
[code]
mysql-community-client-5.7.13-1.el7.x86_64.rpm
mysql-community-common-5.7.13-1.el7.x86_64.rpm
mysql-community-devel-5.7.13-1.el7.x86_64.rpm
mysql-community-embedded-5.7.13-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.13-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.13-1.el7.x86_64.rpm
mysql-community-libs-5.7.13-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.13-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.13-1.el7.x86_64.rpm
mysql-community-server-5.7.13-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.13-1.el7.x86_64.rpm
mysql-community-test-5.7.13-1.el7.x86_64.rpm
[/code]
mysql-community-embedded*は組込用なのでインストールはしない。
mysql-community-libs-compat-5.7.13-1.el7.x86_64.rpmは過去バージョンとの互換性を提供するライブラリなので要インストール。

インストール前にMiraiDB関連のパッケージがインストールされていたら削除。
[code]
# yum list installed | grep maria
mariadb-libs.x86_64 1:5.5.47-1.el7_2 @updates
# yum remove mariadb-libs
[/code]

以下の順番でインストール
[code]
rpm -ivh mysql-community-common-5.7.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-minimal-debuginfo-5.7.13-1.el7.x86_64.rpm
[/code]

弊社のDNS サーバが再帰的な問合せを使用する DDoS 攻撃の踏み台にされてしまいました

事の顛末

JPCERTより以下のメールが着た

「この連絡は、JPNIC、JPRS WHOIS データベースに登録されている、もしくは以
前に返信いただいた、下記の担当者の方にお送りしています。
JPCERT/CC では、以下の通り、貴サイトの DNS サーバが、DNS の再帰的な問合
せ (recursive queries) を使った DDoS 攻撃の踏み台として使用された可能性
があるとの報告を受けています。・・・」

「DNS の再帰的な問合せ (recursive queries) を使った DDoS 攻撃」とは

DNS Amp攻撃の解説と、踏み台にされないためのBIND DNSの設定

調査

最初にDNSのキャッシュの内容をファイルに出力

rndc dumpdb

上記を実行すると/etc/bind/named.conf.optionsで指定されたディレクトリにファイル(named_dump.db)が出力される。
(キャッシュのクリアはrndc flush)

options{
        directory "/var/cache/bind";
};

対策終了後のsyslogを見るとDDosの形跡と思われる多くの問い合わせが着ている。
特に多いのが「somethingstrange.netfirms.com」と「webpanel.sk」についての問い合わせ。

Sep 24 11:50:04 localhost named[11347]: client 65.129.239.237#22124: query (cache) 'somethingstrange.netfirms.com/ANY/IN' denied
Sep 24 11:50:05 localhost named[11347]: client 65.129.239.237#59962: query (cache) 'somethingstrange.netfirms.com/ANY/IN' denied
Sep 24 11:50:05 localhost named[11347]: client 69.31.20.75#10270: query (cache) 'webpanel.sk/ANY/IN' denied

named_dump.dbを確認しても上記のドメインに関するキャッシュはない。
単純に問い合わせているだけのようだ。

対応方法

DNSには2つの機能(役割)がある。

(1)コンテンツサーバ
自分が管理しているドメインに関する情報の問い合わせへの回答

(2)キャッシュサーバ
(1)以外の問い合わせに対する回答

今回の対策とでは(2)に対する問い合わせを社内のみに限定する。
named.conf.optionsに以下を記述して基本社外からの問い合わせを拒絶。

 allow-query{
                localhost;
                社内のネットワーク
        };

弊社が管理しているドメインについては問い合わせを許可

zone "管理対象ドメイン" {

        allow-query{any;};
};

以上

メールの転送許可の設定

WindowsサーバーからPHPでメールを送信するためにLinuxサーバー上のSendmailを転送を許可してSMTPサーバーとして使用する

sendmail.cfをインストール
yum install sendmail-cf

/etc/mail/sendmail.mcを編集

編集前

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
dnl MASQUERADE_AS(`mydomain.com')dnl
dnl FEATURE(masquerade_envelope)dnl

編集後

DAEMON_OPTIONS(`Port=smtp,Name=MTA')dnl
MASQUERADE_AS(`自分のドメイン')dnl
FEATURE(masquerade_envelope)dnl

編集後、sendmail.mc をsenmail.cfに変換

m4 sendmail.mc > sendmail.cf

/etc/mail/accessに以下の行を追加して他ホストからの接続を許可

Connect:192.9.200 RELAY

以下のコマンドでaccessをaccess.dbに変換

makemap hash access.db < access

sendmailの再起動で完了

※ちなみにWindows上のphp.iniではsmtpにsendmailを設定したPCのアドレスを設定

yumの履歴を表示

yumの履歴は以下に保存されている
/var/log/yum.log

SSH接続で警告

SSHで他サーバーにログインしようとしたら以下のメッセージが表示された。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
33:f2:21:91:42:98:0c:b3:40:83:b9:05:9c:c6:b2:9b.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:1
RSA host key for 接続先のIPアドレス has changed and you have requested strict checking.
Host key verification failed.
Couldn’t read packet: Connection reset by peer

これは接続先のPCが変更されたときに表示されるので以下のファイルを開いて該当する行を編集
/ホーム/.ssh/known_hosts