私はUbuntu 13.10
を実行しています(LTSではありません、私は知っています...)。 denyhosts
をインストールしました。 /etc/hosts.deny
と/etc/hosts.allow
があります。 hosts.allow
(自宅+職場)に2つのIPを追加しました。ただし、これらのIPからサインインすると、不審なサインインが発生したことを通知するメールが届きます。
hosts.allow
ファイルを2つの異なる方法でフォーマットしてみました。どちらも機能していないようです。
最初:
...
sshd: iii.i.i.iii : allow
sshd: iii.i.i.iii : allow
二番目:
...
sshd: iii.i.i.iii
sshd: iii.i.i.iii
これが関係しているかどうかはわかりませんが、何か気づいたら説明できません。
走ったら
$ Sudo service denyhosts restart
* Stopping DenyHosts denyhosts [ OK ]
/etc/init.d/denyhosts: 44: test: /etc/hosts.deny: unexpected operator
* Starting DenyHosts denyhosts
しかし、hosts.denyまたはhosts.allowのいずれかでエラーを検索すると、次のものが見つかりません。
Sudo test -e /etc/hosts.allow
Sudo test -e /etc/hosts.deny
そして忘れる前に、私の/etc/denyhosts.conf
ファイル:
...
# Most operating systems:
HOSTS_DENY = /etc/hosts.deny
#
# Some BSD (FreeBSD) Unixes:
HOSTS_DENY = /etc/hosts.allow
...
コメントが言うように、/ etc /hosts.allowは明らかにいくつかのBSDUnixで使用されています。これは問題ですか?私がUbuntuについて読んだいくつかのガイドでは、明らかにこれはそうではありません。
編集:
/etc/init.d/denyhosts
ファイルは次のように実行されます。
HOSTS_DENY=$(grep ^HOSTS_DENY $CONFIG | cut -d = -f 2)
私の場合、これはhosts.allow
とhosts.deny
の両方を返します。
あなたはそれらの両方にコメントがないので、denyhostsが/etc/hosts.allow
を使用していると私は信じています。 2番目のHOSTS_DENY
行をコメントアウトし、denyhostsを再起動します。
それでもメールが届く場合は、denyhosts.confファイルにSUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = NO
を追加する必要があります。これには、DenyHosts0.6以降が必要です。詳細については、 this を参照してください。
また、信頼できるIPアドレスを使用して1行に1つずつallowed-hosts
ファイルを作成する必要があります。これは、構成のWORK_DIR
で定義された同じフォルダーに配置されます。
BSDボックスではなくUbuntuを使用しているため、_HOSTS_DENY = /etc/hosts.allow
_行をコメントアウトする必要があります。
次に、hosts.(allow|deny)
ファイルがどのように処理されるかを理解する必要があります。これらのファイルを使用するサービスは、常に_hosts.allow
_の前に_hosts.deny
_をチェックし、最初の一致で停止します。したがって、_hosts.allow
_ファイルでIPアドレスアクセスを許可すると、_hosts.deny
_の内容に関係なくアクセスが許可されます。 denyhostsがそのファイルにさらにアドレスを追加するかどうかを気にする必要はありません。 _hosts.allow
_ファイルを使用すると、基本的にIPアドレスをホワイトリストに登録できます。
詳細については、hosts_access(5)
のマニュアルページを参照してください。
Sshdは、hosts.allowおよびhosts.deny(tcp-wrappersのサポート)をサポートせずにコンパイルされる場合があります。これは、Ubuntu 18.04LTSのインストールで発生しました。ご使用のバージョンのsshdがサポートしているかどうかを確認するには、以下を実行します。
上記の1行目は、sshdが正確にインストールされている場所を確認するためのものです(たとえば、私のRedHatマシンでは/ sbin/sshdでしたが、Ubuntuは/ usr/sbin/sshdでした)。したがって、それに応じて#2を変更します。
Hosts.deny + hosts.allowがサポートされていない場合、2行目は空の出力になります。その場合、openssh.comからソースをダウンロードして再構築する必要があります。
./configure --with-libwrap
make
Sudo make install