Webインターフェイスを使用してIPFWにルールを追加する

FreeBSD-7.4-RELEASEにはapache + nginx + php + mysqlがあります



時々、ssh経由でリモートアクセスを取得する必要がありますが、IPデータはIPFWに登録されていません。 これにはさまざまな理由が考えられます。 他のネットワークなど。

はい、sshへのすべてのアクセスをオープンにすることは意味がありません。これは直接的なセキュリティリスクだからです。 sshポートの変更も機能しません。 むしろ、そうなるでしょうが、初めてです。 その後、ポートスキャナーは汚れた作業を行い、sshユーザー名/パスワードの選択を続行します。



アクセスする必要のあるリモートマシンにapache + nginx + php + mysqlがたくさんあるので(今はインストールについて説明しません)、ソリューションは以下を選択しました。



1.ポート443に仮想ホストを追加しました

2.作成された証明書

3. IPFWにルールを追加する2つのファイルを作成しました



index.php

<? $IP=$_SERVER['REMOTE_ADDR']; ?> <form action="ipfwadd.php" name="myform" method="post"> <table border="1"> <tr> <td> :</td><td><input type="text" name="rules" maxlength="15" size="5"></td> </tr> <tr> <td>IP:</td><td><? echo $IP ?> </tr> <tr> <td>pass/deny</td><td> <select name=passdeny size=1> <option value=pass>pass</option> <option value=deny>deny</option> </select> </td> </tr> <tr> <td>UDP/TCP:</td><td> <select name=tcpudp size=1> <option value=tcp>TCP</option> <option value=udp>UDP</option> </select> </td> </tr> <tr> <td>:</td><td><input type="text" name="ports" maxlength="6" size="8"></td> </tr> </table> <input name="Submit" type=submit value=" "> </form>
      
      





ipfwadd.php

 <meta http-equiv="refresh" content="0; url=/"> <? $rules = $_POST['rules']; $IP = $_SERVER['REMOTE_ADDR']; $ports = $_POST['ports']; $tcpudp = $_POST['tcpudp']; $passdeny = $_POST['passdeny']; $grepip = shell_exec("sudo ipfw add $rules $passdeny $tcpudp from $IP to me $ports"); ?>
      
      





4.次に、ポートからsudoを配置します

[anton@raccoon ~]$ su -

Password:

[root@raccoon ~]# whereis sudoers

sudoers: /usr/ports/security/sudo/

[root@raccoon ~]# cd /usr/ports/security/sudo/

[root@raccoon /usr/ports/security/sudo]# make install






5. /usr/local/etc/sudoers



を編集して、Webサーバーの起動元のユーザーがipfwにアクセスできるようにします。 このwwwユーザーがいます。 したがって、私はそのような行を追加しました

www ALL=NOPASSWD:/etc/rc.d/ipfw, /sbin/ipfw







6.当然、http認証または証明書による仮想ホストの保護を忘れないでください



7.次に、Web経由でipfwにデータを追加しようとします。 すべてが正しく行われると、メッセージに次のようなメッセージが表示されます。

# cat /var/log/messages|grep ipfw

Feb 10 13:16:03 raccoon sudo: www : TTY=unknown ; PWD=/usr/local/www/ssl ; USER=root ; COMMAND=/sbin/ipfw add 150 pass tcp from 213.130.11.4 to me 80,88

Feb 11 20:24:06 raccoon sudo: www : TTY=unknown ; PWD=/usr/local/www/ssl ; USER=root ; COMMAND=/sbin/ipfw add 150 pass tcp from 88.155.65.100 to me 80,88

Feb 17 18:43:51 raccoon sudo: www : TTY=unknown ; PWD=/usr/local/www/ssl ; USER=root ; COMMAND=/sbin/ipfw add 150 pass tcp from 88.155.91.120 to me 80,88

Mar 3 22:19:02 raccoon sudo: www : TTY=unknown ; PWD=/usr/local/www/ssl ; USER=root ; COMMAND=/sbin/ipfw add 150 pass tcp from 88.155.8.131 to me 80,88

Mar 9 10:03:48 raccoon sudo: www : TTY=unknown ; PWD=/usr/local/www/ssl ; USER=root ; COMMAND=/sbin/ipfw add 150 pass tcp from 88.155.81.41 to me 80,88








それは基本的にそれです。 それは、それ自身の目的のために個人的に行われたため、「愚か者からの保護」なしで書かれました。 携帯電話やタブレットなどから簡単に作業ネットワークにアクセスできます



All Articles