2017年1月22日日曜日

OPNsenseでIPSを設定する

はじめに(2020年8月追記)


※説明に使用するOPNsenseのバージョンは16.7.13です。
※IPSを使うことでセキュリティは保たれますが、OPNsenseのメモリを食って通信が遅くなる可能性があるため、各ルールのヘルプページを確認して有効にするルールは絞ることを個人的に薦めます。
※この記事は下記のOPNsenseのWikiページを参考にしています。
 https://docs.opnsense.org/manual/how-tos/ips-feodo.html

※最新の20.7.0でもほぼ同じ手順で設定可能です(ルールセットの一覧がダウンロードタブに独立しました)


事前準備


パッケージやプラグインは最新のバージョンにしておきましょう。
[システム]-[ファームウェア]-[更新]から「更新を確認」をクリックして、更新があれば「Audit now」をクリックして更新してください。



IPS設定


  1. [インタフェース]-[設定]から「ハードウェアチェックサムオフロードを無効」、「ハードウェアTCPセグメンテーションオフロードを無効」、「ハードウェアラージレシーブオフロードを無効」にチェックを入れ、「保存」をクリックします。


  2. [サービス]-[侵入検知]から「設定」タブにて「有効」と「IPS mode」にチェックを入れ、ページ下部にある「適用」をクリックします。



  3. 有効にしたいルールにチェックを入れ、ページ下部にある「ダウンロードしてルールを更新」をクリックします。最初はどれも未インストールなので、ここでは全部チェックを入れてみました。


  4. パケットをドロップしたいルールについて、チェックボックスの横にあるインフォボタンをクリックし、「Input filter」のプルダウンリストから「Change all alerts to drop actions」を選択し、「Save changes」をクリックします。


  5. 有効にしたいルールにチェックを入っていることを確認し、ページ下部にある「ダウンロードしてルールを更新」をクリックします。

  6. [サービス]-[侵入検知]から「スケジュール」タブを選択し、ポップアップウインドウにて「enable」にチェックが入っていることと、コマンドが「Update and reload intrusion detection rules」となっていることを確認し、自動更新を行いたい日時を指定して「Save changes」をクリックします。



  7. IPSの設定が完了しました。

動作確認



[サービス]-[侵入検知]の「アラート」タブからIPSで遮断された通信のログが確認できます。


以上!


2017年1月11日水曜日

OPNsenseを選ぶ3つの理由


前回、OPNsenseをインストールする手順をまとめたのですが、そもそも何故OpenWrtやpfSenseといった他のファームウェアではなくてOPNsenseで遊んでみようと決めたのか、そのお話です。

  1. FreeBSDベースである

    Linuxはたまにお仕事で触るのですが、FreeBSDはまったく触ったことがありませんでした。
    なので、せっかくだし新たに何か学ぶことがあればなあと思ってOPNsenseにしてみました。
    それを言えばpfSenseもFreeBSDベースなのですが、そこは理由2から消去法です。

    あと、Linuxベースのもの(OpenWrtとか)よりも脆弱性が少なそうというイメージもありました。

  2. GUIがイケている

    ここがよくないと遊ぶ気も失せるので、重要だと思います。

    OpenWrtやpfSenseも決して操作しにくいことはないとは思うのですが、第一印象がなんか野暮ったい感じでした。。
    それに対して、OPNsenseはけっこう洗練されているなあという印象だったので、よかったです。

  3. 日本語で出てくる情報量が少ない

    例えば「OPNsense インストール」とかで検索してみると、両手で足りるくらいしか日本語で出てくる情報がありません…
    他のファームよりイケてそうなのにこれはもったいないと思ったのと、せっかくなのでチャレンジしてみようと思ったことが大きな決め手になりました。

    また、pfSenseと同様にm0n0wallからフォークしたものなので、困ったときはpfSenseの情報を見ればだいたいなんとかなりそうと思ったこともポイントです。

