HOW TO HACK/Basics

해커라면 알아야 할 리눅스 기초-10 : 아파치 웹서버(Apache Web Sever) 설치

Mr. Rootable 2016. 4. 18. 10:33

# 본 게시글은 작성자 본인의 스터디 목적으로 작성된 글입니다.


# 본 게시글에는 일부 잘못된 정보가 포함되어있을 수 있습니다.


# 이 글을 열람하는 것은 위 사항에 동의하는 것으로 간주합니다.


# 잘못된 정보에 대한 태클 및 지적질 적극 환영합니다.



매일 하나씩 포스팅을 하자는 호기로움을 가슴에 품고 시작했는데, 벌써부터 힘들다. ㅋㅋ

내가 변태도 아니고, 나 스스로 스트레스 받자고 시작한 일은 아니니 스트레스 받으면서까지 하진 않을란다. ㅋㅋ

그냥 즐거운 마음으로 하겠단 실없는 소리다. 오늘은 왜 이리 쓸데없는 말로 포스팅을 시작하는지 모르지만...


어쨋든...

지금까지 리눅스의 기본적인 명령어에 대해 공부해봤다. 이제 좀 자신감이 쭉쭉 상승했나?

그렇다면, 진심으로 축하한다. 세상을 살면서 자신감보다 필요하고 중요한 것은 없는 법이니까..

하지만, 이게 끝이 아니지...  아직도 리눅스에 대해서 알아야 할 것은 산더미처럼 쌓여있다.

지금까지는 정말 기초중에 기초만 본 것이니 너무 자만하지 않기를 바란다.



이제부터는 리눅스에서 아파치 웹서버를 관리, 운영하는 법을 살펴보려 한다.

아파치 웹서버는 아주아주 많이 사용되는 무료 웹서버이다. 해외는 물론 국내 짠돌이(?) 기업들에서도 인트라넷이나, 인터넷 서비스를 위해 많이들 도입하여 사용 중에 있다. 뭐.. 기업이란 조직은 언제나 최소의 비용으로 최대의 이윤을 추구하는 조직이니 아파치 웹서버는 아주 매력적인 웹서버임에 틀림없다. 단, 장애가 발생하면 담당자 혼자 맨땅에 헤딩과 무한 개삽질을 통해 문제를 해결해야 하는 함정이 있긴 하다.

적어도 내 경험에서는 그랬다. (내가 무식했던건가...)


웹사이트를 해킹하려는 해커들은 아파치 기반의 웹사이트와 그 뒷단에 있는 데이터베이스의 내부동작 방식을 이해하고 있어야 한다.

또한, 해커는 이 아파치 웹서버를 통해 웹사이트를 구축하여 악성코드를 퍼뜨리거나막대한 좀비군단 PC(봇넷)를 거느릴 수 있다. 

당신이 이걸 시도할 마음을 먹고 있다면.. 당신의 예쁜 마누라와 자식들의 얼굴을 바로 보면서 실행할지 말지를 결정해라.

당신이 철창으로 간 후에 남은 가족의 모습을 떠올려보든가.. 안걸릴 자신있으면 말고..



Step 1 : 아파치 설치


이 포스팅 시리즈는 최초 밝힌바와 같이 칼리리눅스 2.0 환경에서 작성하고 있다.

칼리리눅스는 해킹에 최적화된 OS로 왠만한 해킹툴과 프로그램들이 빌트인(built-in) 되어 있지...

즉, 아파치 역시 이미 설치되어있다. (다른 리눅스 배포판도 역시 설치되어있긴 하다.. ㅋ)

아래 명령어로 아파치 서비스를 실행해보자.


# service apache2 start



아파치가 설치되어있지 않다면 LAMP Stack을 설치하길 바란다.

LAMP는 윈도우에서 APM이나 WAMP, XAMP와 같은 것을 말한다. 

즉, Linux + Apache + MySQL + PHP 환경을 한번에 가리키는 말로 이해하면 된다.

설치는 아래 과정을 따라서 하면 된다.


# apt-get update


# apt-get install apache2 php5 mysql-server php5-mysql


