Firewall - iptables_실습 환경 구축 (4)
실습 환경 구축 - DMZ zone 설정하기
방화벽이란 일련의 보안정책을 통해 네트워크를 보호하고 접근통제하는 보안 시스템이다.
방화벽은 일반적으로 내부 네트워크와 외부 네트워크 간의 장벽을 구성한다.
- 네트워크 구성도
DMZ를 구성하기 위해 CentOS를 다운받아 설치한다. 설치 과정은 ‘(1) 가상 머신 설치하기’와 거의 유사하므로 생략한다.
이제 웹서버를 구축해보자. 터미널을 실행시킨 후 먼저 패키지가 설치되어있는지 확인한다.
rpm -qa httpd php mariadb-server // 패키지가 설치되어있는지 확인
httpd는 존재하지만 php와 mariadb는 설치되어 있지 않으므로 설치하자.
yum -y install mariadb-server mariadb php php-mysqlnd
정상적으로 설치가 완료되었는지 확인한다.
rpm -qa php
rpm -qa mariadb-server
httpd를 실행한다.
systemctl start httpd
systemctl status httpd
같은 방식으로 mariadb도 실행시킨다.
systemctl start mariadb
먼저 DB 비밀번호를 설정한 후, DB에 접속하자.
mysqladmin -u root password '비밀번호'
mysql -u root -p -h localhost mysql
이제 데이터베이스와 테이블을 만들어주자.
create database myServer;
show databases;
use myServer;
CREATE TABLE inhye(id varchar(20), name varchar(20), email varchar(30));
show tables;
이제 테이블에 정보를 넣어줄 것이다.
INSERT INTO inhye VALUES('inhye', 'Park Inhye', 'angelainhye@naver.com');
SELECT * FROM inhye;
그리고 아파치 서비스가 정상적으로 작동하는지 알아보기 위해 웹사이트를 열어서 확인한다. localhost를 입력했을 때 다음과 같은 화면이 나온다면 성공이다.
localhost
간단한 페이지를 만들어보자.
아파치 웹서버 기본 경로(/var/www/html)에 php파일을 생성한다.
cd /var/www/html
vi index.php
<!DOCTYPE html>
<html>
<head>
<meta charset "utf-8">
</head>
<body>
<h1>Welcome to Inhye World!</h1>
</body>
<html>
<?php
$conn = mysqli_connect('localhost', 'root', '비밀번호', 'myServer');
$sql = "SELECT * FROM inhye";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
echo '<h2>'.$row['id'].'</h2>';
echo '<h3>'.$row['name'].'</h3>';
echo '<h4>'.$row['email'].'</h4>';
?>
php가 정상적으로 작동하는지 다시 한번 웹사이트를 열어 확인한다.
localhost/index.php
이제 외부에서 웹서버로의 접근이 가능하도록 방화벽을 설정할 것이다.
firewall-config
그리고 옵션에서 firewalld 다시 불러오기를 클릭한다.
host PC에서도 확인할 수 있다.
192.168.20.150/index.php
모두에게 접속을 허용하기 위해 httpd.conf의 수정이 필요하다.
vi /etc/httpd/conf/httpd.conf
AllowOverride All // 151번째 줄 (None->All)
이제 Server를 종료하고 Network Adapter를 Host-only로 변경한다.
방화벽을 켜준 후 다시 Server를 실행시켜 방화벽으로 ping을 보내면 잘 보내지는 것을 확인할 수 있다.
ifconfig
ping 192.168.35.10 // 방화벽으로
모두 확인했으니 종료 후 스냅샷을 찍어준다.
그리고 조금 더 유동적으로 사용하기 위해 내부zone IP도 설정해준다.
Network Adapter는 다시 NAT로 변경하고, IP주소는 내부zone IP대역(192.168.10.X) 중 원하는 주소로 설정한다.
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33
재시작 후 ping을 보내 확인해본다. 외부로는 가지 않는 것이 정상이다.
ifconfig ens33
ping 192.168.35.10 // 방화벽으로
ping 8.8.8.8 // 외부로
역시 종료 후 스냅샷을 찍으며 마무리한다.