少しセキュリティ

少しだけセキュリティ対策
vi /etc/ssh/sshd_config
AllowUsers xxx
ログインできるユーザを限定する。記載しなければ,rootもログインできなくなる。
# systemctl restart sshd
ログインの失敗歴の表示(/var/log/btmp)
# lastb

他のシステムにsshでログインするために、pacman -S openssh
ssh user@xx.xx.xx.xxで、接続できる。

fail2banも設定
# pacman -S fail2ban
# cd /etc/fail2ban
# cp jail.conf jail.local
# vi jail.local
[sshd]のセクションにenabled = trueを追加
# systemctl start fail2ban
# systemctl enable fail2ban
# fail2ban-client status
# tail -20 /var/log/fail2ban.log
# iptabkes -nvL

確認してみると、sshdへの不正アクセスは、Conohaに比較して、Altusは非常に多い。
テストしていると、自分自身のIPが禁止されてしまった。
# fail2ban-client status sshd
解除するには
# fail2ban-client reload –unban sshd
または
# fail2ban-client unban xxx.xxx.xxx.xxx
# fail2ban-client unban –all
解除したIPの数が返される。

fail2banでセキュリティ。
/etc/fail2ban/jail.conf のasteriskはメール報告がついているので、actionのメールはコメントにしておく。
defaultのmaxretry=10となっているので、個別のセクションで適正な値を設定しておく。
applicationのprofileを作成したら、 fail2ban-regex log_file filter_nameで matchしていることと、日時を認識できているかを確認する。filter_nameにはパスを含める必要はない。

loginを連続して失敗するとpam_faillockでロックされる。
設定は/etc/security/faillock.confでデフォルトは15分間に3回失敗すると10分ロックされる。
rootやadminなどの一般的なユーザ名の場合は不正アクセスが頻回にあるために、自分でもSSHでログインできなくなってしまい、コンソールを使うしかなくなる。当然ロックされるとsudoも利用できない。/var/run/faillockをみると不正アクセスされたユーザ名のファイルが並んでいる。それぞれ64バイトのレコードがローテーションで記録されており、中身はIPアドレスと時間以外は、Vaild=3, Invalid=2だけ。
faillock –user USERで履歴を確認できるが、Vが現在カウント中の不正アクセスで、Iはアンロック時間が経過した以前の不正アクセスで、Valid欄の意味が分かりにくい。とにかくVがdenyの個数並んでいるとログインできなくなる。
アンロックは、faillock –user USER –resetで一般ユーザでも自分のアカウントはアンロックできる。
journalctl –grep=”failed password”で検索すると、適当なユーザ名での不正アタックも多いことが分かる。journalctl –grep=”accepted password”は成功アクセス。

コメント