รีเวิร์สพร็อกซี TOTP สำหรับเซิร์ฟเวอร์ส่วนตัวแบบปิด พัฒนาด้วย Rust
(github.com/KBluePurple)นี่คือรีเวิร์สพร็อกซีที่ใช้การยืนยันตัวตนแบบอิง TOTP ซึ่งเหมาะมากสำหรับกรณีที่ต้องเข้าถึงจากที่สาธารณะ หรือเมื่ออยากให้สิทธิ์เข้าถึงชั่วคราวกับเพื่อน
ใช้ Pingora ของ Cloudflare และพัฒนาด้วยภาษา Rust จึงมีน้ำหนักเบามากและให้ประสิทธิภาพที่รวดเร็ว!
ผมชอบภาษา Rust มาก แต่ก่อนหน้านี้ยังไม่ได้สร้างโปรเจกต์อะไรเป็นชิ้นเป็นอัน เอาแต่ลองนิดลองหน่อยพร้อมเรียนรู้ไปเรื่อย ๆ จนวันหนึ่งก็มีไอเดียโปรเจกต์ที่คิดว่าน่าจะเหมาะกับการนำมาใช้จริง เลยกลายเป็นโปรเจกต์ Rust แบบจริงจังชิ้นแรกที่นำมาเปิดเผยต่อสาธารณะครับ
สามารถสร้าง OTP แบบใช้ครั้งเดียวเพื่อยืนยันตัวตนและเข้าใช้งานได้ผ่าน Google Authenticator หรือแอปอื่น ๆ ที่รองรับ TOTP
โดยพื้นฐานแล้วเซสชันจะคงอยู่ได้สูงสุด 30 นาที และหากต้องการก็สามารถเปิดใช้ TLS/HTTPS ได้ อีกทั้งหากตั้งค่าเพิ่มเติมเล็กน้อย ก็สามารถประมวลผลคำขอที่ส่งผ่านพร็อกซีอื่นมาก่อนได้อย่างถูกต้อง
เนื่องจากเป็นพร็อกซีที่พัฒนาขึ้นเพื่อความปลอดภัย ผมจึงพยายามพัฒนาโดยให้ความปลอดภัยเป็นลำดับแรกมากที่สุด!
ตอนนี้ยังเป็นโปรเจกต์ที่มีแค่ผมคนเดียวที่ได้ลองใช้งาน จึงอาจยังไม่สมบูรณ์นัก ดังนั้นยินดีรับฟีดแบ็ก, Issue และ PR เสมอครับ!
4 ความคิดเห็น
สงสัยว่าสามารถทำให้เกิดสถานการณ์ที่ให้สิทธิ์เข้าถึงแก่เพื่อนได้ชั่วคราวได้อย่างไร เพราะเข้าใจว่าผู้ใช้ทุกคนใช้ค่า secret เดียวกันใช่ไหม
ถ้าผมแค่ส่งรหัสผ่าน 6 หลักที่สร้างจากซีเคร็ตให้เพื่อน เพื่อนก็จะสามารถยืนยันตัวตนชั่วคราว เข้าไปใช้งานได้ตามสถานการณ์นี้!
แม้อาจจะใช้งานได้ยากในสถานการณ์แบบอะซิงโครนัส แต่ผมพบว่ามันมีประโยชน์มากในกรณีที่ต้องแชร์เซิร์ฟเวอร์กันชั่วคราวเป็นส่วนใหญ่!
อ๋อ เข้าใจแล้ว ขอบคุณครับ
โอ้.....