Debian 10 (buster)を用いたサーバ設定メモ

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

バージョンの確認方法

$ more /etc/debian_version 
10.1

$ uname -a
Linux ホスト名 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 GNU/Linux

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

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

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

sudoのインストール

標準で入れておいて欲しいくらい。

% su
# apt install sudo
# visudo
# /usr/sbin/visudo

visudoでsudoを使えるユーザを設定する。

/etc/apt/source.listの修正

Debian Wiki: SourcesListを参考にして編集する。具体的には mainに加えて、contribとnon-freeを追加する。

% sudo cp -p /etc/apt/source.list /etc/apt/source.list.org
% sudo vi /etc/apt/source.list

ネットワークの設定

Debian 10 Buster : 初期設定 : ネットワークの設定 : Server Worldに基づいて固定IPアドレスの設定に変える。

% sudo cp -p /etc/network/interfaces /etc/network/interfaces.org
% sudo vi /etc/network/interfaces

以前のサーバからのユーザ情報の移行

以前のサーバの以下のファイルからユーザアカウント(一般的に1000番以降)をコピーする。

  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/gshadow

以前のサーバのファイルを〜.oldとしてサーバ上にコピーしておく。

% sudo vipw (/etc/passwdを編集するためのviコマンド呼び出し)
% sudo vipw -s (/etc/shadowを編集するためのviコマンド呼び出し)
%  sudo vigr (/etc/groupを編集するためのviコマンド呼び出し)
%  sudo vigr -s (/etc/gshadowを編集するためのviコマンド呼び出し)

vi(vim)で他のファイルを挿入する場合は「: r ファイル名」とする。(参考:vi で編集中に別のファイルの内容を読み込む – DACELO SPACE
ユーザ上のの以降に関する参考サイト

セキュリティ関係の設定

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

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

passpromptを変える

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

% su
# visudo

以下を加える。

Defaults passprompt = "%u@%h -> Password!!! -> "

sshdの設定の変更

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

sshguardかfail2banを導入する

% sudo aptitude sshguard

logwatchを入れる

% sudo apt 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 apt 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

その他インストール

% sudo apt install -y zsh