Skip to main content
0
Computer SystemProgramming Concept

DevSecOps มันคืออะไร? ทำอะไรบ้าง? ไปดูกันเลยยย!!!

        ต้องบอกว่าปัจจุบันนี้เราอยู่ในยุค Digital Transformation ยุคที่ IT เข้ามามีส่วนเกี่ยวข้องกับชีวิตประจำวันของเราแทบจะทั้งสิ้น Software ต่าง ๆ เข้ามามีบทบาทสำคัญต่อภาคธุรกิจมากมาย ทำให้การพัฒนา Software ต้องมีความรวดเร็วและถูกต้อง หลายคนอาจจะเคยได้ยินคำว่า “DevOps”

        ผู้ที่เข้ามาทำให้ทุกอย่างเป็นไปได้ในเรื่องของการพัฒา Software แต่การพัฒนาอย่างเดียวอาจไม่เพียงพออีกต่อไป เมื่อเรื่องของ Security ก็สำคัญไม่แพ้กัน วันนี้เราจะพาไปรู้จักกับ “DevSecOps” แนวคิดการทำงานรูปแบบใหม่ ที่ช่วยลดช่องโหว่ความไม่ปลอดภัยและการรั่วไหลของข้อมูลควบคู่ไปกับการพัฒนา Software ได้อย่างมีประสิทธิภาพ

โดย คุณกัณฑณัติ ศรีหิรัญ
Senior System Engineer, MFEC

Image from Wallpapers

      ก่อนอื่นเราจะขอเล่าที่มาที่ไปของ DevSecOps กันก่อน ในยุคที่แนวคิด DevOps และ Agile เริ่มได้รับความนิยมและนำไปปรับใช้ในการพัฒนา Software ให้เร็วขึ้นเพื่อตอบสนองต่อความต้องการของกลุ่มเป้าหมาย พอถึงจุดหนึ่งที่เราทำ Application ออกมาได้รวดเร็วตามที่คาดหวัง และจะนำไป Deploy ขึ้นสู่ Production

คำถามสำคัญที่มักจะถูกถามถึงเสมอคือ ความปลอดภัยของ application มีมากพอหรือยัง, สิ่งที่นำมาพัฒนา software เช่น library ต่าง ๆ รวมถึงวิธีการเขียนในแต่ละภาษา ได้รับการตรวจสอบมาดีแล้วใช่ไหมและสุดท้ายเราสามารถเชิ่อมั่นในความปลอดภัยได้แล้วหรือยัง? คำถามเหล่านี้มักจะปรากฏขึ้นมาในช่วงท้ายของการพัฒนา software เรามักจะทราบถึงช่องโหว่ที่ต้องแก้ไขจากการทำ Penetration Testing (pentest) ซึ่งมักจะมีเวลาไม่มากนักให้ Developer แก้ไขสิ่งที่ตรวจพบและอาจนำมาซึ่งความเครียดในแต่ละครั้งของการ deploy

เหตุการณ์ข้างต้นเกิดขึ้นเพราะในแนวคิดแบบเดิม เรามักจะไม่ได้คำนึง security ในทุกกระบวนการพัฒนา software. Security เองก็ถูกมองเป็นตัวขัดขวางการดำเนินงานหรือถูกมองเป็น silo ด้วยเหตุนี้จึงเกิดแนวคิดที่จะแก้ปัญหากเหล่านี้โดยการนำ Security เข้ามาอยู่ในกระบวนการพัฒนา software ตั้งแต่แรกเริ่มที่หลายท่านอาจเคยได้ยินกันมาแล้วว่า การทำ “Shift-Left” – “Shift-left” คือการถอยไปเริ่มสร้างความปลอดภัยตั้งแต่แรกเริ่มตั้งแต่ วิธีการเขียน การเลือกใช้ library รวมถึงการเลือก image มาทำ container ในยุคที่การทำ containerization เป็นที่นิยม

สิ่งเหล่านี้จะถูกนำไปปรับใช้ผ่าน tools ต่าง ๆ ที่ช่วยในการทำ application security เช่น การสแกนด้วย SAST, SCA และ Container security platform ต่าง ๆ ซึ่งมีให้เลือกใช้ทั้ง OSS(Open-source software) และ Enterprise edition การนำเครื่องมือเหล่านี้มาปรับใช้ จะทำให้ developer ทราบถึงปัญหาที่อาจจะเกิดในปลายทาง ตั้งแต่แรกเริ่มของการพัฒนา software และเมื่อเจอประเด็นเหล่านี้บ่อย ๆ จนสามารถปรับแก้ได้จนคุ้นชิ้นก็จะสร้างนิสัยในการ coding ที่มีความปลอดภัยขึ้นมา หรือที่เรียกกันว่า secure coding และที่สำคัญคือจะเป็นการ educated developer ให้มี security awareness ในหลาย ๆ ขึ้นตอนในการพัฒนา software

