📘 Day 50 (2025.08.23.SAT) - OpenStack 설치(1)

🛡️ Cuckoo Sandbox 동작 기능 설명

- 정적, 동적, 네트워크(IDS: Snort, Suricata 설치 후 룰 적용)
- 룰 생성을 위해서는 공격과 방어 실습 필요

🔎 Cuckoo Search

Elastic 연동하기

cuckoo Search 출력 화면
🧩 Antivirus

processing.conf, API 연결

Antivirus 출력 화면
🌍 Network Analysis

Snort rule 적용

Snort 출력 화면
⚙️ OpenStack 설치 과정

VirtualBox 서버 3개 생성

  • Ubuntu 24.04
  • Ubuntu 22.04 (OpenStack Controller, Compute)

➡️ 스냅샷 필수 / 랜카드 2개 (브리지: 외부용, 호스트 전용 어댑터: 내부용)

설치 시간: 14:30

sudo apt -y update
sudo apt -y install apache2
sudo apt -y install python3 python3-pip git
sudo useradd -s /bin/bash -d /opt/stack -m stack
sudo passwd stack
chmod +x /opt/stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo -u stack -i
git clone https://opendev.org/openstack/devstack
cd devstack
sudo git checkout

local.conf 설정

cd /opt/stack/devstack
cp ./samples/local.conf local.conf
nano local.conf
ADMIN_PASSWORD=openstack
DATABASE_PASSWORD=openstack
RABBIT_PASSWORD=openstack 
SERVICE_PASSWORD=openstack

HOST_IP=192.168.0.XXX (Ubuntu IP: 10.0.2.15)

LOG_COLOR=False → True (주석 해제 후 수정)
      
nano /opt/stack/devstack/stackrc
수정: GIT_BASE=${GIT_BASE:-https://git.openstack.org}
./stack.sh
🖥️ OpenStack Controller 설정 (Ubuntu 22.04)
*모든 서비스는 데이터베이스(mysql)에 저장되는 형태이므로 데이터베이스를 설치 후에 설정을 진행함*
모든 bind-address는 0.0.0.0으로 설정합니다.

compute
eno1: 외부망(192.168.0.225)
enp2s0: 내부망(192.168.56.101) < 관리자망

controller
enp3s0: 외부망(192.168.0.194)
enp2s0: 내부망(192.168.56.102) < 관리자망

OpenStack 매뉴얼

IP: 192.168.0.198

sudo passwd root (비밀번호: 123456)
su
nano /etc/hostname → controller 로 수정

apt -y install chrony
nano /etc/chrony/chrony.conf
server time.bora.net iburst
allow 192.168.56.0/24
      
service chrony restart
systemctl enable chrony
설치 안됐을 경우 설치! sudo apt -y install software-properties-common
add-apt-repository cloud-archive:zed(OpenStack 릴리즈: Zed)
apt update && apt dist-upgrade
📦 공통 패키지
apt install python3-openstackclient -y
🗄️ 컨트롤러 노드 DB 설치
DB 설치하는 이유: mysql 기반으로 모든 서비스의 정보가 저장되어 있기 때문

apt install mariadb-server python3-pymysql -y
nano /etc/mysql/mariadb.conf.d/99-openstack.cnf
[mysqld]
bind-address = 0.0.0.0  # 컨트롤러 노드 내부 IP

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
      
systemctl restart mariadb
systemctl enable mariadb