刑務所環境でTorサービスを実行する

刑務所環境でTorサービスを実行する

主にダークネット活動に使用される既存のFreeBSDシステムをハッキングしたいと思います。質問:

刑務所の作成中にこれらのエラーを心配する必要がありますか?

Warning: Some services already seem to be listening on all IP, (including 127.0.1.1)
  This may cause some confusion, here they are:
root     ntpd       58008 20 udp6   *:123                 *:*
root     ntpd       58008 21 udp4   *:123                 *:*
root     lpd        48726 6  tcp6   *:515                 *:*
root     lpd        48726 7  tcp4   *:515                 *:*
Warning: Some services already seem to be listening on IP 192.168.1.105
  This may cause some confusion, here they are:
root     ntpd       58008 23 udp4   192.168.1.105:123     *:*
Warning: Some services already seem to be listening on all IP, (including 192.168.1.105)
  This may cause some confusion, here they are:
root     ntpd       58008 20 udp6   *:123                 *:*
root     ntpd       58008 21 udp4   *:123                 *:*
root     lpd        48726 6  tcp6   *:515                 *:*
root     lpd        48726 7  tcp4   *:515                 *:

このシステムのすべてのトラフィックがTorを介してルーティングされると仮定すると、刑務所はループバックインターフェイスとパブリックイーサネットインターフェイスにアクセスできる必要がありますか?刑務所では、通信用に仮想ネットワークインターフェイスを設定する必要がありますか?

答え1

いいえ - 刑務所では、ループバックやパブリックインターフェイスへのアクセスは必要ありません。さらに、VLAN タグ付けや高度な操作を実行する必要がない限り、仮想ネットワーク インターフェイス (VNET/VIMAGE) を使用する必要はありません。

私が主にすることは、ループバックインターフェイスを複製することです。その後、刑務所と刑務所のトラフィックのための内部インターフェイスがあります。次に、pfファイアウォールを使用してアクセスを管理します。具体的ではありませんが、そのスクリプトを使用しているようですezjail。私は基本システムに付属しているものを使用していますが、概念は同じです。刑務所で設定された多くのサービスに*:portまたは0.0.0.0:port。これは利用可能なIPアドレスにバインドされ、これらのエラーが表示されます。これらのサービスを刑務所で利用可能なアドレスに明示的にバインドすると、これらのエラーは表示されません。

私の/etc/jail.conf外観は次のとおりです。

# Global settings applied to all jails.
host.hostname = "${name}.jail";
interface = "lo1";
path = "/usr/local/jails/${name}";
mount.fstab = "/usr/local/jails/${name}.fstab";
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.clean;
mount.devfs;

# Only needed for PostgreSQL:
# allow.sysvipc;

myjail1 { ip4.addr = 172.17.2.1; }
myjail2 { ip4.addr = 172.17.2.2; }
myjail3 { ip4.addr = 172.17.2.3; }

設定lo1する/etc/rc.conf

cloned_interfaces="lo1"
ifconfig_lo1="inet 172.17.2.0 netmask 255.255.255.0"

以前は各IPを個別に設定していましたが、/etc/rc.conf実際には必要ありません。上記の in 2 行と in へ/etc/rc.confの参照だけで十分です。ただし、必要に応じて、あらかじめアドレスにエイリアスを割り当てることができます。lo1/etc/jail.conf

ifconfig_lo1_alias0="inet 172.17.2.1 netmask 255.255.255.255"
ifconfig_lo1_alias1="inet 172.17.2.2 netmask 255.255.255.255"
ifconfig_lo1_alias2="inet 172.17.2.3 netmask 255.255.255.255"

それではどの出口が入りますか/etc/pf.conf?必要な名前を使用できますが、デフォルトでは上部に次のマクロが使用されます。

##########
# Macros #
##########
if=             "em0"          # Realtek = "re0", Intel = "igb0" or "em0" - Whatever your interface is named.
jif=            "lo1"          # We use the clone of lo0 for jail traffic        
loopback=       "lo0"
jnet=           $jif:network

jailhost=       "1.1.1.1"      # I put my public IP here.

#jails
jail1=          "172.17.2.1"       # Describe my jail
jail2=          "172.17.2.2"       # do.
jail3=          "172.17.2.3"       # do.

#aliases for services
tornode=       $jail1
web=           $jail2
mail=          $jail3

残りは一般的なファイアウォール設定です。

外部から特定の刑務所へのSSHアクセス(ポート1234)が必要な場合は、NATルールを使用してください。これはポート22のJail1にマップされます。

rdr pass log inet proto tcp from any to ($if) port 1234 -> $jail1 port ssh

したがって、ポート22でSSHを実行する複数の刑務所がある場合、デフォルトのSSH設定は0.0.0.0にバインドされているため、表示されるエラーが発生します。特定のIPアドレスにバインドすると、このエラーは表示されません。

表示すると、デフォルトで次のように/etc/ssh/sshd_configなりjail1ます。

#ListenAddress 0.0.0.0

その後、それを刑務所の特定のIPにバインドするだけです。

ListenAddress 172.17.2.1

戻る/etc/pf.conf。刑務所tornodeにアクセスするには、ポートweb80と443へのアクセスを明示的に許可する必要があります。

pass on $jif proto tcp from $tornode to $web port http
pass on $jif proto tcp from $tornode to $web port https

刑務所内でhttpをテストするには、web以下も指定する必要があります。

pass on $jif proto tcp from $web to $web port http

多くの道路がローマにつながっていますが、上記の方法は私にぴったりの甘くてシンプルな設定です。

関連情報