Debian 9 "Stretch" を用いたサーバ設定メモ

Debian 9 (stretch)を使ってサーバを構築した際のメモ。

Debian 8との変更点

net-tools (ifconfig, netstatなど)ではなくiproute2 が入っているとのこと。また、GCC6になったのでカーネルのコンパイルしなおしが必要である場合がこと。

Debian stretch で提供される GNU GCC 6 コンパイラは、デフォルトですべての実行ファイルを position independent なものとしてコンパイルします。これはあらゆる種類の脆弱性に対する緩和を提供します。

残念なことに、(8.7 までの) Debian 8 での Linux カーネルは、position independent な実行ファイルとしてコンパイルされたプログラムのうちの幾つかがセグメンテーションフォルトのような、よくある問題を起こしてクラッシュする可能性がある問題がありました。この問題は 8.8 で提供される linux バージョン (3.16.43 以降) および Debian 9 でのカーネル (4.9 以降) で解決されています。

stretch へのアップグレードを開始する前に、カーネルを修正されたバージョンにアップグレードしてから再起動するのをお勧めします。Debian 8.8 以降のカーネルを稼働させている場合は、この問題の影響を受けません。

アップグレード中、影響を受けるバージョンのカーネルで稼働している場合、アップグレード直後にこの問題が直撃するのを避けるため、再起動を実行して stretch のカーネルにするのを強くお勧めします。
5.1.5. 実行ファイルはデフォルトで PIE (position independent executables) が有効でコンパイルされています

インストール

省略。

/etc/apt/sources.list を編集する

contoribとnon-freeを追加する。また、私はaptitudeが好きなのでインストールする。

% su
# apt-get update
# apt-get upgrade
# apt-get install aptitude

セキュリティ関係の設定

そこそこセキュアなlinuxサーバーを作る - Qiitaを参考に以下を実行する。

  • sshでrootにlogin出来なくする
  • sshdのプロトコルを2に限定する
  • sshguardかfail2banを導入する
  • 使わないポートを閉じる
  • passpromptを変える
  • logwatchを入れる

passpromptを変える

まず、sudoをインストールする。

% su
# aptitude install sudo
# visudo

sudoを実行した際のパスプロンプトをそこそこセキュアなlinuxサーバーを作る - Qiitaの設定を参考に変更する。

sshdの設定の変更

/etc/ssh/sshd_configの設定をそこそこセキュアなlinuxサーバーを作る - Qiitaの設定を参考に変更する。

sshguardかfail2banを導入する

% sudo aptitude sshguard

使わないポートを閉じる

iptableを使って、使わないポートを閉じる。まず、iptables-persistentをインストールする。

% sudo aptitude  install iptables-persistent

/etc/iptablesに設置されているrules.v4を変更する。変更は以下のサイトを参考にする。

logwatchを入れる

% sudo aptitude install logwatch

Debian 8 (Jessie) - ログ解析ツール logwatch インストール! - mk-mode BLOGに従い、設定ファイルを設置する。

% cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/

logwatch.conf の「MailTo =」でログを送信したい宛先メールアドレスを設定する。

自動時刻合わせ

ntpdateをインストールする。

% sudo aptitude install ntpdate

crontabで時間合わせする。/etc/cron.weekly にスクリプトを置く。

% sudo touch /etc/cron.weekly/ntpdate.sh
% sudo chmod 755 /etc/cron.weekly/ntpdate.sh

組織内のNTPサーバがhogehoge.jpとしたとき、ntpdate.shの内容は以下の通り。

#!/bin/sh
/usr/sbin/ntpdate hogehoge.jp > /dev/null 2>&1

GCC関連のインストール

% sudo aptitude install gcc g++ make autoconf m4 bison flex

メモ:ジンバブエのムガベ大統領辞任

ジンバブエとしえば「ハイパーインフレ」としか知らなかった。先日のSession 22でジンバブエの歴史が説明されていて大変おもしろかった。「世界最悪の独裁」というのは宗主国イギリスのポジショントークだったというのは全く知らんかった。
www.tbsradio.jp

ムガベ大統領の後継者が今回の騒動の問題だったとのこと。
www.afpbb.com

