はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> セキュリティ強化 >> 不正アクセス一覧の集計(OrignalCGI)
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 / Fedora13 / Fedora14 / Fedora15 / Fedora16 / Fedora17 / CentOS5 / CentOS6 ]
  1. ログにセッション情報を出力するようにする
  2. セキュアログよりsshdが拒否したログを抽出集計する(オリジナルCGI)
  3. 不正アクセス集計一覧を確認する
    ダウンロードした不正アクセス集計スクリプトを実行し、集計htmlを作成
    作成された集計htmlをブラウザ表示する
  4. 作成した不正アクセス集計スクリプトを定期的に実行する。
    不正アクセス集計スクリプトを実行するシェルスクリプトを作成
    定期的に実行するcronに設定

■ ログにセッション情報を出力するようにする

待ち受けるデーモン(ここではsshdとして説明)に、セッションを許すIPを設定します。
sshサービスの強化(サーバへのアクセス制御[接続元のネットワークを限定する])でも紹介していますが、ローカルIP(もしくは指定したグローバルIP)のみセッションの確立を許し、それ以外は全て除外するように指定します。
TCP Wrapper設定ファイルを確認
# vi /etc/hosts.deny
#
# hosts.deny    This file describes the names of the hosts which are
#       *not* allowed to use the local INET services, as decided
#       by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow.  In particular
# you should know that NFS uses portmap!
以下を追加(ssh接続を全て拒否)
sshd: ALL

# vi /etc/hosts.allow
#
# hosts.allow   This file describes the names of the hosts which are
#       allowed to use the local INET services, as decided
#       by the '/usr/sbin/tcpd' server.
#
以下を追加(localhostとネットワーク192.168.1.0/24は許可)
sshd: 127.0.0.1 , 192.168.1.

上記の設定を行うことによりログ「/var/log/secure」には以下のように出力されます。
ログの各詳細(出力項目)については、他のサイト等を参照願います。

セッションが確立されなかったログ(sshdが拒否した場合)
Feb 18 11:04:42 fedora sshd[9554]: refused connect from root::ffff:xxx.xxx.xxx.xxx (::ffff:xxx.xxx.xxx.xxx)
Feb 19 09:01:29 fedora sshd[7531]: refused connect from xxxx.co.jp (::ffff:xxx.xxx.xxx.xxx)
セッションが確立したログ(sshdが許可した場合)
Feb 20 00:02:28 fedora sshd[13185]: Accepted publickey for linux from ::ffff:192.168.1.10 port 1192 ssh2

■ セキュアログよりsshdが拒否したログを抽出集計する(オリジナルCGI)

ログパスのセキュアログの内容を取得してhtmlファイルを作成します。
サンプルではapacheのドキュメントルート「/var/www/html/」に「refusedssh.html」というファイルを作成します。

スクリプトは『不正アクセス一覧の集計スクリプト』よりダウンロードして下さい。

■ 不正アクセス集計一覧を確認する

■ ダウンロードした不正アクセス集計スクリプトを実行し、集計htmlを作成

ダウンロードしたtarファイルを展開
# tar xvf makerefusedssh.tar

不正アクセス集計スクリプトの実行
# /root/makerefusedssh.cgi

ファイルが作成されているか確認
# ls -l /var/www/html/refusedssh.html
-rw-r--r--  1 root root 17715  2月 24 05:27 /var/www/html/refusedssh.html

■ 作成された集計htmlをブラウザ表示する

ブラウザより「http://サーバのIPアドレス/refusedssh.html」でアクセスします。
以下のような画面が表示されるはずです。

htmlの部分については、不正アクセス集計スクリプト内の「htmlの作成」部分を各自変更してください。

■ 作成した不正アクセス集計スクリプトを定期的に実行する。

このままでは作成するトリガーが手動で行わなければならないので、cronにて実行するようにします。

■ 不正アクセス集計スクリプトを実行するシェルスクリプトを作成

起動用シェルスクリプトの作成
# vi /root/makerefusedssh.sh
#!/bin/sh
echo "Job Name (makerefusedssh.sh)"
echo "  開始(`date +"%k時%M分%S秒"`)"
/root/makerefusedssh.cgi
echo "  終了(`date +"%k時%M分%S秒"`)"

作成したシェルスクリプトに実行権付与(オーナのみ実行可にする)
# chmod 700 /root/makerefusedssh.sh

■ 定期的に実行するcronに設定

cronテーブルに作成したシェルスクリプトを追加します
# crontab -e
毎日00:00に集計を行う
00 00 * * * /root/makerefusedssh.sh

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.