はじめに
前回の記事では、Amazon Linux2にOSSECをLocalインストールしました。今回はOSSECの動作を確認してみたいと思います。OSSECのインストール手順にご興味のある方は以下の記事を参照ください。
- Amazon Linux2にOSSECをインストールした(OSSEC-Serverインストール)
- Amazon Linux2にOSSECをインストールした(OSSEC-Agentインストール)
- Amazon Linux2にOSSECをインストールした(OSSEC-Localインストール)
まずはOSSECの起動状態を確認
# /var/ossec/bin/ossec-control status
ossec-monitord is running...
ossec-logcollector is running...
ossec-syscheckd is running...
ossec-analysisd is running...
ossec-maild is running...
ossec-execd is running...
is runningですので、OSSECは起動しています。
動作確認方法について
OSSECは異常を検知すると、/var/ossec/logs/alerts/alerts.log にアラートを出力します。今回は、このファイルにアラートが出力されることを確認します。
事前準備について
今回は存在しないページにアクセスがあった場合にOSSECがアラートを出力するかを確認したいので、Apacheをインストールします。
# yum install httpd
# systemctl start httpd
# systemctl status httpd
# systemctl enable httpd
また、OSSECがApacheのアクセスログを監視するように、OSSECのコンフィグを設定します。具体的には、以下を/var/ossec/etc/ossec.confに追加します。
# cd /var/ossec/etc
# vi ossec.conf
<localfile>
<log_format>apache</log_format>
<location>/var/log/httpd/access_log</location>
</localfile>
<localfile>
<log_format>apache</log_format>
<location>/var/log/nginx/access.log</location>
</localfile>
<localfile>
<log_format>apache</log_format>
<location>/var/log/nginx/error.log</location>
</localfile>
OSSECを再起動します。
# /var/ossec/bin/ossec-control restart
動作確認の手順と確認結果について
存在しないページにブラウザからアクセスする
- ブラウザのアドレスバーにEC2のIPアドレス/aaaaaaa.htmlを入力する。
- /var/ossec/logs/alerts/alerts.logを確認する。
** Alert 1646126262.7129: - web,accesslog,
2022 Mar 01 09:17:42 ip-EC2のIPアドレス->/var/log/httpd/access_log
Rule: 31101 (level 5) -> 'Web server 400 error code.'
Src IP: ブラウザを起動したPCのIPアドレス
ブラウザを起動したPCのIPアドレス - - [01/Mar/2022:09:17:41 +0000] "GET /aaaaaa.html HTTP/1.1" 404 196 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36"
EC2のSSH接続に失敗する
- SSH接続に失敗させます。今回はTeratermログインマクロのpemを別マシンのpemを参照するように編集します。(すいません、詳細な手順は省きます。)
- /var/ossec/logs/alerts/alerts.logを確認する。
** Alert 1646128574.11627: mail - syslog,errors,
2022 Mar 01 09:56:14 ip-EC2のIPアドレス->/var/log/secure
Rule: 1002 (level 2) -> 'Unknown problem somewhere in the system.'
Mar 1 09:56:13 ip-EC2のIPアドレス sshd[5292]: error: AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys ec2-user SHA256:hogehogehogehogehogehogehogehoge/fugafuga failed, status 22
その他 /etc/postfix/main.cfを変更したとき
- /var/ossec/logs/alerts/alerts.logを確認する。
** Alert 1646125562.2090: mail - ossec,syscheck,
2022 Mar 01 09:06:02 ip-EC2のIPアドレス->syscheck
Rule: 550 (level 7) -> 'Integrity checksum changed.'
Integrity checksum changed for: '/etc/postfix/main.cf'
Size changed from '27176' to '27437'
Old md5sum was: 'hogehogehogehogehogehogehogehogehogehogehogehoge'
New md5sum is : 'fugafugafugafugafugafugafugafugafugafugafugafuga'
Old sha1sum was: 'hogehogehogehogehogehogehogehogehogehoge'
New sha1sum is : 'fugafugafugafugafugafugafugafugafugafuga'
その他 Apacheをインストールしたとき
- /var/ossec/logs/alerts/alerts.logを確認する。
** Alert 1646125961.3335: mail - syslog,yum,config_changed,
2022 Mar 01 09:12:41 ip-EC2のIPアドレス->/var/log/messages
Rule: 2932 (level 7) -> 'New Yum package installed.'
Mar 1 09:12:40 ip-EC2のIPアドレス yum[3481]: Installed: httpd-tools-2.4.52-1.amzn2.x86_64
他にもいろいろ関連したアラートが出ていましたが、一部のみ掲載します。
Apacheのグループとユーザ追加のアラート等も出ていました。
- /var/ossec/logs/alerts/alerts.logを確認する。
** Alert 1646125961.4652: mail - syslog,adduser
2022 Mar 01 09:12:41 ip-EC2のIPアドレス->/var/log/secure
Rule: 5901 (level 8) -> 'New group added to the system'
Mar 1 09:12:41 ip-EC2のIPアドレス groupadd[3496]: new group: name=apache, GID=48
** Alert 1646125961.4893: mail - syslog,adduser
2022 Mar 01 09:12:41 ip-EC2のIPアドレス->/var/log/secure
Rule: 5902 (level 8) -> 'New user added to the system'
Mar 1 09:12:41 ip-EC2のIPアドレス useradd[3501]: new user: name=apache, UID=48, GID=48, home=/usr/share/httpd, shell=/sbin/nologin
他にこんなのも出ていました。
** Alert 1646128672.11989: mail - syslog,sshd,authentication_failed,
2022 Mar 01 09:57:52 ip-EC2のIPアドレス->/var/log/secure
Rule: 5758 (level 8) -> 'Maximum authentication attempts exceeded.'
Src IP: xxx.xxx.xxx.xxx
Src Port: 57055
User: root
Mar 1 09:57:50 ip-EC2のIPアドレス sshd[5313]: error: maximum authentication attempts exceeded for root from xxx.xxx.xxx.xxx port 57055 ssh2 [preauth]
who is で Src IPを調べたら、どこの国のサーバーからのアクセスか分かります。
** Alert 1646128672.12381: - syslog,access_control,authentication_failed,
2022 Mar 01 09:57:52 ip-EC2のIPアドレス->/var/log/secure
Rule: 2501 (level 5) -> 'User authentication failure.'
Mar 1 09:57:50 ip-EC2のIPアドレス sshd[5313]: Disconnecting: Too many authentication failures [preauth]
** Alert 1646129521.12669: - web,accesslog,
2022 Mar 01 10:12:01 ip-EC2のIPアドレス->/var/log/httpd/access_log
Rule: 31101 (level 5) -> 'Web server 400 error code.'
Src IP: xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx - - [01/Mar/2022:10:11:59 +0000] "GET /.env HTTP/1.1" 404 196 "-" "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30"
** Alert 1646129521.13107: - web,accesslog,
2022 Mar 01 10:12:01 ip-EC2のIPアドレス->/var/log/httpd/access_log
Rule: 31101 (level 5) -> 'Web server 400 error code.'
Src IP: xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx - - [01/Mar/2022:10:11:59 +0000] "POST / HTTP/1.1" 404 196 "-" "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30"
UCBrowserって、スマホのブラウザのようですね。私はEC2にスマホからアクセスしていないです。
ポートのオープン/クローズもアラート検知するようです。
** Alert 1646125987.5438: mail - ossec,
2022 Mar 01 09:13:07 ip-EC2のIPアドレス->netstat -tan |grep LISTEN |egrep -v '(127.0.0.1| \\1)' | sort
Rule: 533 (level 7) -> 'Listened ports status (netstat) changed (new port opened or closed).'
ossec: output: 'netstat -tan |grep LISTEN |egrep -v '(127.0.0.1| \\1)' | sort':
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::111 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::80 :::* LISTEN
Previous output:
ossec: output: 'netstat -tan |grep LISTEN |egrep -v '(127.0.0.1| \\1)' | sort':
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::111 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
おわりに
今回、OSSECの動作確認をしましたが、自分の動作確認以外でも、アラートを検知していることに、少し驚きました。(戸惑いました。)
個人利用のEC2にもセキュリティ対策は必要なのか、、、と改めて認識しました。では、また。