と、このような理由でした。

この機会に、何かOPNsenseで遊んでみてわかった情報があれば気が向く限りアップしていきたいです。

2017年1月8日日曜日

OPNsenseをVMware Workstationにインストールする


年末に、ネットワークのお勉強をするためにOPNsenseをVMwareにインストールしていろいろ遊んでみようと思い立ちまして。。。

今回は、実際にインストールして最低限の設定をするまでの手順をまとめてみました。

------

1. 下記のページからミラーサイトを選択し、BZ2ファイルをダウンロードします。
   <OPNsense ダウンロードページ>
   https://opnsense.org/download/

   私の場合は、日本から近い中国のミラーサイト([China]-[Aivian])を選択し、「OPNsense-16.7-OpenSSL-cdrom-amd64.iso.bz2」ダウンロードしました。


2. BZ2ファイルを解凍し、ISOファイルを適当な場所に保存します。


3. VMware Workstationを起動して、[新規仮想マシンの作成]をクリックします。


4. 仮想マシンを作成します。
   (注)最初に「後でOSをインストール」を選択した場合、ゲストOSは「その他」から「FreeBSD 64ビット」を選択してください。また、ディスク容量の指定の際に、最大サイズは8GB以上とし(デフォルトは20GBなのでそのままでよい)、「仮想ディスクを単一ファイルとして格納」を選択してください。


5. 仮想マシン作成後、作成した仮想マシンを選択し「仮想マシン設定の編集」をクリックします。


6. 「ハードウェア」タブから「メモリ」を選択し、メモリサイズを「1GB」以上に設定します。
   (注)ここでデフォルトの256MBのままインストールしようとすると、インストール中に下記のようなエラーメッセージ(Execution of the command …)が表示されます。



7. [追加]ボタンをクリックし、ネットワークアダプタを1つ追加します。


8. 「ネットワークアダプタ」の設定を「カスタム(VMnet2)」(0/1/8以外ならなんでもよい)、「ネットワークアダプタ2」の設定を「ブリッジ」または「NAT」に変更します。これで仮想マシンの設定は完了です。
   (注)「ネットワークアダプタ」がLAN側のNIC、「ネットワークアダプタ2」がインターネット側のNICとなります。


9. 仮想マシンをパワーオンして、OPNsenseのインストールを行います。
   (注)本当はここを細かく書くべきなのでしょうが…基本的に黒い画面の時はそのまま時間経過を待って放置で、青い画面の時に何か選択する画面になったら「Enter」を押し続けていれば問題なくインストールできます。


10. 下記のような画面が表示されたら、インストール成功です。



ただし、このままではGUIから操作できないので、ネットワークアダプタを「カスタム(Vmnet2)」(OPNsenseのLAN側NICと合わせる)としたクライアント仮想マシン(以下クライアント)を適当に作りましょう。ここからは、クライアントを作成した前提で説明します。


11. クライアント側のネットワーク設定を行います。
    192.168.1.0/24のセグメントで適当なIPアドレスを固定してあげれば問題ないです。


12. クライアントでブラウザを起動し、「https://192.168.1.1/」にアクセスします。


13. OPNsenseにログインします。ユーザ名は「root」、パスワードは「opnsense」です。


14. 初期状態だとウィザードが立ち上がるので、インターネットにアクセスできるよう設定を行ってください。ちなみに、私が行った設定は下記のとおりです:
    <設定>
    ・プライマリDNSサーバ:8.8.8.8
    ・NTPサーバ:ntp.jst.mfeed.ad.jp
    ・タイムゾーン:Asia/Tokyo
    ・WANインターフェース:DHCP


15. 以上で最低限の設定は完了です。あとは遊び倒すだけ!

------

駆け足になってしまいましたが、こんな感じで伝わるでしょうか…

私のほうでもこれからどんなことができるのか、OPNsenseを遊び倒してみたいと思います。