Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
copy-fail-CVE-2026-31431-mitigation-ansible-playbook — An Ansible Playbook to mitigate the vulnerability CVE-2026-31431 on RHEL-based and Debian-based OSes. | Kitploit
도구/GitHubGitHub/mlazzarotto/copy-fail-cve-2026-31431-mitigation-ansible-playbook
Cloud Infrastructure SecurityVulnerability AnalysisScripting & AutomationConfiguration AuditingDevSecOps
GitHubmlazzarotto/copy-fail-cve-2026-31431-mitigation-ansible-playbook

copy-fail-CVE-2026-31431-mitigation-ansible-playbook

An Ansible Playbook to mitigate the vulnerability CVE-2026-31431 on RHEL-based and Debian-based OSes.

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기
3개월 전아직 검토되지 않음
공유

CVE-2026-31431 완화 플레이북

Ansible License

Debian/Ubuntu 및 RHEL/Rocky/AlmaLinux 시스템에서 CVE-2026-31431 (AF_ALG) 커널 모듈 완화를 적용하고 롤백하는 Ansible 플레이북입니다.

개요

이 플레이북은 취약한 algif_aead 커널 모듈을 비활성화하여 CVE-2026-31431을 완화합니다:

  • Debian/Ubuntu 계열: modprobe 블랙리스트 파일을 생성하고 모듈 언로드를 시도합니다
  • RHEL/Rocky/AlmaLinux 계열 (9 & 10): grubby를 사용하여 커널 initcall 블랙리스트 인자를 추가합니다

⚠️ 중요: 이 플레이북은 서버를 자동으로 재부팅하지 않습니다. 재부팅이 필요한 경우 알림 메시지를 표시하여 운영자가 유지보수 시간에 재부팅을 예약할 수 있도록 합니다.

요구 사항

  • Ansible 2.14 이상
  • 대상 시스템: Ubuntu/Debian 또는 RHEL 9/10, Rocky Linux 9/10, AlmaLinux 9/10
  • sudo 권한이 있는 SSH 접근

빠른 시작

1. 샘플 구성 파일 복사

샘플 구성 파일은 examples/ 디렉토리에 제공됩니다:

root@kitploit:~
# 샘플 인벤토리 복사
cp examples/inventory/hosts.ini inventory/hosts.ini

# 샘플 ansible 구성 복사 (선택 사항)
cp examples/ansible.cfg ansible.cfg

자세한 사용자 지정 지침은 examples/README.md를 참조하세요.

2. 인벤토리 사용자 지정

서버 정보로 inventory/hosts.ini를 편집하세요:

root@kitploit:~
[servers]
server1.example.com
server2.example.com ansible_host=192.168.1.50

[servers:vars]
ansible_user=admin
ansible_become=true

3. 연결 테스트

root@kitploit:~
ansible all -m ping

4. 플레이북 실행

root@kitploit:~
ansible-playbook mitigation-playbook.yaml

사용법

완화 적용

인벤토리의 모든 호스트에 완화를 적용하려면:

root@kitploit:~
ansible-playbook mitigation-playbook.yaml

특정 호스트 또는 그룹에 적용하려면:

root@kitploit:~
ansible-playbook mitigation-playbook.yaml --limit webservers

완화 롤백

완화를 롤백(제거)하려면:

root@kitploit:~
ansible-playbook mitigation-playbook.yaml -e "rollback=true"

또는 rollback 태그를 사용하세요:

root@kitploit:~
ansible-playbook mitigation-playbook.yaml --tags rollback -e "rollback=true"

선택 사항: Systemd 정리

더 이상 사용되지 않는 systemd drop-in 파일을 제거하려면 (이 완화의 이전 버전에서 마이그레이션하는 경우):

root@kitploit:~
ansible-playbook mitigation-playbook.yaml -e "run_systemd_cleanup=true"

샘플 출력

성공적인 적용 (재부팅 불필요)

root@kitploit:~
TASK [CVE-2026-31431 Summary (Debian)] ****************************************
ok: [server1] => {
    "msg": [
        "===== CVE-2026-31431 SUMMARY — server1 =====",
        "Action:               apply",
        "Module loaded (pre):  False",
        "Module loaded (post): False",
        "Reboot required:      False"
    ]
}

