Synerry
0
SYNERRY

DevSecOps

คือแนวคิดในการทำงานรูปแบบใหม่ โดยการรวมฝั่ง Development แบะ Operations
เข้าด้วยกัน โดยมี Security อยู่ระหว่างกลาง และรวมการทำงานทั้ง 3 ส่วน ให้ทำงานร่วมเป็นหนึ่งเดียว
เพื่อใช้ในการพัฒนาซอฟต์แวร์และแอปพลิเคชั่น เพื่อเพิ่มประสิทธิภาพและ ความปลอดภัยให้มากยิ่งขึ้น เป็นแนวทางในการช่วยอุดช่องว่างของปัญหา เรื่องความไม่ปลอดภัย การรั่วไหลของข้อมูลลูกค้า ช่วยลดระยะเวลาของการส่งตรวจ การ Code หรือ Deploy และยังสามารถช่วยตรวจข้อบกพร่องของแอปพลิเคชั่นได้ง่าย โดยไม่ต้องรอการส่งการตรวจสอบเป็นเวลานานๆ แนวคิดดังกล่าว เพื่อที่จะช่วยแก้ไขปัญหาเหล่านี้

Remove

หรือการลบ ลบกำแพงที่มาขวางการทำงานระหว่างทีมออกทั้งหมด โดยทีมฝ่ายควรทำงานร่วมกัน

Shorten

ลดเวลาการส่ง code ระหว่างกัน ไม่ใช่การ deploy ทุก 3 เดือน 6 เดือนเหมือนเดิม แต่ต้องทำยังไงให้สามารถเริ่ม dev วันนี้แล้วสามารถ deploy ในอีก 1 สัปดาห์ 2 สัปดาห์เพื่อเอามา test ก่อน

Faster

ทำยังไงให้ feedback เกิดได้เร็วขึ้น ไม่ต้องรอให้เกิดปัญหาบน Production แล้วค่อยแก้ แต่ต้องทำยังไงให้สามารถส่ง feedback ให้ dev ได้เลยเมื่อได้รับ code มาใน 1-2 วัน

Secure

ตามคำที่ว่า Security in Every Step นั่นคือต้อง secure ทุกขั้นตอนตั้งแต่วันแรกที่เริ่มเขียน code ทำยังไงให้ code ของเราปลอดภัย ไม่ถูกโจมตี

Developer

Secure Code Training

ขั้นตอนนี้จะเป็นการเรียนรู้ถึง AppSec และหน้าที่ที่จะต้องทำ

Secure by Design

ศึกษาหาข้อมูลสำหรับ Use case ทางด้าน Security แล้วนำข้อมูลเหล่านั้นมาวิเคราะห์ และใช้ออกแบบเพื่อให้ตอบโจทย์กับ Use case นั้นๆ

Pre-Commit Configuration for Secret Scanning, Secure Access to App, Code & Image Repository

คือการให้สิทธิ์ที่น้อยที่สุดสำหรับการทำ Role-Based Access Control และแบ่งโครงข่ายสำหรับการเก็บข้อมูลของ Container หรือแม้กระทั้ง Image ต่างๆ

Secure Access to CI Service

มอบสิทธิ์ของการใช้เท่าที่จำเป็นเท่านั้น เพื่อป้องกันบุคคลที่ไม่เกี่ยวข้องในการเข้าถึงหรือเปลี่ยนแปลง Pipeline

Code Analysis

คือการใช้ Static Application Security Testing ในการตรวจสอบว่า Source Code ของเรามีช่องโหว่หรือ Follow Coding Practice

Composition Analysis

คือการวิเคราะห์ Code ของ Third Party Open-Source แล้วนำ Code เหล่านั้นมาใช้โดยเราจำเป็นจะต้องคำนึงถึงความปลอดภัยและต้องผ่านการตรวจสอบของ Open-Source Software Licensing

CI Server Deploys to Test

นำ Automation มาใช้ในการสร้างแอปพลิเคชัน ด้วย Infrastructure as Code (IaC) Security Test ใช้ Automation ในการตรวจสอบช่องโหว่ของและวิเคราะห์ข้อมูลของ Container โดยนำข้อมูเหล่านี้มาวิเคราะห์เพื่อป้องกันการโจมตี Container ของเราได้

Security Review (Human Logic Test)

ส่วนนี้เป็นการทำ Penetration Testing


Operations

Deploy to Production

เป็นการนำ IaC มาใช้ในการสร้างแอปพลอเคชัน

Privileged Access Secrets Management and Network Isolation

เป็นการนำ Policy ของ Network มาใช้เพื่อควบคุมหรือจำกัดสิทธิ์ของการเข้าใช้งาน Container/ Pods นั้นๆ

Application Protection

ป้องกัน Application ของเราโดยอาจจะใช้ Role Based Access Control หรือใช้ Web Application Firewall

Infrastructure and Data Protection

นำ Infrastructure Hardening เข้ามาใช้ Encrypt ข้อมูลหรือ Endpoint อีกทั้ง DLP และ IDP

Vulnerability Scanning

นำ CIS Control Framework เข้ามาใช้ในการสร้าง Image หรือแม้กระทั่งจะเป็น Environment

Continuous Monitoring & Incident Response

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

Rinse & Repeat

คือการพัฒนาและการควบคุมแอปพลิเคชันให้อยู่ในทิศทางที่ถูกต้องและปลอดภัย


Security


ทำไมต้องใช้ DevSecOps และ DevSecOps ดียังไง

  • เพื่อช่วยทำให้กระบวนการในการขึ้นระบบ (Deploy) มีความปลอดภัย มากยิ่งขึ้น และพร้อมที่จะทำการ Rollback ได้หากจำเป็นต้องทำ
  • ทำให้ทีมพัฒนาสามารถทำการพัฒนาขึ้นระบบใหม่ๆ ได้อย่างต่อเนื่อง และง่าย รวมถึงการแก้ไขปัญหาต่างๆ ก็จะลดความยุ่งยากลงไป
  • เพื่อให้ทีมสามารถขยายระบบได้เร็วมากยิ่งขึ้น กรณีที่อาจจะเกิดสิ่งที่ไม่ คาดคิดหรือได้วางแผนไว้

การวางโครงสร้าง Server
สำหรับพัฒนา ในรูปแบบของ DevOps

Tech Stack

NodeJS

Programming Language

Kong

API Gateway (Load Balancer)

Consul

Service registration and Discovery

RabbitMQ

Asynchronous microservices messaging

Logstash

Log collector

Elasticsearch

Log indexer

Kibana

Data visualization

Kubernetes

Automated container deployment, scaling, and management

Weave Scope

Troubleshooting & Monitoring for Docker & Kubernetes

React

JavaScript library for building user interfaces

Bootstrap

Great UI boilerplate for modern web apps

jQuery

HTML document traversal and manipulation

Docker

Containerization platform

Bitbucket

Git solution, Version control

Swagger

API documentation

Technology

โครงสร้างสถาปัตยกรรมซอฟท์แวร์แบบ N-Tier

JIGSAW ERP DEVOPS

โครงสร้าง Network Diagram

Show Case

กรณีศึกษาที่ 1

ตัวอย่างโครงสร้างการออกแบบ DevSecOps + Microservices ให้กับลูกค้ารายใหญ่รายหนึ่ง
เพื่อให้สามารถรองรับการทำงานของเว็บไซต์ภายใต้หน่วยงานเดียวกัน 120 กว่าเว็บไซต์ทั่วประเทศ

งานบริการอื่นๆ ของเรา