모의해킹과 보안 취약점 분석을 시작하기 위해서는 안전한 실습 환경이 필수적입니다.
이 포스팅에서는 VMware 환경에서 Ubuntu 서버를 설치하고, 웹 취약점 분석을 위한 DVWA(Damn Vulnerable Web Application)를 구축하는 전체 과정을 상세히 다루겠습니다.
초보자도 쉽게 따라할 수 있도록 각 단계별로 필요한 명령어와 설정 방법을 정리했습니다.
기본 보안 설정
bash
Copy
# 시스템 업데이트
sudo apt update && sudo apt upgrade
# SSH 서버 설치 (원격 접속용)
sudo apt install openssh-server
# UFW 방화벽 설정
sudo apt install ufw
sudo ufw enable
# SSH 접속 허용 (필수)
sudo ufw allow ssh
# 기본 정책 설정
sudo ufw default deny incoming
sudo ufw default allow outgoing
# UFW 활성화
sudo ufw enable
- sudo ufw default deny incoming
- 기본적으로 모든 들어오는 트래픽을 차단하는 정책
- 외부에서 들어오는 모든 연결을 기본적으로 차단하여 보안성 강화
- sudo ufw default allow outgoing
- 기본적으로 모든 나가는 트래픽을 허용하는 정책
- 내부에서 외부로 나가는 연결은 모두 허용
기본 필수 패키지 설치(도구)
bash
Copy
# 기본 개발 도구
sudo apt install build-essential
# 시스템 모니터링 도구
sudo apt install htop
# 네트워크 도구
sudo apt install net-tools
sudo apt install curl wget
취약점 실습을 위한 LAMP 스택 설치 (Linux, Apache, MySQL, PHP)
bash
Copy
# Apache 웹 서버 설치
sudo apt install apache2
# MySQL 설치
sudo apt install mysql-server
# PHP 설치
sudo apt install php libapache2-mod-php php-mysql
취약한 웹 애플리케이션 설치(DVWA)
DVWA은 웹 보안 취약점을 실습하고 학습하기 위한 PHP/MySQL 기반의 웹 애플리케이션입니다.
SQL 인젝션, XSS, CSRF 등 다양한 웹 취약점을 의도적으로 포함하고 있으며, 보안 레벨(Low/Medium/High)을 조정하여 단계별 학습이 가능한 교육용 플랫폼입니다.
bash
Copy
# DVWA 설치를 위한 Git 설치
sudo apt install git
cd /var/www/html
sudo git clone <https://github.com/digininja/DVWA.git>
# 권한 설정
sudo chown -R www-data:www-data /var/www/html/DVWA
sudo chmod -R 755 /var/www/html/DVWA
# 설정 파일 복사
cd DVWA/config
sudo cp config.inc.php.dist config.inc.php
MySQL 보안 설정
bash
Copy
# MySQL 초기 보안 설정
sudo mysql_secure_installation
# 데이터베이스 및 사용자 생성
sudo mysql -u root
CREATE DATABASE dvwa;
CREATE USER 'dvwa'@'localhost' IDENTIFIED BY 'p@ssw0rd';
GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost';
FLUSH PRIVILEGES;
DVWA 데이터베이스 구성
sql
Copy
# 필요한 테이블 생성
CREATE TABLE users (
user_id INT PRIMARY KEY,
first_name VARCHAR(15),
last_name VARCHAR(15),
user VARCHAR(15),
password VARCHAR(32),
avatar VARCHAR(70),
last_login DATETIME,
failed_login INT
);
CREATE TABLE guestbook (
comment_id INT AUTO_INCREMENT PRIMARY KEY,
comment VARCHAR(300),
name VARCHAR(100)
);
접속 확인
- IP 확인: ip addr show 또는 hostname -I
- 웹 브라우저에서 접속: http://서버IP/DVWA
- 기본 로그인: admin / password
지금까지 Ubuntu 서버 설치부터 DVWA 구축까지의 전체 과정을 살펴보았습니다.
이렇게 구축된 환경에서 다양한 웹 취약점 테스트와 모의해킹 실습을 진행할 수 있습니다.
보안 전문가를 꿈꾸는 분들에게 이 환경이 좋은 학습 도구가 되길 바랍니다.
이러한 취약한 환경은 반드시 격리된 테스트 환경에서만 운영해야 하며,
실제 운영 환경에서는 더욱 강화된 보안 설정이 필요함을 잊지 마세요.