11.0-RELEASEにNetBSDからマージされたblacklistd(8)の使い方を紹介してきました。blacklistd(8)を使うと設定に基づいて規定の回数ログインに失敗した接続を自動的にブロックするといったことを実現できます。DoS攻撃やブルートフォース攻撃に対する緩和機能として利用できます。最初はファイアウォールにipfw(4)を使う方法を紹介しました。前回はpf(4)を使う場合,そして今回はファイアウォールにipf(4)を使う方法を紹介します。ipf(4)はUNIX系オペレーティングシステムで利用できるファイアウォールで,現在だとFreeBSDとNetBSDが代表的なサポートOSということになるでしょうか。ipf(4)はFreeBSDネイティブなファイアウォール機能ではありませんし,pf(4)ほどの人気もないように見えます。現在でもサポートが継続しています(ちゃんとメンテナンスするコミッタがつけばサポートは続きます⁠)⁠。FreeBSDでこれから新しくファイアウォール機能を使う場合には,FreeBSDネイティブで性能が期待できるipfw(4)か,OpenBSD由来でなにかと便利なpf(4)かどちらかを選ぶというのが現在では主な選択肢ではないかと思います。ipf(4)はこれまで使ってきたipf(4)のルールがあるため継続して利用したいといった場合に使うことが多いのではないかと思います。,/etc/rc.confファイルに次のような設定を追加します。UseBlacklist=yes"」のようにフラグを追加して機能を有効にします。blacklistd(8)を起動するために「blacklistd_enable="YES"」を追加し,さらにファイアウォール機能pf(4)を有効にするために「pf_enable="YES"」を追加します。blacklistd(8)がipf(4)を使うように/etc/ipf.confファイルを作成します。ipf(4)を使っていて/etc/ipf.rulesファイルがある場合には,/etc/ipf.confにマージするか,/etc/rc.confで指定するファイル名を変更してください。/etc/ipf.confこの状態でシステムを再起動すると,次のようにsshd(8)がblacklistd(8)を利用可能な状態で起動してきます。UseBlacklist=yes$ipf(4)が有効になっているので,たとえば次のようなフィルタリングルールが動作していることを確認できます。ipfilter(in)$blacklistd(8)も次のように動作していることを確認できます。-f$blacklistd(8)の保持しているルールはblacklistclt(8)コマンドで次のように確認できます。システムを再起動した段階では次のようになんのルールも入っているはずです。access$blacklistd(8)の設定は/etc/blacklistd.confです。このファイルはデフォルトでは次のようになっています。この場合,sshにおける認証が3回失敗すると以後24時間はアクセスできない状態になります。adr/mask:porttypeprotoownernamenfaildisable[remote]#129.168.0.0/16***=**#6161====/24==#*streamtcp*===ほかのホストからsshでログインを試み,3回失敗してみます。すると次のように,4回目はそもそもサーバへの接続がブロックされるようになります。out%この状態でipf(4)のルールをチェックすると,22番ポートへのアクセスがブロックされたことを確認できます。port22$blacklistctl(8)コマンドでブロック情報を確認すると,次のようにルールが追加されたことを確認できます。18:49:29$blacklistd(8)はデフォルトの設定だと/var/db/blacklistd.dbに接続エントリ情報を保持していますので,再起動してもこのデータは保持されたままです。再起動後にこの保持しているデータに従ってもう一度ブロックルールを適用するか,またはルールをすべてクリアするかをblacklistd(8)のオプションで指定できます。-fならルールをクリア,-rならルールをベースにブロックルールを再適用します。最初に示した/etc/rc.confにこのオプションを書いておきます。このようにblacklistd(8)とipf(4)を使うと自動的にアクセスをブロックするといった設定を実現できます。これまで取り上げてきたように,FreeBSDだとblacklistd(8)はipfw(4),pf(4),ipf(4)という3つのファイアウォールに対応しています。NetBSDだとnpf(4)に対応していますので,4つのファイアウォール機能に対応していることになります。複数のファイアウォール機能に対応しつつも移植が容易なのはblacklistd-helper(8)がシェルスクリプトになっていて,ここでコマンド間またはファイアウォール間の差異を埋めているからなのですが,なかなかよくできた構成だと思います。このあたりも含めてblacklistd(8)の使い方に関して下記勉強会で詳しい内容を取り上げます。ご興味ある方は勉強会の参加を検討してみてください。2017から,最新の*BSDトピックを面白いところにしぼってお伝えします。カンファレンスへの渡航費用と参加費用を見ると,日本でこの情報を得られるのはとってもお得です。皆さまのお越しをお待ちしております。本勉強会への参加者には抽選か勝ち抜きかデーモンTシャツなどのグッズをお渡しします。ふるってご参加ください。参加登録はこちらから。11.0-RELEASEにはblacklistd(8)と呼ばれるデーモンが取り込まれました。これはNetBSDのblacklistd(8)をマージしたもので,設定に従ってサーバに対するDoS攻撃とみられるアクセスに対し,自動的にアクセスを閉じるといった処理をしてくれます。11.1-RELEASEからはシステムのsshd(8)がblacklistd(8)に対応するようになりました。ログインに何回か失敗したら何時間の間アクセスをブロックするといった設定を行うことができます。ホワイトリスト的な設定も追加することでき,全体としてのブロック設定をおこないつつ,特定のホストからのアクセスは許可したり,特定のホストからのアクセスは規制を緩くしておくといったことも可能です。blacklistd(8)と類似した機能を提供するソフトウェアにはsshguard,fail2ban,denyhostsなどがあります。これらソフトウェアと比較したblasklistd(8)の特徴は処理の軽快さにあります。npfに対応しています。blacklistd(8)はライブラリとしてlibblacklistを提供しているため,sshdに限らずほかのさまざまなソフトウェアからも利用できる汎用的な機能です。いくらかのコードの書き換えでblacklistd(8)を利用できるようにすることができます。今回の勉強会ではblacklistd(8)がどのように動作しているのか紹介するとともに,設定方法などの基本的な方法から,既存のソフトウェアをblacklistd(8)に対応させる場合にどのように開発を行えばよいかなどを紹介します。参加登録はこちらから。発表者募集FreeBSD勉強会では発表者を募集しています。FreeBSDに関して発表を行いたい場合,@daichigotoまでメッセージをお願いします。30分~1時間ほどの発表資料を作成していただき発表をお願いできればと思います。著者プロフィール後藤大地(ごとうだいち)BSDコンサルティング株式会社取締役,オングス代表取締役。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。