물론, apt-get install apache2 명령어로 아파치만 설치가 가능하나, 보통 리눅스는 서버용으로 많이 사용되기때문에
mysql과 php를 함께 설치하는 방법을 알아둬서 손해볼 것은 없다.


Step 2 : 기본 웹사이트 열기

아파치 서버가 정상적으로 실행되었다면 웹브라우저를 열어 주소입력창에 http://localhost를 입력하고 접속해보자.
아파치가 문제없이 실행중이라면 아래와 같이 기본 웹사이트가 열릴 것이다.



Step 3 : index.html 수정

기본 웹페이지의 소스는 /var/www/html/index.html 파일이다. 
해당 디렉토리로 이동해보자.

# cd /var/www/html
# ls


vi편집기나 다른 편집프로그램으로 이 소스파일을 수정할 수 있다.

vi편집기로 파일을 열어보도록 하자.


# vim index.html


이 파일을 다른이름(default_index.html)으로 저장하고, 내가 직접 만든 페이지를 index.html로 대체하고, 기본웹페이지가 내가 의도한 페이지로
변경되었는지 확인해보자.
vi편집기 종료시 명령어는 대충 아래와 같다.

:q! - 저장하지않고 종료
:w [파일명] - 다른이름으로 저장
:wq - 저장하고 종료
 

원래 index.html 파일은 default_index.html로 백업해두고, index.html파일을 아래와 같이 수정하고 저장했다.


이제, 웹브라우저에서 다시 기본웹페이지로 접속을 해보자.
이상하게도, 아니면 내가 무식해서 그런거겠지.. http://localhost 로 접속하니 이전의 기본 웹페이지로 계속 접속이 되었다.
쿠키를 삭제해도 기본 웹페이지는 변경이 되지 않아서, localhost 대신에 실제 칼리리눅스의 IP주소를 통해 접속하니
아래와 같이 의도한대로 기본웹페이지가 변경되었다. 
localhost와 실제 IP주소를 통한 접속에 무슨 차이가 있는지는 좀 더 연구해볼 문제다.
아는 분이 있다면 댓글로 팁을 좀 주면 땡큐땡큐할 듯.. 



Step 4 : DVWA 설치

DVWA는 Damn Vulnuerable Web App의 약자로 웹해킹을 훈련하기 좋게 만든 취약한 웹사이트이다.
Cross-Site Scripting(XSS), CSRF, SQL Injection, File Inclusion 등등의 각종 웹해킹기법을 공부하기 좋고,
난이도도 3단계로 조정하면서 웹헤킹을 시도해볼 수 있어서 보안이 좀더 강화된 사이트를 뚫는 훈련에도 좋다.

DVWA 다운로드는 여기에서 가능하다.

다운로드를 했다면, 다운로드된 디렉토리로 이동하자.
본인은 홈디렉토리의 Downloads 디렉토리에 다운이 되었다.


DVWA-1.9.zip 파일을 아파치 루트디렉토리인 /var/www 디렉토리에 압축을 풀고 권한을 변경해보자.

# unzip DVWA-1.9.zip -d /var/www


/var/www 디렉토리로 이동하여 DVWA가 잘 생성되었는지 확인해보자.



이변이 없는 한 잘 됐겠지..뭐 ㅋㅋ
앗!! /var/www 디렉토리가 아니라, /var/www/html 디렉토리로 압축을 풀었어야 했는데 잘못했다.
걍 mv 명령어로 이미 만들어진 DVWA-1.9 디렉토리를 통째로 html 디렉토리 밑으로 옮겨야겠다.

# mv DVWA-1.9/ ./html


이제, 브라우저에서 DVWA 디렉토리 경로로 접근해보면 DVWA 페이지가 뜬다.
몇가지 설정부분이 남아있지만, 이 포스팅에서는 다루지 않으련다.
담에 시간이 되면 DVWA 설정법도 포스팅하도록 하겠다.
DVWA를 통해 웹해킹을 훈련하고 싶고, 나의 포스팅을 기다리기 짜증나는 사람은 사람은 미안하지만 다른 포스팅을 뒤져보시길~
여긴 리눅스 기초를 배우는 곳이니깐.. 

이번 포스팅은 마무리가 좀 미안하면서도 찝찝하긴 하네요..<끝 ㅠ.ㅠ>