目次
Outline
Minimal
最低限のSSL VPN設定
SSL VPNクライアントのアドレス設定
config firewall address
edit "TEST_SSLVPN_ADDR"
set type iprange
set start-ip 192.168.1.10
set end-ip 192.168.1.20
next
end
SSL VPNクライアントのアクセスを許可するアドレス
config firewall address
edit "TEST_SSLVPN_ALLOW_SEGMENT"
set subnet 192.168.1.0 255.255.255.0
next
end
SSL VPN ユーザ作成
config user local
edit "user1"
set type password
set passwd PASSWORD
next
end
SSL VPN グループ作成
config user group
edit "TEST_SSLVPN_GROUP"
set member "user1"
next
end
SSL VPN Portal作成
config vpn ssl web portal
edit "TEST_SSLVPN_PORTAL"
set tunnel-mode enable
set web-mode enable
set ip-pools "TEST_SSLVPN_ADDR"
next
end
許可ユーザ以外の SSL VPN Portal作成
config vpn ssl web portal
edit "TEST_SSLVPN_PORTAL_NOACCESS"
set allow-user-access ping
set web-mode disable
next
end
SSL VPN Setting
config vpn ssl settings
set servercert "Fortinet_Factory"
set tunnel-ip-pools "SSLVPN_TUNNEL_ADDR1"
unset tunnel-ipv6-pools
set source-interface "wan2"
set source-address "all"
unset source-address6
set default-portal "TEST_SSLVPN_PORTAL_NOACCESS"
config authentication-rule
edit 1
set groups "TEST_SSLVPN_GROUP"
set portal "TEST_SSLVPN_PORTAL"
next
end
end
Firewall Policy
config firewall policy
edit 1
set name "TEST_SSLVPN_POLICY"
set srcintf "ssl.root"
set dstintf "internal5"
set action accept
set srcaddr "TEST_SSLVPN_ADDR"
set dstaddr "TEST_SSLVPN_ALLOW_SEGMENT"
set schedule "always"
set service "ALL"
set groups "TEST_SSLVPN_GROUP"
next
end
email認証
email認証のSSL VPN ユーザ作成
config user local
edit "emailuser"
set type password
set two-factor email
set email-to "user2@example.com"
set passwd PASSWORD
next
end
SSL VPN グループに追加
config user group
edit "TEST_SSLVPN_GROUP"
append member "emailuser"
next
end
メールサーバ設定
デフォルトの設定だとreply-toが宛先メールアドレスとなるため、メール環境によってはSPAM扱いになることがある。
なので、送信サーバに合わせて設定しておいたほうが良いと思う。
config system email-server
set reply-to "noreply@notification.fortinet.net"
set server "notification.fortinet.net"
set port 465
set security smtps
end
クライアント証明書認証
FortiGate側設定
GUIで証明書画面を有効化
config system global
set gui-certificates enable
end
Private CA証明書インストール
config vpn certificate ca
edit "TEST_SSLVPN_CA
set ca "-----BEGIN CERTIFICATE-----
<"の間にSSL証明書をペースト>
-----END CERTIFICATE-----"
next
end
PKIユーザ設定
subjectはなくてもOK。
ただ、emailだけは上手くいかない・・・
set subject "E=crtuser@example.com"
とかでははだめ、メールアドレスのみset subject "crtuser@example.com"
にしてもだめだった・・・
ちなみにOU = Lab, O = AsakusaLab
はいける。
config user peer
edit "crtuser"
set ca "TEST_SSLVPN_CA"
set subject "CN=crtuser"
set two-factor enable
set passwd PASSWORD
next
end
PKIユーザをSSL VPN グループに追加
config user group
edit "TEST_SSLVPN_GROUP"
append member "crtuser"
next
end
VPN SSL Settings
config vpn ssl settings
set servercert "Fortinet_Factory"
set tunnel-ip-pools "SSLVPN_TUNNEL_ADDR1"
set tunnel-ipv6-pools "SSLVPN_TUNNEL_IPv6_ADDR1"
set source-interface "wan2"
set source-address "all"
set source-address6 "all"
set default-portal "TEST_SSLVPN_PORTAL_NOACCESS"
config authentication-rule
edit 1
set groups "TEST_SSLVPN_GROUP"
set portal "TEST_SSLVPN_PORTAL"
next
end
end
FG60F-Primary (settings) # show full | grep tls
set ssl-max-proto-ver tls1-3
set ssl-min-proto-ver tls1-2
set dtls-hello-timeout 10
set dtls-tunnel enable
set dtls-max-proto-ver dtls1-2
set dtls-min-proto-ver dtls1-0
FG60F-Primary (settings) # show full | grep alg
set algorithm high
set client-sigalgs all
クライアントPC側設定
インターネットオプションの設定
Ctrl+Rでcontrol inetcpl.cpl
を開く
control inetcpl.cpl
詳細設定でtlsの設定を合わせる
* [] SSL 3.0
* [] TLS 1.0
* [x] TLS1.1
* [x] TLS1.2
* [x] TLS1.3
クライアント証明書をPKCS#12に変換
openssl pkcs12 -export -in crtuser.crt -inkey crtuser.key -out crtuser.pfx
クライアント証明書をPCにインストール
windowsの場合
* PrivateCA証明書をダブルクリックしてインストール
-「現在のユーザ」推奨
– 証明書をすべて次のストアに配置する > 「信頼されたルート証明機関」
- クライアント証明書をダブルクリックしてインストール
-「現在のユーザ」推奨- 保護のパラメータは任意
- 証明書をすべて次のストアに配置する > 「個人」
FortiClientで新規接続の作成
- クライアント証明書のプルダウンでインポートした証明書を選択する
- 無効なサーバ証明書の警告を非表示(推奨、v7.0.xでは選べないかも)