linux安全なTCP Wrappers

2317 ワード

前の記事では、linuxサーバのインストールの強化(http://blog.csdn.net/cracker_zhou/article/details/50392594を選択します。大牛から見れば、これは専門ではないかもしれませんが、いつもよく勉強して、大牛に見られます。csdnのブログを通じて、私の成長を確認してください。今日は主に/etc/hosts.denyファイルについて話します。
1.TCP Wrappers TCP Wrappersは、アクセス制御リスト(ACL)を使用してホスト名とホストアドレスの欺瞞を防止する保護を提供し、依存/etc/hosts.allowと/etc/hosts.denyファイルを用いて、簡単なアクセス制御言語の基礎として、libwrap.soを含むdaemenプログラムを使用することができます。簡単に言えば、あるサービスにlibwrap.soが含まれていれば、Hosts.allowとhosts.denyの中のルールを使って、どのホストがいくつかのサービスにアクセスできるかを制御できます。TCP_wrappersを含むサービスがクライアントからの要求を受信すると、まず以下の2つのステップがある。①. ipアドレスがhosts.allowのホワイトリストにあるかどうかを順にチェックする。存在し、設定されているランドルールがallowであれば、TCP Wrappers保護により、本当に関連サービスの接続操作が行われる。②. hosts.allowに関連規則がない場合は、hosts.denyファイルをチェックします。hosts.denyのルールでは、サービスへの接続要求を直接拒否します。特別な説明が必要なのは、①. hosts.allowとhosts.denyファイルの中の規則は非常に順序を重んじるものです。同じhosts.allowとhosts.denyのルールは、上から下まで、hosts.allowからHosts.denyまでの順に一致しています。二つのファイルの中で制御規則またはこの二つのファイルが存在しない場合、デフォルト規則は許可されます。②. TCP wrappedはhosts.allowとhosts.denyのルールをキャッシュしないので、hosts.allowとhosts.denyのルールの変更はすぐに有効になります。2.hosts.allowとhosts.denyの文法hosts.allowとhosts.denyルールの文法は同じで、サービス名:ip住所:allow/denyで構成されていて、各行に一つのルールしか書かれていません。𝠛莑で始まる規則は注釈であり、sshd:192.168.0.1:allow vsftpd:192.168.0.0/24:deny ALL:192.168.0.0/255.255.254.0 142第一行は注釈であり、第二行は192.168.0.1からのssh接続要求を許容することを示し、第三行は192.168.0.1-92.168.0.254のipセグメントのftp要求を許可しないことを示している。第3行の規則はデフォルトルールを省略していますので、この規則がhosts.allowファイルに書かれているならば、192.168.00/255.255.254.0のすべてのipアドレスがすべてのサービスに対するアクセスを許可すると表しています。hosts.denyに書いたら、192.168.00/255.255.254.0のすべてのipアドレスのすべてのサービスへのアクセスを拒否するという意味です。
3.tcp wrappersによってsshdの安全性を強化する。lddコマンドによって、現在コンパイルされているsshdがtcp wrapperに対応しているかどうかを確認することができる。ldd `which sshd` | grep libwrapはopenssh 6.7から開始し、tcp wrappersに対するサポートを削除した。ですから、もし皆さんがtcp wrappersを使ってsshdの安全性を高める必要があるなら、openssh 6.6と以下のバージョンを使ったり、海外の大牛パッチを使って新たにコンパイルしたりすることができます。ここでは自動コンパイルスクリプトを提供します。http://download.csdn.net/detail/cracker_zhoo/9458110(無積分)もしあなた方が自分でコンパイルしなければならないならば、--with-tcp-wrappersオプションを加えてコンパイルすることを覚えてください。
4.計画任務はオンラインhosts.denyでここで東大から提供されたオンラインhosts.denyを紹介します。更新速度はとても速いです。  http://antivirus.neu.edu.cn/ssh/lists/neu_sshbluhosts.denyは小さいシナリオを書いて、自動的にこのhosts.denyを獲得してそしてシステムの/etc/hosts.denyまで覆って、rootユーザーのcrontabを変えて、1時間ごとに一回のhosts.denyファイルを更新します。
これでTCP Wrappersとその応用は終わりました。問題があれば下記のメッセージを歓迎します。