จะเห็นว่าจากแนวคิด shift-left ข้างต้นและการนำมาผสมผสานกับการทำ automation เพื่อผนวก security ลงไปกระบวนการพัฒนา software ที่มีการพัฒนาอย่างรวดเร็วและแม่นยำอยู่แล้วอย่าง CI/CD จึงเกิดแนวคิดที่เรียกว่า DevSecOps ขึ้นมา

 

หน้าที่ของ DevSecOps ในแต่ละวันทำอะไรบ้าง?  

หลัก ๆ แล้วงานในส่วนของ DevSecOps ที่ทีมของ MFEC ทำมีอยู่ 3 ส่วนคือ

1. ให้คำปรึกษา (Consultant)
หลังจากที่เราเข้าไปติดตั้ง Tools ในการตรวจสอบ Application Security เช่น การทำ Source Code scanning, การตรวจสอบ Library ที่ถูกนำไปใช้ ในบางครั้งเมื่อได้รับผลสแกนทางลูกค้าอาจมีคำถามหรือข้อสงสัย ถึงวิธีการแก้ไขประเด็นที่เกิดขึ้น ทางทีมก็จะเข้าไปช่วยอธิบายถึงวิธีการแก้ไขให้กับลูกค้า นอกจากจะอธิบายถึงวิธีการแก้ไขแล้วยังอธิบายให้ทางลูกค้าทราบถึงสาเหตุว่าทำไมประเด็นเหล่านี้ถึงเกิดขึ้น เพื่อที่จะให้ผู้ใช้งานเข้าและจะเป็นการสร้าง security awareness ไปในตัว ปัญหาเหล่านี้จะได้ไม่เกิดขึ้นมาอีกในอนาคตสอดคล้องไปกับแนวคิด DevSecOps

2. Implement
การออกไปทำการติดตั้งเครื่องมือในการตรวจสอบความปลอดภัย โดยส่วนใหญ่ software ด้าน security เหล่านี้ต้องติดตั้งบน infrastructure ในหลากหลายรูปแบบเช่น Linux host, Docker runtime หรือ Container orchestrator เช่น Kubernetes and Red Hat Openshift ทางทีมจึงต้องมีความรู้ความเข้าใจในสิ่งเหล่านี้ เพื่อที่จะได้ทำการติดตั้งได้อย่างมีประสิทธิภาพและสามารถแก้ไขปัญหาที่อาจจะเกิดขึ้นได้ในอนาคต หลักจากทำการติดตั้งสิ่งที่ต้องทำต่อไปก็คือการตั้งค่าต่าง ๆ เช่น การสร้าง policy, security rules การทำในส่วนนี้ต้องอาศัยความรู้ความเข้าใจในการทำงานของ tools และความรู้ด้าน security ที่ tools นั้น ๆ จะเข้าไปทำการตรวจสอบเพื่อที่จะทำให้การตั้งค่าเกิดประโยชน์สูงสุดกับลูกค้าแต่ละที่

3. Operations
หลังที่ tools ต่าง ๆ ได้รับการติดตั้งและตั้งค่าเพื่อส่งมอบให้กับทางลูกค้าแล้ว ทางทีมยังมีบริการที่จะเข้ามาช่วยลูกค้าในการ operate เครื่องมือเหล่านี้ให้สอดคล้องไปกับ Business process ของทางลูกค้า อีกทั้งยังทำในส่วนของการ integration เครื่องมือเหล่านี้เข้าไปกับการพัฒนา software เช่น ในบางครั้งทีมเข้าไปช่วยเหลือลูกค้าในการเขียน Jenkins job เพื่อ integrate security tools เหล่านี้เข้ากับ CI/CD pipeline เพราะบางครั้งคนที่ทำในส่วนนี้ก็ไม่เข้าใจถึงสิ่งที่ security tools ต้องเขียนและเข้าไปทำและเช่นกันในการทำ security แบบเดิมอาจไม่มี skill set ที่ครอบคลุมถึงการทำสิ่งเหล่านี้ สุดท้ายยังช่วยตอบคำถามลูกค้าเบื้องต้นในกรณีที่ลูกค้าสงสัยในผลสแกนหรือวิธีการแก้ไข หากคำถามเหล่านั้นมีรายละเอียดที่มากขึ้น ก็จะส่งให้ส่วนที่ดูในงาน consultant เข้ามาดูแล

 

