私が所有しているもの
私のシステムの多くのサービスは同じIPアドレスのリストを信頼しています。
~のためはい、私は以下を言及/使用/参照しました。
192.0.2.43
、198.51.100.2
そして203.0.113.76
設定するとき:
iptables
、fail2ban
、nginx
、mysql-server
など。
私がすること
次に、各 IP からアクセスを許可するように各サービスを手動で構成します。
私が望むもの
信頼できるIPアドレスのメンテナンス可能なリストを次の場所に保管してください。シングル真実ソースシステムのどこかに配置します。
- IPを追加/削除する必要があるたびに、その場所でIPを変更するだけです。
- これらの変更は、私が作成する必要があるシェルスクリプトによって選択され、各サービス構成にさらに反映されます。
/etc
.
私の心配
私は私が信頼するIPを許可するために限られたSSHを使用しました
iptables
。ルールからIPを読むのはiptables
方法かもしれませんが、厄介です。以下を追加してください
/etc/hosts
。192.0.2.43 localtrust 198.51.100.2 localtrust 203.0.113.76 localtrust
その後、
getent
使用IPを取得:# getent ahosts localtrust | awk '{ print $1 }' | uniq 192.0.2.43 198.51.100.2 203.0.113.76
for … in
リストを簡単に見つけてください。/etc/hosts.allow
1行に1つずつ改行文字でIPを保存します。必要なときはいつでも、cat /etc/hosts.allow
そしてfor … in
。これ
hosts.allow
手動この@netgroup
概念に言及して始めましょう。そのマニュアル私が探しているようです:netgroupファイルは、リモートインストール、リモートログイン、およびリモートシェルを実行するときに権限を確認するために使用される(ホスト、ユーザー、ドメイン)タプルの集合である「netgroups」を定義します。
しかし、それは私のシステムには存在せず
/etc/netgroup
、インターネットで検索したときに得られた結果は古くなったり関連していません。これは廃止予定の概念ですか?改行で区切られたIPは、システムにインポートする必要があるカスタムファイルに保存されます。それから
cat
それとfor … in
他に何もない?あなたは何をしますか?
業界標準/ベストプラクティスが必要なので、これがコメントベースと見なされないことを願っています。
そうでない場合、または私の問題が珍しい場合は、IPを信頼できる/etc/hosts.allow
ものを実際に使用したり見たことがないため、経験が限られています。台無しにしたことを後悔するのでしょうか?/etc/hosts
/etc/hosts.allow