17 ตุลาคม 2564

Pulse Secure บน Windows กับการให้ Script ทำงานหลังจากเชื่อมต่อสำเร็จ

บันทึกไว้เพื่อทำซ้ำในครั้งต่อไป และแบ่งปันเผื่อเป็นประโยชน์กับสาธารณะ

ผมถนัดนั่งทำงานกับเครื่องที่เป็น Linux มากกว่า Windows และโดยส่วนตัวไม่ค่อยชอบ Windows เท่าไรแม้จะออก WSL มาก็ตาม อย่างไรก็ตามผมก็เลี่ยง Windows ไม่ได้เพราะเครื่องที่ทำงานให้มาใช้ก็เป็น Windows 10

แม้ว่าจะให้เครื่องมาใช้ แต่ที่ทำงานก็อนุญาตให้ใช้เรื่อง Windows ที่ติดตั้ง Security Software ต่างๆ ผ่านมาตรฐานให้ใช้งานผ่าน Pulse Secure VPN ได้ โดยผมขอใช้ Hard Token ซึ่งจะสร้าง One Time Password มาให้เพื่อทำการเชื่อมต่อ ผมจึงได้สร้าง VM บน VirtualBox เพื่อลง Windows 10 ทำการติดตั้ง Security Software ตามมาตรฐานและลง Pulse Secure เพื่อเชื่อมต่อ VPN

แต่ผมไม่อยากทำงานบน Windows VM เพราะถ้าต้องประชุมเปิดกล้องบน Microsoft Teams จะต้องโอน USB Camera ไปให้ ในขณะที่ ผมมีประชุมกับภายนอก อย่าง Zoom, Google Meet หรือ WebEx ซึ่งไม่จำเป็นที่จะต้องทำผ่าน VPN ผมก็เลยใช้วิธีตั้ง Proxy แล้วทำ Port Forwarding จาก Linux Host ไปยัง Windows VM ตรงนี้ไปดูคู่มือ VirtualBox เอา ผมจะไม่อธิบาย

ปัญหาก็คือ Proxy ใน Windows VM จะต้อง Start หลังจากที่ VPN ทำการเชื่อมต่อสำเร็จเท่านั้น ตอนแรกพยายามทำด้วย Batch โดยสั่งให้ pulselaucher.exe ซึ่งเป็น command line ทำงานก่อน ตามด้วยเรียก Proxy ให้ทำงาน แต่ปรากฎว่า pulselaucher.exe เกิด Exit with Error ตลอดเพราะไม่รองรับการตรวจสอบ Policies ที่บริษัทตั้งไว้เหมือกับที่ทำผ่าน Pulse Secure UI

ก็เลยคิดว่ามีทางไหมที่จะใช้ Pulse Secure UI นั่นแหละแล้วเมื่อเชื่อมต่อได้แล้วถึงสั่งให้ Proxy ทำงาน ก็เลยไปดู Windows Event Log ว่ามี Event ไหนที่บอกได้ว่าได้เชื่อมต่อ VPN สมบูรณ์แล้วก็พบว่ามี IVE Event 312, 306 และ 305 ตามลำดับดังรูป

พอได้ Event มาก็ไปทำ Task Scheduler ให้ Trigger ในเงื่อนไขตามรูป

ส่วน Action ก็สั่ง "Start a program" แล้วก็ใส่ command และ arguments เพื่อให้ Proxy ทำงาน

ต่อไปทุกครั้งที่เชื่อมต่อสำเร็จ Proxy ก็จะทำงานอัตโนมัติ

หวังว่าจะเป็นประโยชน์ต่อผู้ที่ต้องการ Run Script หลังจาก Pulse Secure เชื่อมต่อสำเร็จ (ซึ่งไม่รู้ว่าจะมีหรือเปล่า) นะครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น