can you explain a little more about what you are doing? are you running curl within one of the containers? When you say you dont “see any mTLS”, what do you mean exactly?
the mTLS is made by the sidecar not your application: app1 <---> sidecar1 <=======> sidecar2 <---> app2, the mtls is between sidecar1 and sidecar2, the traffic between app and sidecar might be just plaintext.
Yes, I understand that the mTLS will be between sidecar <==> sidecar
but i don’t see the mTLS badge between connection for example i have deployed the Bookinfo sample application from below link. It’s also not showing the mTLS badge between services in Kiali dashboard.
when i curl http://app2 from app1 container i see above green arrow app1 > app2 service > app2
root@app1-b6c8f6c99-x85r8:/# while true; do curl -k http://app2:80 ; sleep 1; done
<html><body><h1>It works!</h1></body></html>
<html><body><h1>It works!</h1></body></html>
<html><body><h1>It works!</h1></body></html>
<html><body><h1>It works!</h1></body></html>
but when i do curl -k https://app2:80 from app1 container i see the mTLS badge but its giving below error.
root@app1-b6c8f6c99-x85r8:/# while true; do curl -k https://app2:80 ; sleep 1; done
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
Found out if we apply PeerAuthentication in istio 1.9.0 the mTLS badges appears on top right corner and if PeerAuthentication is not applied it displayed on pod and services.
I also ran into the exact same issue as Alok. I encourage the Kiali team to take another review of the UX global security icon (on and off). I don’t think it is obvious and I had to go to my grafana dashboard to confirm mtls is enabled as istioctl authn command is also broken.
Also,in earlier versions of Kiali, if I have global strict authn enabled in istio, I would still see the security icon among microservices in Kiali. I think this is a lot more clear than what Kiali has now.
@linsun can you create a kiali issue and describe the problems? cc @xeviknal - I believe he’s the best one to handle looking at Kiali’s implementation of this.
we considered to hide all the locks when the global security is ON however edges without mTLS show a broken lock icon. The rationale behind was to reduce the number of locks in the graph and overview page because they are quite redundant with the global policy.
Kiali relies that Istio will enable mTLS unless there is a config that prevents it. When that config is in place, then kiali will show a broken lock.
Perhaps showing the mTLS status in the graph side panel would help to reduce the confusion.
While we revisit the UX around mTLS, lock badging, etc, I would also mention that you can use the “Graph Find” feature and enter “mtls” to see edges with mTLS active, or “!mtls” to see edges where it is not active. It will activate the display option automatically, if necessary.
Thank you for tracking this issue before I have the chance to, much appreciated! I will put my comment in the issue - my main concern is the mesh wide mTLS icon isn’t easily found and not showing the security badge when user asks for it seems very unintuitive.
Perhaps if you select the “Show Security” edge icons (Display>Security), if global mTLS is enabled, we somehow “flash” the lock icon in the masthead to bring the user’s attention to it.
Thank you for tracking this issue before I have the chance to, much appreciated! I will put my comment in the issue - my main concern is the mesh wide mTLS icon isn’t easily found and not showing the security badge when user asks for it seems very unintuitive.