성공적인 적용 (재부팅 필요)

root@kitploit:~
TASK [Remind operator to reboot (RHEL)] ****************************************
ok: [server2] => {
    "msg": "REMINDER: Kernel args changed. Reboot required to activate mitigation."
}

TASK [CVE-2026-31431 Summary (Red Hat)] ****************************************
ok: [server2] => {
    "msg": [
        "===== CVE-2026-31431 SUMMARY — server2 =====",
        "Action:                   apply",
        "Kernel arg active (pre):  False",
        "Kernel arg active (post): False",
        "Reboot required:          True"
    ]
}

TASK [Remind to reboot if required (Red Hat)] **********************************
ok: [server2] => {
    "msg": "REMINDER: A reboot is required to activate/deactivate the mitigation on this Red Hat-based host."
}

재부팅 동작

OS 계열재부팅 필요 조건동작
Debian/Ubuntu모듈이 "사용 중"이어서 언로드할 수 없는 경우알림만 표시
RHEL/Rocky/AlmaGrubby가 커널 인자를 변경한 경우알림만 표시

이 플레이북은 운영자가 유지보수 시간을 완전히 제어할 수 있도록 자동으로 재부팅하지 않도록 설계되었습니다.

플레이북 변수

태그

  • mitigation - 완화 적용 작업만 실행
  • rollback - 롤백 작업만 실행
  • systemd-cleanup - systemd 정리 작업만 실행

예시:

root@kitploit:~
# 완화 작업만 실행
ansible-playbook -i inventory/hosts.ini mitigation-playbook.yaml --tags mitigation

# 롤백 작업만 실행
ansible-playbook -i inventory/hosts.ini mitigation-playbook.yaml --tags rollback -e "rollback=true"

검증

플레이북 실행 후 (프롬프트가 표시되면 재부팅 후) 완화가 활성화되었는지 확인하세요:

Debian/Ubuntu

root@kitploit:~
# 모듈이 블랙리스트에 등록되었는지 확인
cat /etc/modprobe.d/disable-algif.conf

# 모듈이 로드되었는지 확인 (아무것도 반환되지 않아야 함)
lsmod | grep algif_aead

RHEL/Rocky/Alma

root@kitploit:~
# 커널 인자가 있는지 확인
grep initcall_blacklist /proc/cmdline

# 다음과 유사한 출력이 표시되어야 합니다:
# ... initcall_blacklist=algif_aead_init ...

보안 고려 사항

  • 이 플레이북은 커널 모듈 로드 동작을 수정합니다
  • 프로덕션에서 실행하기 전에 플레이북을 검토하세요
  • 먼저 스테이징 환경에서 테스트하세요
  • 부팅 문제 발생 시 콘솔/KVM 접근 권한이 있는지 확인하세요

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE 파일을 참조하세요

기여

기여를 환영합니다! 이슈와 풀 리퀘스트를 제출해 주세요.

감사의 말

이 플레이북은 다음 소스에서 영감을 받아 작성되었습니다:

  • m3nu's CVE-2026-31431 Mitigation Gist - 초기 기술 접근 방식 및 완화 전략
  • Morrolinux's Playbook di Mitigazione CVE-2026-31431 - 플레이북 구조의 출발점이 된 이탈리아어 지식 기반 문서

면책 조항

이 플레이북은 있는 그대로 제공됩니다. 프로덕션 시스템에 적용하기 전에 항상 환경에서 철저히 테스트하세요. 작성자는 이 플레이북 사용으로 인해 발생하는 시스템 손상이나 다운타임에 대해 책임을 지지 않습니다.

도구 다운로드
변수기본값설명
rollbackfalsetrue로 설정하면 완화를 롤백합니다
run_systemd_cleanupfalsetrue로 설정하면 더 이상 사용되지 않는 systemd drop-in을 제거합니다
target_hostsall특정 호스트 또는 그룹으로 실행을 제한합니다
mitigation_serial25%순차 실행을 위한 배치 크기