セキュリティ対策


1. 何をすべきか ?

専攻サーバではセキュリティ対策として の 3 点を心掛けている.

1. パスワード認証方式はセキュアな方法を取る

1.1 telnet および ftp に関して

telnet および ftp を使ったログインはネットワーク上にパスワードが生のままで流れてしまうので, 使用を許可していない. 専攻サーバでは ssh を用いてログインする.

1.2 メールパスワード

専攻サーバのメール環境は POP および IMAP をサービスしている. これらに使われるパスワードがネットワーク上に生で流れないように, 暗号化している. 詳細は 『qmail によるメールサーバの構築』を参照のこと.

2. 不必要なネットワークサービスが立ち上げないようにする

専攻サーバでは, セキュリティー的な穴をできるだけ作らないために, 不必要なネットワークサービスを極力行わないこととする. ネットワークサービスは以下のように起動される.

2.1 sysvinit で起動するサービス

メールソフトにはqmail を用いるため, 不必要なメールソフトは停止しておく必要がある. exim4 を止める.
# /etc/init.d/exim4 stop
# chmod 000 /etc/init.d/exim4

/etc/init.d/ の下に関しては管理者がしっかりと把握し, 常におかしなものが起動していないかどうかチェックする必要がある. ps コマンドでどのようなデーモンが動いているか調べることが必要である. 特に NFS, NIS を立ち上げた状態にしてはならない.

# ps aux | grep exim4

2.2 systemd で起動するサービス

Debian8 Jessie からデフォルトのinit がsystemd に変更された.以下では, 単にsystemd で起動されるサービスについて説明する. 以下の作業は実際には行わないように注意する. systemd を管理するファイルはデフォルトでは/lib/systemd/system/*.service に存在する. サーバを起動した際にサービスを自動起動を有効化/無効化するためには以下のコマンドを実行すればよい(以下ではssh のサービスについての例である).
# systemctl enable ssh.service
# systemctl disable ssh.service
サービスの挙動を調べるためには
# systemctl status ssh.service
または
# service ssh status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
Active: active (running) since 火 2015-11-24 22:17:29 JST; 5 days ago
Main PID: 32681 (sshd)
CGroup: /system.slice/ssh.service
└─32681 /usr/sbin/sshd -D

11月 30 14:48:01 usuzumi sshd[4401]: pam_unix(sshd:auth): authentication failure; logname=...242
11月 30 14:48:03 usuzumi sshd[4401]: Failed password for invalid user dms from 60.52.206.2...sh2
11月 30 14:48:04 usuzumi sshd[4401]: Connection closed by 60.52.206.242 [preauth]
11月 30 15:03:29 usuzumi sshd[4407]: Connection closed by 60.52.206.241 [preauth]
11月 30 15:32:35 usuzumi sshd[4417]: pam_unix(sshd:auth): authentication failure; logname=...do4
11月 30 15:32:37 usuzumi sshd[4417]: Failed password for mondo4 from 133.87.45.154 port 53...sh2
11月 30 15:32:39 usuzumi sshd[4417]: Accepted password for mondo4 from 133.87.45.154 port ...sh2
11月 30 15:32:39 usuzumi sshd[4417]: pam_unix(sshd:session): session opened for user mondo...=0)
11月 30 15:54:18 usuzumi sshd[4464]: Connection closed by 60.52.206.242 [preauth]
11月 30 16:10:43 usuzumi sshd[4471]: Connection closed by 60.52.206.242 [preauth]
Hint: Some lines were ellipsized, use -l to show in full.
手動でサービスを起動/停止/再起動/リロード を行うためには
# systemctl start/stop/restart/reload ssh.service
# service ssh start/stop/restart/reload
起動したいサービスに応じて, これらのコマンドを実行されたい.具体的な利用についてはそれぞれのサービスのインストールや利用の際に解説する.

  • 参考文献
  • ・技術評論社,
    Software Design 2015年2 月号, 「Linux systemd 入門」 ISSN:0916-6297

    3. ネットワークを介した攻撃への対処(Root ログインの禁止)

    root ログインによるブルートフォースアタックが流行っているのでその対処を書く.

    1. root での遠隔ログインを禁止する
      # emacs /etc/ssh/sshd_config
      

      PermitRootLogin yes の文を no に書き換える.

      PermitRootLogin yes →  PermitRootLogin no
      
    2. ssh を再起動する
    3. # service ssh restart
      

    最終更新日: 2015/11/30 三上 峻 Copyright © 2000-2015 epcore