www.bbc.com

結局、辞任した様子。
jp.reuters.com

アカハラを防ぐ大学教員しぐさ「常に学生に録音させる」

最近の学生のほとんどはスマートフォン or タブレットを所持しているので、教員と学生でミーティングするときには必ず学生に録音させるようにしておくとよいのではないかと。

元々は私がついていた教授がやっていたこと。最初は留学生とミーティングするときにICレコーダーで録音させていたのが、徐々に日本人学生にも録音させるようになり、最終的には「ミーティングしましょう。録音して下さい。」と決まり文句に発展していた。私もそれを受け継ぎ、学生とミーティングするときには録音させるようにしている。ミーティングを録音させておくと以下の点で大学教員にもメリットがある。

  • 「言った」「言わない」論争にケリが付く。特に常に「ミーティングしましょう。録音して下さい。」と言うようにしていれば、「言った」「言わない」論争が発生したときに「あのときの録音出して下さい」といえば終わる(当然、自分が「言った」つもりが「言っていなかった」、「言わなかった」つもりが「言っていた」と論争に負ける場合もあるけど)。
  • 「録音されている」ということが常に意識にあるので、暴言を吐きづらくなる。結果として、アカハラ発生を防ぐことになり、自分も職を失いづらくなる。

録音されている状態で暴言吐いてしまったら、すぐにごめんなさいするしかない。

関連過去エントリー

next49.hatenadiary.jp

エンダーのゲーム~シャドウ・パペッツ

積読であって「エンダーのゲーム」を読み、面白かったのでその続編の「エンダーズ・シャドウ」「シャドウ・オブ・ヘゲモン」「シャドウ・パペッツ」を続けざまに読んだ。面白かった。

「エンダーのゲーム」は1985年の出版。エンダーシリーズの始まり。2013年に映画化されていたときに再販。数年前にAmazonで安売りしていたので購入。一読しただけだと、いろいろと腑に落ちないところがあるけど面白かった(エンダーが1度も負けられないと思い込む動機が分からない。最初の「モニター」の設定はエンダーの兄弟だけ?なんであの3兄弟はあんなに優秀なの?ラストのあの場所はどういうことなの?など)。
エンダーのゲーム〔新訳版〕(上)
エンダーのゲーム〔新訳版〕(下)

エンダーシリーズは、エンダーを主人公とするシリーズと、「エンダーのゲーム」の登場人物の一人であるビーンを主人公とするシリーズに分かれる。こちらは、ビーンを主人公とするシリーズ。このエンダーズ・シャドウはビーンの視点から「エンダーのゲーム」を語りなおす話。私は本編の主人公絶対主義なので、番外編やサイドストーリーの方の主人公が実はすごく優秀で本編主人公を越えた逸材だけど、もろもろの理由で本編主人公を手助けしていましたみたいな話が大変苦手。なので、この本のあらすじを見たときに「これは苦手なやつか?」と思ったのだけど、ちゃんとエンダーとビーンが両立しており、大変楽しめた。また、「エンダーのゲーム」でよくわからなかったエンダーやその仲間たちの振る舞いについて補足が入っているので、だいぶ「エンダーのゲーム」が整理された。作者のつじつま合わせ能力(「エンダーのゲーム」との合わせ)は本当にすごい。
エンダーズ・シャドウ〈上〉 (ハヤカワ文庫SF)
エンダーズ・シャドウ〈下〉 (ハヤカワ文庫SF)

引き続きビーンを主人公とした「エンダーのゲーム」のその後の話。大変楽しい。敵役もきっちり怖くて素晴らしい。エンダー兄のピーターがどんどんかわいくなる。
シャドウ・オブ・ヘゲモン(上) (ハヤカワ文庫SF)
シャドウ・オブ・ヘゲモン(下) (ハヤカワ文庫SF)

前作からの続き。一応のひと段落。
シャドウ・パペッツ (ハヤカワ文庫SF)

このシリーズは4部作らしいのだけど最後の2作は翻訳がとまっており残念。
Shadow of the Giant

Shadows in Flight: 5 (The Shadow Saga)