본문 바로가기
IT&Jobs/company

[Ansible] iDRAC 여러 장비에 보안 취약점 일괄 적용이 가능하도록 구현해보기

by jaeilpark 2025. 5. 17.
728x90
반응형

안녕하세요 일이입니다

 

이전 스토리에서 Dell Server MGMT 보안 취약점 조치를

racadm 명령을 원격 SSH를 통해 실행하는 방식에 대해 알아보았습니다

[bash_script] Dell Server "racadm"을 이용한 보안 취약점 조치하기

 

[bash_script] Dell Server "racadm"을 이용한 보안 취약점 조치하기

안녕하세요 일이입니다이직 한 회사에서 주로 다루는 플랫폼이 Dell Server 제품군인데고객사에서 보안취약점 조치를 갱신해야 한다고 하는데..MGMT(Dell Server의 경우는 iDRAC) 부분에 대한 취약사항

jaeil-boxs.tistory.com

 

이 스토리에서는 , iDRAC 여러 장비에 일괄 적용이 가능하도록 구현하는 법에 대해 공유드리고자 합니다


✅ 전제 조건

  • iDRAC SSH 접근 가능
  • Ansible 제어 노드에서 expect 또는 paramiko 방식 SSH 지원
  • Dell iDRAC 사용자 계정 (root) 및 비밀번호 필요

✅ 디렉토리 구조 예시

idrac_playbook/
├── hosts                   # 인벤토리 파일
├── set_idrac.yml      # 메인 플레이북
└── files/
└── idrac_config.sh   # racadm 명령 모음 쉘 스크립트

✅ [1] hosts (인벤토리 예시)

[idrac]
idrac1 ansible_host=192.168.0.101
idrac2 ansible_host=192.168.0.102

[idrac:vars]
ansible_user=root
ansible_password=idrac_password
ansible_connection=ssh
ansible_port=22

✅ [2] files/idrac_config.sh (racadm 명령 모음)

#!/bin/bash
# 1. SNMP Disable
racadm set iDRAC.SNMP.AgentEnable 0

# 2. NTP 설정
racadm set iDRAC.NTPConfigGroup.NTP1 0.kr.pool.ntp.org
racadm set iDRAC.NTPConfigGroup.NTP2 1.kr.pool.ntp.org
racadm set iDRAC.NTPConfigGroup.NTPEnable 1
racadm set iDRAC.NTPConfigGroup.TimeZone "Seoul"

# 3. 패스워드 정책
racadm set iDRAC.Users.MinPasswordLength 15
racadm set iDRAC.Users.2.Password "StrongPassw0rd@2025"

# 4. Syslog 설정
racadm set iDRAC.SysLog.SysLogEnable 1
racadm set iDRAC.SysLog.SysLog1 192.168.0.200
racadm set iDRAC.SysLog.SysLogPort 514
racadm set iDRAC.SysLog.SysLogAlertEnable 1

💡 ※ 패스워드는 정책에 따라 수정 필요 (보안 상 변수화 가능)


✅ [3] set_idrac.yml (Ansible 플레이북)

--- 
- name: Configure Dell iDRAC via racadm 
  hosts: idrac
  gather_facts: no
  tasks:
    - name: Copy racadm config script to remote
      copy:
       src: files/idrac_config.sh
       dest: /tmp/idrac_config.sh
       mode: '0755'

    - name: Execute racadm configuration script
      shell: /tmp/idrac_config.sh

✅ 실행 방법

ansible-playbook -i hosts set_idrac.yml

✅ 보안 강화를 위한 팁

  • idrac_password를 Vault 암호화 또는 Ansible 변수파일에 분리하는 것을 추천합니다.
  • 패스워드는 ansible-vault로 암호화하거나 환경변수로 치환할 수 있습니다.

이로써 또 하나 배우는 기회가 되었네요..

즐거운 주말 보내시기 바랍니다

이만 ~~~

728x90
반응형

댓글