凄く久しぶりにLinuxの仮想マシンを構築することになったため何が必要だったか
思い出しながら書きます。各項目の詳細は別途記事にするかもしれません。
随時追記してます。
サーバ用途
特に限定しないよう汎用、必要最低限の設定を入れる
SSHでログインしてメンテするような運用を想定
SSHの設定変更
ROOTログインを無効
パスワード認証を無効
秘密鍵-公開鍵の認証を許可
PAM認証を無効
ポートの変更
パケットフィルタ
firewalldで全コネクションを無効にする
必要なポートのみ通す
※誤ってSSHのポートを遮断しないよう注意
ユーザの実行権限を限定する
ユーザ作成時実行権限が755となっているため、750に変更する
ユーザの環境変数書き換え
パス、文字コードを適宜定義する
bash_profileの行数を増やす
bash_profileに年月日時分秒を出す
プロンプトをユーザ名@時分秒にする
カーネルの設定
パケットリダイレクトを無効にする
パケット転送を無効にする
逆方向パス転送を厳密モードにする
ICMPのブロードキャストを無効にする
ソースルーティングを無効にする
syncookiesを有効にする
Martiansのログ取得を有効にする
スワップ頻度を必要最低限にする
ファイルオブジェクトの上限を変更する
IPv6を無効にする
タイムゾーンの設定
日付、時間、タイムゾーン設定
ログ出力の設定
journaldのログ永続化
logrotateの設定見直し
サーバ要塞化
サービス一覧から必要なものを残して全て起動しないよう無効にする
監視
後ほど記載する
その他
スワップ領域を数ギガ程度作成してマウントする
ファイルディスクリプタの上限を変更する
エイリアスを適宜設定する