อยากทำงานตำแหน่งนี้ควรเริ่มจากสายไหนดี?  

ต้องอธิบายให้เข้าใจอย่างนี้ครับว่า DevSecOps ย่อมาจาก 3 คำได้แก่

Dev = Developer

Sec = Security

Ops = Operation

ตำแหน่ง DevSecOps ก็สามารถเริ่มต้นได้จากคนทั้ง 3 กลุ่ม  

กลุ่มที่ 1 Developer

อาจจะเป็นกลุ่ม Developer ที่พัฒนา Software ทำหน้าที่ในการเขียนโค้ด และพัฒนา Software โดยตรง แต่มีความอยากรู้หรือสนใจเรื่อง Infrastructure และอยากจะทำ Security ในส่วนนี้จะมีความรู้ความเข้าใจในส่วน application security สามารถนำมาต่อยอดในการอ่านผลสแกนและแนะนำลูกค้าในส่วนของการแก้ไขได้

กลุ่มที่ 2 Security

หากมาจากสาย Security แต่สนใจอยากจะมาเรียนรู้ว่า Application Security ที่เขาทำกันมีอะไรบ้าง ก็จะได้เปรียบตรงที่เรารู้เรื่อง Security มาก่อนอาจเข้าใจถึงสิ่งที่ tools อธิบายและแนะนำได้ดี ซึ่งสิ่งที่ต้องเรียนรู้เพิ่มก็จะเป็นในเรื่องของการ Dev อาจไม่ถึงขั้นต้องเขียน application ได้แต่ต้องเข้าใจในสิ่งที่ Developer ทำและพยายามจะทำ สุดท้ายเป็นเรื่องการทำ Automation ที่จะเข้ามาช่วยในการทำ Integration ได้อย่างมาก

กลุ่มที่ 3 Operation

กลุ่มสุดท้ายอาจจะมาจากกลุ่มที่ทำ System มาก่อนซึ่งจะมีทักษะทางด้านการทำ OS และ Automation หรือ scripting เป็นอยู่แล้ว แต่อาจจะยังมีความรู้ความเข้าใจเรื่อง Software Developer ไม่มากนัก รวมถึงเรื่อง Security ด้วย ก็สามารถเริ่มศึกษาหาความรู้ความเข้าใจหลักการทำงานของ Dev เช่นเดียวกันว่าอาจจะไม่ต้องลึกไปถึงขั้น Coding ได้แต่ต้องเข้าใจในกระบวนการในสิ่งที่ Developer กำลังทำอยู่ และควรเพิ่มความรู้ทางด้าน Security เพื่อที่จะเข้าใจในสิ่งที่ tools พยายามจะบอก

 

สุดท้ายนี้ไม่ว่าจะมาจากสายไหน? ขอแค่ทุกคนมีความสนใจและตั้งใจที่จะพัฒนาทักษะของตนเองให้ครอบคลุมทั้ง 3 ด้านและหมั่นศึกษาอัปเดตความรู้ของตนเองอยู่เสมอก็สามารถเป็น DevSecOps ได้อย่างแน่นอน

หากคุณสนใจพัฒนา สตาร์ทอัพ แอปพลิเคชัน
และ เทคโนโลยีของตัวเอง ?

อย่ารอช้า ! เรียนรู้ทักษะด้านดิจิทัลเพื่ออัพเกรดความสามารถของคุณ
เริ่มตั้งแต่พื้นฐาน พร้อมปฏิบัติจริงในรูปแบบหลักสูตรออนไลน์วันนี้

BorntoDev

Author BorntoDev

BorntoDev Co., Ltd.

More posts by BorntoDev

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้
    รายละเอียดคุกกี้

  • คุกกี้สำหรับการติดตามทางการตลาด

    ประเภทของคุกกี้ที่มีความจำเป็นในการใช้งานเพื่อการวิเคราะห์ และ นำเสนอโปรโมชัน สินค้า รวมถึงหลักสูตรฟรี และ สิทธิพิเศษต่าง ๆ คุณสามารถเลือกปิดคุกกี้ประเภทนี้ได้โดยไม่ส่งผลต่อการทำงานหลัก เว้นแต่การนำเสนอโปรโมชันที่อาจไม่ตรงกับความต้องการ
    รายละเอียดคุกกี้

บันทึกการตั้งค่า