μλ νμΈμ ꡬλ μλ, μ΅μ DevOps μμμ μ 리ν΄μ 곡μ ν΄λ리λ DevOps μ¬νμ μν μμμ§μ λλ€.
μΉ μλΉμ€λ₯Ό λ°°ν¬νκ³ μ΄μνλ€λ©΄ ν΄λΉ μλΉμ€λ₯Ό μννλ 컨ν μ΄λλ₯Ό νΉμ νκ²½μ λ°°ν¬ν΄μ μΈλΆ μ μμ΄ κ°λ₯νκ²λ μ€μ νλ κ²μ΄ μΌλ°μ μΌ ν λ°μ.
μ΄λ κ² μ»¨ν μ΄λκ° μ΅μ’ μ¬μ©μμ μνΈμμ©νλ λ§νΌ, λμ μ€μΈ 컨ν μ΄λμ λν 보μλ μ€μνλ€κ³ ν μ μκ² μ΅λλ€.
μ΄λ² μμμ§μμ 컨ν μ΄λ(Container)κ° λμ μ€(Runtime)μΌ λ μννλ 보μ νλ(Security)μ΄λΌλ λ»μ 컨ν μ΄λ λ°νμ 보μ(Container Runtime Security) νλμ λν΄ μ΄ν΄λ³΄κ³ , μ΄λ¬ν 보μ νλμ λμμ£Όλ ν΄ μ€ νλμΈ Falcoλ₯Ό μκ°ν΄λλ¦¬κ² μ΅λλ€.
π¦λμ μ€μΈ 컨ν μ΄λλ μ€μν 보μ κ΄λ¦¬ λμ!
μμμ μ κΉ μΈκΈνμ§λ§, λ°°ν¬λ 컨ν μ΄λλ μ€μ λ‘ λμνλ κ°μ²΄μ΄λ©΄μ λλΆλΆ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ μν μ μννκΈ° λλ¬Έμ 보μ 곡격 λμμ΄ λκΈ° μ½μ΅λλ€.
κ²λ€κ° 컨ν μ΄λλ νΈμ€νΈ PCμ νκ²½μ μΌλΆ 곡μ νκΈ° λλ¬Έμ, 곡격μκ° μ»¨ν μ΄λ λ΄λΆμ λ¬΄λ¨ μΉ¨μ ν κ·Έ 컨ν μ΄λ μΈλΆλ‘ λΉ μ Έλμ€κ² λλ€λ©΄ ν΄λΉ νΈμ€νΈ PCλ κ·Έ μμμ λμ μ€μ΄λ λ€λ₯Έ 컨ν μ΄λμλ μ κ·Όνκ² λλ―λ‘ μ¬κ°ν 보μ μ¬κ³ λ‘ μ΄μ΄μ§ μλ μμ£ .
λμ μ€μΈ 컨ν μ΄λμ λν 보μ, μ¦ μ»¨ν μ΄λ λ°νμ 보μμ΄ μ€μν μ΄μ μ λλ€.
κ·Έλ λ€λ©΄ 컨ν μ΄λ λ°νμ 보μ νλμ μ΄λ»κ² μ΄λ€μ§κΉμ?
컨ν μ΄λμ λν μ€μκ° λͺ¨λν°λ§ λ° λ³΄νΈκ° λνμ μΈ μ»¨ν μ΄λ λ°νμ 보μ νλμ λλ€. νΉν 컨ν μ΄λκ° μ€νλλ©΄μ λ°μνλ Linux Systemμ λν μμ² λλ νΈμΆ(Linux 컀λμμμ System Callμ΄λΌκ³ λ ν©λλ€)μ κ°μνλ κ²μ΄ μΌλ°μ μ΄λΌκ³ ν μ μκ² μ΅λλ€.
μ΄λ κ² κ°μλ₯Ό μ§ννλ€κ° νλ‘μΈμ€μ μ΄μ νμ λλ μ μ¬μ μΈ λ³΄μ μ ν΄ νμκ° κ°μ§λλ€λ©΄ μ΄λ₯Ό μλ¦ΌμΌλ‘ μ μ‘νκ³ , λ λμκ° μ΄λ¬ν μν νμλ₯Ό 미리 μ μλ κ·μΉμ λ°λΌ μ ννλ κ²½μ°λ μμ΅λλ€.
컨ν μ΄λ λ°νμ 보μ νλμ μν΄ λ€μν ν΄λ€μ΄ κ°λ°λκ³ μλλ°μ. κ·Έ μ€ λνμ μΈ 3κ°μ§λ μλμ κ°μ΅λλ€.
- Falco
- Linux 컀λ λ° Kubernetes API Callμ ν΅ν΄ λ Έλ λ° μ»¨ν μ΄λ λ΄ μ΄μ νμλ₯Ό κ°μ§ κ°λ₯ν¨
- Aqua Security
- 컨ν μ΄λ λ°νμ λ³΄νΈ κΈ°λ₯μ μ 곡νλ©°, 보μ μ μ΄ μλνλ₯Ό λμμ€
- Sysdig Secure
- λ°νμ 보μ, ν¬λ μ, μ·¨μ½μ κ΄λ¦¬ κΈ°λ₯ λ±μ μ 곡ν¨
μ΄ μ€μμ μ°λ¦¬λ λμ€μ μΌλ‘ μ¬μ©λλ Falcoμ λν΄ λ μμλ³΄κ² μ΅λλ€.
π¦ CNCFμμ μμ μ±μ μΈμ λ°μ 컨ν μ΄λ λ°νμ 보μ ν΄ Falco
Falco 곡μ ννμ΄μ§μμλ Falcoλ₯Ό Linux μμ€ν μ λμμΌλ‘ κ°λ°λ ν΄λΌμ°λ λ€μ΄ν°λΈ 보μ ν΄μ΄λΌκ³ μκ°νκ³ μμ΅λλ€. λν Falcoλ Linux μμ€ν μμ λ°μνλ μ΄λ²€νΈλ₯Ό κ°μνκ³ μ¬μ μ μλ κ·μΉ(Ruleset)μ λ°λΌ μ€μκ° μλ¦Όμ 보λ΄μ£Όλ μν μ μννλ€κ³ μλ΄νκ³ μλλ°μ.
λν ν΄λΌμ°λ κ΄λ ¨ μ€νμμ€λ₯Ό κ΄λ¦¬νλ κ΅μ μ μΈ κΈ°κ΄ Cloud Native Computing Foundation(CNCF)μμλ Falcoλ₯Ό μμ μ μ΄λ©° νλ‘λμ νκ²½μμ μ±κ³΅μ μΌλ‘ νμ©λ μ μλ μ€νμμ€ νλ‘μ νΈλΌκ³ μκ°νκ³ μμ΅λλ€. (κ΄λ ¨ λ§ν¬)
μ΄λ κ² μμ μ μ΄λΌκ³ 곡μΈμ λ°μ Falcoλ μ΄μΈμλ μλμ κ°μ΄ λ€μν μ₯μ μ μ§λκ³ μμ΅λλ€.
- Kubernetes, Docker Swarmκ³Ό κ°μ λ€μν 컨ν μ΄λ λ°°ν¬ νλ«νΌμμ μ¬μ© κ°λ₯
- Kubernetes API μλ²μ λν μμ²μ κ°μ§ν μ μμ΄ ν΄λ¬μ€ν° λ΄ Node λ° Podμ λν΄μλ λͺ¨λν°λ§ κ°λ₯
- Falcoκ° μ¬μ©ν μ μλ Default Rulesetμ΄ λ―Έλ¦¬ μ μλμ΄ μμΌλ―λ‘ μ»¨ν μ΄λ λ°νμ 보μ νλμ μ½κ³ λΉ λ₯΄κ² μμ κ°λ₯νλ©° Custom Rulesetλ μ½κ² μ μ κ°λ₯
Falcoκ° μ¬μ©νλ Rulesetμ κ° Ruleμ μλ μμμ κ°μ μμμΌλ‘ ꡬμ±λ©λλ€.
- rule: Ruleμ μ λͺ©μ λλ€.
- desc: Ruleμ μ€λͺ μ λλ€.
- condition: Falcoμ κ°μ§ λμμ΄ λλ μμ²μ 쑰건μμ λλ€.
- output: Ruleλ‘ κ°μ§λ κ²½μ° Falcoκ° νμν Outputμ μμμ λλ€.
- priority: νμλλ Outputμ μ€μλλ₯Ό νμν©λλ€. INFO, WARNING, ERROR λ±μ κ°μ μ§μ ν μ μμ΅λλ€.
Falcoκ° μ¬μ μ μλ Rulesetμ λ°λΌ System λλ Kubernetes μμ²μ κ°μ§ν κ²½μ°, μλμ κ°μ ννλ‘ μλ¦Όμ νμν©λλ€.
πλ§μΉλ©°...
μ΄λ² μμμ§μμ 컨ν μ΄λ λ°νμ 보μ, κ·Έλ¦¬κ³ κ΄λ ¨ ν΄μΈ Falcoμ λν΄ μμ보μλλ°μ.π
νΉμ μ΄λ² λ΄μ© κ΄λ ¨ν΄μ λ κΆκΈν μ μ΄ μμΌμλ€λ©΄ μλ λ©μΌλ¦¬ λκΈ λ¨κ²¨μ£ΌμΈμ.
μΆν μμμ§ μ μμ μ°Έκ³ νκ² μ΅λλ€.π
κ·ΈλΌ, λ€μ μμμ§μμ λ³΄λ€ μμ°¨κ³ ν₯λ―Έλ‘μ΄ λ΄μ©μΌλ‘ μ°Ύμλ΅κ² μ΅λλ€.
κ°μ¬ν©λλ€. πΊ
πReferences
λκΈ
μ견μ λ¨κ²¨μ£ΌμΈμ