このブログを検索

2025/12/12

ASAいろいろ2025

Cisco ASAのssl-vpnをいろいろ直した。

今まではVPN接続後、ASAのLAN側(inside)のみアクセスしていたが、VPN経由でインターネット(outside)にアクセスできるようにした。そして、ASAのLAN側にいる端末は、ASAをGWとして普通にインターネットアクセスする。VPNクライアントはinsideにもアクセスできるようにする。

NATを以下のようにすればよい。

nat (outside,inside) source static VPN_POOL2 NAT_POOL2 destination static INSIDE_NW INSIDE_NW

nat (outside,outside) source dynamic VPN_POOL2 interface

nat (inside,outside) source dynamic any interface outside


1行目は、outside→inside、送信元:VPN、宛先:insideの場合。

送信元はinsideのサブネットに含まれるプールにNATし、宛先はそのまま。

2行目は、outside→outside、送信元:VPN、宛先any、outsideインターフェースにPAT

3行目は、inside→outside、ASAのLANからWANのPAT


1行目はVPNクライアントがinside に入るときにNATを除外する設定である。送信元をNAT_POOL2にNATしているが、これをしなくても、ASAのinsideには届く。ただし、その通信がVPNクライアントに戻るには、insideにある装置にvpnプールセグメント宛のルーティングが必要になる。それがいやだったのでNATしている。ただしNATするときにINSIDEのインターフェースアドレスにするとうまくいかない。

ASAの証明書の期限が切れていたのでついでに更新したが手こずった。 クライアント(iPhone)にCA証明書をインストールするにはCA証明書を.cerなどの拡張子にしてメールなどで添付すればよい。秘密鍵は不要。CA:TRUEのフラグがない証明書はiphoneでverifiedにならず、信頼する対象にならない。

CA:TRUEにするには、openssl.cnfに basicConstraints = CA:TRUE を設定すればよいが、その設定をしたセクションが反映するように明示していするなどしないといけない。

-extensions v3_ca を付けるとか。

署名したら証明書に CA:TRUEがついているか、確認する。(CSRではわからない)


# openssl req -new -x509 -days 3650 -key ./private/cakey.pem -out ca251212.crt -config /etc/pki/tls/openssl.cnf -extensions v3_ca

# openssl x509 -in ./ca251212.crt -text -noout | grep -A1 "Basic Constraints"

            X509v3 Basic Constraints: critical

                CA:TRUE


ASAの証明書は、ASDMでCSRを作成して発行された証明書をインストールする。デフォルトでCAフラグがオンになっているが、これは