web-dev-qa-db-ja.com

StrongSwanは起動時にビルドおよび実行されます

私はプロジェクトに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
         }
      }
   }
}
1
Christian

--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 
   }
}
4
ecdsa

上記の「ecdsa」の答えの上に何かを追加したかっただけです。

./configure ...ビルドではなく、ubuntuパッケージを使用してstrongswanをインストールしたばかりの人向け。

サービス「strongswan-swanctl」が見つからないか、インストールできない場合、ubuntuのパッケージ名は「charon-systemd」です。

したがって、パッケージをインストールするには:

Sudo apt-get install charon-systemd

そして、サービスを有効にするには:

systemctl enable strongswan-swanctl
1