본문으로 바로가기

[D+13] System Log & APM

category 해킹&보안/Linux 2017. 2. 23. 19:28
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

12. System Log


▣ 로그 메시지 주요 파일

- 로그 파일은 필요할 때마다 찾아서 보면 됨.

- /var/log에는 다양한 로그 파일들이 존재

- /var/log/dmesg : Kernel 부팅 시 하드웨어를 검색한 메시지 (부팅시 출력되는 모든 메시지에 대한 로그)

- /var/log/messages : 시스템 운영에 대한 전반적인 로그 (주로 시스템 데몬들의 실행 상황과 내역, 사용자들의 접속정보)

☞ 시스템 관리 및 보안관리에 매우 중요

- /var/log/secure : 접속한 환경에 대해 나옴 (원격접속환경, su 등...)

- 시스템 로그 : 부팅시 /etc/init.d/syslog 스크립트에 의해 syslogd 데몬 구동됨

☞ 설정파일 : /etc/rsyslog.conf



13. APM


1) APM Overview


▣ APM이란?   Apache + Php + Mysql = APM


▣ Apache ? (요약 : 우리 눈에 보이는 껍데기)

- 정식 명칭 : Apache HTTP server

- 관련 홈페이지 : www.apache.org

- GNU GPL 라이센스(무료)를 통해 무료로 배포되는 소프트웨어

- 현재 60%이상의 웹 서버 소프트웨어 시장 점유.

☞ 안정적으로 동작

☞ 아마존 이나 IBM 같은 주요 인터넷 서비스 회사에서도 아파치 웹 서버를 사용

☞ 아파치 서버 프로그램 전체는 물론이고 관련 컴포넌트들의 소스코드가 무료로 제공

☞ 유연성이 좋기 때문에 여러 응용 분야에 적용 => OS에 구애받지 않음


▣ PHP ? (요약 : 꾸며주는 역할)

- 웹 프로그래밍을 위한 스크립트 언어

- 다른 언어와 혼합 사용 : PHP (70%) + HTML (25%) + JavaScript (5%)

- PHP가 나오기전 HTML만을 사용할 때는 페이지에 그림이 없고 글자 + 그래프만 존재했었음.

- JavaScript는 사용하지 않아도 상관없음.

- 특징

☞ 처리 속도 빠름

☞ 공개 S/W (무료)

☞ 운영체제 지원 폭이 큼 (OS에 구애받지 않음)

☞ 많은 DB와의 연동 지원


▣ SQL ?

- DB안에서 사용하는 언어

- DB에서 사용되는 표준 구조적 쿼리 언어(Structured Query Language)

- 데이터 추출과 출력, DB 구조 정의 등의 DB관리를 위한 언어


▣ MySQL ? (요약 : 실제 데이터가 담겨있는 곳)

- SQL을 지원하는 공개 DB S/W (무료)

- 처리 속도가 빠름



2) APM Install


▣ APM 설치 확인, 기존에 이미 설치되어있는지 체크

- 패키지명을 정확하게 모르니까 grep으로 필터링해서 찾음

- # rpm -qa | grep httpd    -> 아미 설치되어있지만 이 버전을 사용하지 않을거임.

- # rpm -qa | grep php

- # rpm -qa | grep mysql


▣ 패키지 검색

- 뜨는 목록중에 [저장소이름].i686을 설치할 것이며 자동으로 선택이 됨.

- # yum search httpd

- # yum search php

- # yum search mysql

- # yum search mysql-server    <- MySQL 데이터베이스 관리 도구


▣ 패키지 설치

- 한 번에 다 받을 거임.

- # yum -y install httpd php mysql mysql-server gd gd-devel php-gd php-mysql

- 여기서 gd는 library임. 같이 설치해줘야함.



3) APM Management


▣ 아파치 웹 서버 관리

# service httpd start        :  데몬시작

# ps -ef | grep httpd       :  데몬 동작 확인(실행되고 있는지를 체크)

# chkconfig --list | grep httpd    :  활성화 여부 확인 (활성을 시켜준 적이 없기에 off)

# chkconfig httpd on        :  리눅스 부팅 후 자동으로 시작하기 위해 활성화

# chkconfig --list | grep httpd    :  활성화 여부 확인 (활성을 시켜줬기에 2~5가 on)

# service httpd restart     :  설정 변경 후에는 데몬 재시작


▣ 웹 서버 주요 파일

- /var/log/httpd    : 웹서버 로그파일

- /var/www/html   : 웹문서 디렉토리(웹서버의 최상위 디렉토리), 웹루트(걍 외우셈)

☞ 리눅스의 최상위 디렉토리가 / 인것과 똑같은 의미.

