เมื่อเทคโนโลยีได้กลายเป็นปัจจัยที่ 5 ของการดำเนินชีวิต และการทำงานในแต่ละวันของเราไปแล้ว การเรียนรู้เทคโนโลยีใหม่ ๆ อยู่เสมอ จะช่วยให้เราสามารถปรับตัว และนำเทคโนโลยีมาใช้ให้เกิดประโยชน์สูงสุดในทุก ๆ ด้าน ทั้งประโยชน์ในการดำเนินชิวิตประจำวัน การทำงาน และการดำเนินธุรกิจ และจะทำให้เราไม่ตกเทรนด์ค่ะ หลาย ๆ บริษัท ได้นำเครื่องมือ…
สวัสดีครับ วันนี้ผมจะมาแนะนำ Tools ที่ใช้สำหรับการเข้าถึง database (MySQL, MariaDB) ผ่าน Web Browser คือ phpMyAdmin นั่นเอง
หลายๆคนที่ทำงานด้าน software ไม่ว่าจะเป็น Developer, DevOps คงคุ้นเคยกับเจ้า phpMyAdmin เป็นอย่างดีเนื่องจากเป็น Tools ที่ใช้งานง่าย สะดวกสบาย จึงเป็นที่นิยมกันอย่างแพร่หลาย แต่ทราบกันไหมครับว่าหากเราจำเป็นต้องเปิดใช้งาน phpMyAdmin แบบ public (สาธารณะ) ทุกคนสามารถเข้าถึงได้ผ่าน internet จะเสี่ยงต่อการถูกโจมตีจาก Hacker รวมถึงโขมยข้อมูลที่สำคัญจาก database ของเรา
ผมจึงอยากจะมาแบ่งปันเทคนิคในการใช้ Tools นี้ให้ปลอดภัยมากยิ่งขึ้น คือ ควรเปิดใช้งานเมื่อต้องการเชื่อมต่อเข้าถึง database หลังจากใช้งานเสร็จควรปิดการเข้าถึง phpMyadmin ทันที
โดยเทคนิคที่ผมใช้ก็คือ การเปิดใช้งาน phpMyAdmin ผ่านเครื่องคอมพิวเตอร์ หรือ laptop ของตนเอง(localhost) และเปิดใช้งาน ssh tunnel เพื่อเชื่อมต่อ phpMyAdmin จาก localhost ไปยัง Database server
สิ่งที่ต้องเตรียมในการใช้งาน phpMyAdmin ผ่าน ssh tunnel
- เครื่อง server ระบบปฏิบัติการ Ubuntu 20.04 LTS จำนวน 1 เครื่อง พร้อมติดตั้ง Docker
- เครื่องคอมพิวเตอร์หรือ laptop ส่วนตัว จำนวน 1 เครื่อง พร้อมโปรแกรม terminal
- สำหรับ Mac OS จะมีโปรแกรม Terminal ที่ติดตั้งมาให้พร้อมกับระบบปฏิบัติการ
- สำหรับ Windows แนะนำให้ติดตั้งโปรแกรม Ubuntu WSL
- โปรแกรม Web Browser เช่น FireFox, Google Chrome, Microsoft Edge เป็นต้น
ขั้นตอนที่ 1
ทำการ remote ไปที่ server และ clone source code สำหรับติดตั้ง database MySQL ด้วย docker compose
$ git clone https://github.com/Mrthitipong/phpmyadmin_with_ssh_tunnel.git
จากนั้นเข้าไปยัง directory ของ code ด้วยคำสั่ง
$ cd phpmyadmin_with_ssh_tunnel
จากนั้น run คำสั่ง docker compose เพื่อติดตั้ง database
$ docker compose –file docker-compose.yml up -d
ขั้นตอนที่ 2
เปิดโปรแกรม terminal ที่เครื่องของตนเองและใช้คำสั่งเพื่อเปิดใช้งาน ssh tunnel
$ ssh -L localPort:ipLocal:remotePort -N -f remoteUser@remoteIP
- localPort คือ port ที่ต้องการเปิดภายในเครื่องตนเอง
- ipLocal คือ ip ที่อนุญาตให้เข้าถึงภายในเครื่องตนเอง
- remotePort คือ port ของเครื่อง server ที่ phpMyAdmin เปิดใช้งาน
- remoteUser คือ user ที่ใช้ในการเข้าถึง server
- remoteIP คือ IP ของเครื่อง server
$ ssh -L 8080:127.0.0.1:8888 -N -f [email protected]
ขั้นตอนที่ 3
เปิดโปรแกรม Web Browser และพิมพ์ URL “localhost:8080” เพื่อใช้งาน phpMyAdmin
สุดท้ายนี้ หวังว่าเทคนิดนี้จะเป็นประโยชน์กับผู้ที่ใช้งาน phpMyAdmin หรือผู้ที่สนใจและกำลังมองหา Tools ในการจัดการ Database ผ่าน Web browser ที่ง่าย สะดวกสบายนะครับ