主にダークネット活動に使用される既存の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
にアクセスするには、ポートweb
80と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
多くの道路がローマにつながっていますが、上記の方法は私にぴったりの甘くてシンプルな設定です。