私はプロジェクトにIPSECサーバーを配備するように依頼されました。いくつかの調査を行った後、StrongSwanは良い候補のようです。このプロジェクトには最高のセキュリティが必要なので、StrongSwanの最新バージョン(5.6.2)をインストールすることにしました。これは、いくつかのセキュリティの問題とその他の問題を修正するようです。
そのため、過去数日間、構成方法の検討に費やしました。これは/etc/ipsec.conf
を使用して実行できましたが、StrongSwanのWebサイトを読むと、今では従来の設定方法になっています。
StrongSwanを構成するための推奨される方法は、強力なviciインターフェースとswanctlコマンドラインツールを使用することです。 swanctlが使用するswanctl.conf構成ファイルは、証明書および対応する秘密鍵とともにswanctlディレクトリーに保管されます。グローバルなstrongSwan設定とプラグイン固有の構成はstrongswan.confで定義されています。
または、従来のipsecストロークインターフェイスとそのipsec.confおよびipsec.secrets構成ファイルを使用することもできます。
そのため、現在、/etc/swanctl/conf.d
に保存されているファイルを代わりに使用するように構成を変更しようとしています...
私の質問はこれです:
ソースからStrongSwanをビルドし、サーバー(Ubuntu 16.04)で起動して、新しい構成方法を使用する方法を知っている人はいますか?
私の設定行は次のようになります
./configure --prefix=/usr --sysconfdir=/etc \
--enable-systemd --enable-swanctl \
--disable-charon --disable-stroke --disable-scepclient \
--enable-gcm --enable-eap-tls
しかし、これはまだサーバーで開始されません。また、起動用のstrongswan
またはstrongswan-swanctl
も見つかりません。
私の現在のipsec.conf
は次のようになります
conn %default
auto=add
forceencaps=yes
keyexchange=ikev2
keyingtries=1
ike=aes256-sha256-modp2048!
esp=aes256-sha256,aes128-sha256!
dpdaction=clear
inactivity=120s
leftsendcert=always
leftcert=vpn-server-cert.pem
leftsubnet=10.0.0.0/20
leftid=@vpnserver
rightsourceip=172.16.0.0/12
eap_identity=%identity
conn ikev2-cert
rightauth=eap-tls
これは「私が思う」と解釈します
connections {
rw {
version = 2
send_certreq = yes
proposals = aes256-sha256-modp2048!
encap = yes
dpd_delay = 30s
local {
auth = eap-tls
certs = vpn-server-cert.pem
id = vpnserver
}
remote {
auth = eap-tls
}
children {
net {
local_ts = 172.16.0.0/12
esp_proposals = aes256-sha256,aes128-sha256!
inactivity = 120s
}
}
}
}
--enable-systemd
で構成すると、charon-systemd
デーモンが構築され、strongswan
という名前のsystemdサービスユニットがインストールされます。 (他のsystemdユニットと同様に)systemctl
で管理できます。したがって、システムの起動時に起動するには、次のコマンドでユニットを有効にします。
Sudo systemctl enable strongswan.service
(注:systemdサービスユニットは 5.8. より前にstrongswan-swanctl
と呼ばれていました。)
また、構成のより正確な変換は次のとおりです。
connections {
rw {
version = 2
send_cert = always
proposals = aes256-sha256-modp2048
encap = yes
pools = rw
# dpd_delay = 30s you didn't specify this in your ipsec.conf and it seems rather short for roadwarriors
local {
certs = vpn-server-cert.pem
id = vpnserver
}
remote {
auth = eap-tls
eap_id = %any
}
children {
net {
local_ts = 10.0.0.0/20
esp_proposals = aes256-sha256,aes128-sha256
inactivity = 120s
}
}
}
}
pools {
rw {
addrs = 172.16.0.0/12
}
}
上記の「ecdsa」の答えの上に何かを追加したかっただけです。
./configure ...ビルドではなく、ubuntuパッケージを使用してstrongswanをインストールしたばかりの人向け。
サービス「strongswan-swanctl」が見つからないか、インストールできない場合、ubuntuのパッケージ名は「charon-systemd」です。
したがって、パッケージをインストールするには:
Sudo apt-get install charon-systemd
そして、サービスを有効にするには:
systemctl enable strongswan-swanctl