📘 Day 50 (2025.08.23.SAT) - OpenStack 설치(1)
🛡️ Cuckoo Sandbox 동작 기능 설명
- 정적, 동적, 네트워크(IDS: Snort, Suricata 설치 후 룰 적용)
- 룰 생성을 위해서는 공격과 방어 실습 필요
🔎 Cuckoo Search
Elastic 연동하기
🧩 Antivirus
processing.conf, API 연결
🌍 Network Analysis
Snort rule 적용
⚙️ 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