☞ www.daum.net/abc : 이 때 abc는 디렉토리 또는 파일임. ( = /var/www/html/abc )

☞ 여기서 생각해보면 ./../../ 이런 것들을 조합한다면 우리는 /etc/shadow까지 갈 수 있는 해킹이 가능함.


▣ MySQL 관리

# service mysqld start    : MySQL 데몬 시작

# ps -ef | grep mysqld   : 데몬 동작 확인

# mysqladmin -u root password 'yoyo'    : MySQL 관리자 아이디, 패스워드 설정

# mysql -u root -p    : mySQL 접속 ( -p 옵션 : 패스워드를 입력하겠음 )


Enter password:

mysql >

mysql > status    <- 상태 출력

.....

mysql > show databases;    <- 기본적으로 3개의 데이터베이스를 출력

.....

mysql > exit


# chkconfig --list | grep mysqld    : 활성화 여부 확인 (역시 off로 되어있음)

# chkconfig mysqld on    : 리눅스 부팅 후 자동으로 시작하기위해 활성화

# service mysqld restart    : 서비스를 재시작 (아주중요)


▣ PHP 설정

# vi /etc/httpd/conf/httpd.conf    : 웹서버가 PHP 문서를 서비스하기 위해 설정파일 수정


DirectoryIndex index.php index.htm index.html index.html.var    <= 402줄, php htm 인덱스 파일 추가

☞ 402줄 찾아가는 법 : (실행모드)-> :se nu => 줄번호가 뜨게 해줌

      (명령모드) -> 402 엔터 => 기준줄 0줄에서부터 402줄로 감.


#AddType application/x-tar .tgz        <= 765줄, 밑에 php, php 소스파일 MIME 형식 설정

#AddType application/x-httpd-php .php

#AddType application/x-httpd-php-source .phps    

☞ 위의 :se nu 를 쓰는 것은 똑같으나 기준은 0줄이 아닌 402줄로 되어있음.

☞ 그래서 765줄로 가기 위해서는 명령모드에서 765 - 402인 363 엔터를 쳐야함.


# vi /etc/php.ini


short_open_tag = On    <= 229줄 PHP 태그 설정 (Off -> On)


# service httpd restart    : 설정 변경후 데몬 재시작


- ifconfig로 ip 주소 알아내서 주소창에 치면 됨.

- 만약에 아무것도 뜨지 않는다면 방화벽을 꺼주고 다시 주소창에 침. (방화벽 끄기 : iptables -F)



4) Zeroboard


▣ Zeroboard 란?

- 제로보드는 PHP와 MySQL이 지원되는 서버에 설치하여 사용하느 게시판

- 간단하게 말하면 게시판형 홈페이지 꾸미기임.

- 네이버가 인수해가면서 이름을 XpressEngine으로 바꿈.

☞ http://www.xpressengine.com/

☞ 자신의 계정에 직접 설치를 하여 사용

☞ MySQL DB 시스템을 사용하여 자료 추출, 가공, 이식, 보관이 매우 용이

☞ 내부 소스 프로그램 수정없이 스킨(skin)만을 사용하여 게시판의 출력형태를 가공

=> 스킨만? 마우스 클릭으로 간편하게 설정한다는 것.


▣ Zeroboard Install

- xe.1.5.2.2.ko.tar.gz 파일 확보

- 웹루트(/var/www/html)에서 다음과 같이 압축풀기

☞ # tar -zxvf xe.1.5.2.2.ko.tar.gz    => xe 디렉토리 생성

- 생성된 xe 디렉토리 사용권한 변경

☞ # chmod 777 xe

☞ 누구나 접속가능하게 권한 변경



[리눅스에서 ftp 사용하기]

- 추후 추가할 것.



▣ Zeroboard Install

- MySQL DB 제로보드 DB데이터 추가

- MySQL DB 제로보드 DB데이터 활성화 인식


# mysql -u root -p

mysql > create database zero;    -> 새로운 제로보드용 DB 생성

mysql > flush privileges;         -> 생성한 DB 활성화 및 인식시키기

mysql > quit


▣ 웹 브라우저에서 제로보드 들어가기

- http://서버IP/xe

- 들어가서 시키는 대로 설정함

- DB는 앞서 생성한 zero로.






i2sec 대구지점 23기 수료생.

'해킹&보안 > Linux' 카테고리의 다른 글

[D+14] 리눅스 보안  (0) 2017.02.25
[D+12] Package Install & Daemon  (0) 2017.02.22
[D+11] Vi editor  (0) 2017.02.21
[D+10] Link  (0) 2017.02.20
[D+9] Process Management  (0) 2017.02.17