Debian 10 (buster)を使ってサーバを構築した際のメモ。
- Debian 安定版リリースノート(2019年10月31日時点はDebian 10 (buster))
- 第5章 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
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の設定を参考に変更する。
使わないポートを閉じる
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