StrongSwan buduje i uruchamia przy starcie

1

Poproszono mnie o wdrożenie serwera IPSEC dla projektu, a po przeprowadzeniu badań StrongSwan wygląda na dobrego kandydata. Ponieważ ten projekt wymaga najwyższych zabezpieczeń, postanowiłem zainstalować najnowszą wersję StrongSwan (5.6.2), ponieważ wydaje się, że rozwiązuje kilka problemów związanych z bezpieczeństwem.

Spędziłem więc kilka ostatnich dni, pracując nad tym, jak to skonfigurować, co udało mi się zrobić /etc/ipsec.conf, czytając jednak stronę internetową StrongSwan, jest teraz starszym sposobem konfiguracji.

Zalecanym sposobem konfiguracji strongSwan jest użycie potężnego interfejsu Vici i narzędzia wiersza poleceń swanctl. Plik konfiguracyjny swanctl.conf używany przez swanctl jest przechowywany wraz z certyfikatami i odpowiadającymi im kluczami prywatnymi w katalogu swanctl. Globalne ustawienia strongSwan oraz konfiguracje specyficzne dla wtyczek są zdefiniowane w strongswan.conf.

Alternatywnie można użyć starszego interfejsu obrysu ipsec oraz jego plików konfiguracyjnych ipsec.conf i ipsec.secrets.

Więc teraz próbuję zmienić konfigurację, aby /etc/swanctl/conf.dzamiast tego użyć pliku zapisanego w ...

Więc moje pytanie brzmi:

Czy ktoś wie, jak zbudować StrongSwan ze źródła i uruchomić go z serwerem (Ubuntu 16.04) i użyć nowej metody konfiguracji?

Moja linia konfiguracji wygląda tak

./configure --prefix=/usr --sysconfdir=/etc \
  --enable-systemd --enable-swanctl \
  --disable-charon --disable-stroke --disable-scepclient \
  --enable-gcm --enable-eap-tls

ale nadal nie zaczyna się od serwera, nie mogę go znaleźć strongswanani strongswan-swanctldo uruchomienia.

Mój obecny ipsec.confwygląda tak

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

co „myślę” przekłada się na to

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
         }
      }
   }
}
chrześcijanin
źródło

Odpowiedzi:

2

Jeśli skonfigurujesz za --enable-systemdpomocą charon-systemddemona, zostanie zbudowana i zainstalowana zostanie jednostka systemowa o nazwie strongswan-swanctl. Możesz nim zarządzać (jak każda inna jednostka systemowa) za pomocą systemctl. Aby uruchomić go przy starcie systemu, włącz urządzenie za pomocą:

sudo systemctl enable strongswan-swanctl.service

Dokładniejsze tłumaczenie konfiguracji jest następujące:

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
źródło
Dołączyłem --enable-eap-identitydo użycia zeap_id = %any
Christian
Dodam, że mam też przeniósł certyfikatów od /etc/ipsec.d/[private|certs|cacerts]do/etc/swanctl/[private|x509|x509ca]
chrześcijańskich
Rozumiem! Dzięki za pomoc. Dziwnie musiałem odtworzyć certyfikaty.
Christian
Dlaczego musiałeś ponownie utworzyć certyfikaty?
ecdsa,
Podczas łączenia pojawiał się błąd, ikev2_crypto_remote_cert_and_s:3166 Certificate is not trustedale nic nie zmieniłem na kliencie (OSX Sierra)
Christian