리눅스 서버 관리 - 미션

미션 1: php 계정 생성 및 설정

php 계정을 생성하고 php.st.kr로 접속 가능하도록 설정합니다.


# php 계정 생성
adduser php

# php 계정으로 전환
su php

# 홈 디렉토리 권한 설정
chmod 711 $HOME
chmod 755 ~/public_html

# Apache 가상 호스트 설정
nano /etc/apache2/sites-available/hosting.conf
---------------------------------------------

  DocumentRoot /home/php/public_html
  ServerName php.st.kr
  ServerAdmin php@php.st.kr
  ErrorLog /home/php/public_html/logs/error.log
  CustomLog /home/php/public_html/logs/access.log combined

---------------------------------------------

# 로그 디렉토리 생성 및 파일 준비
mkdir -p /home/php/public_html/logs
cd /home/php/public_html/logs

# 빈 로그 파일 생성
touch access.log error.log

# Apache 서비스 재시작
systemctl restart apache2
    

미션 2: 관리자 PC에서 php.st.kr 접속

EditPlus를 이용해 php.st.kr에 접속합니다. NAT를 최상위로 설정하고 FTP를 구성합니다.


# NAT 최상위 설정 후 FTP 구성
# FTP 설정을 통해 php.st.kr에 접속합니다.
    

미션 3: 외부 공격 시뮬레이션

외부 공격자(해커)를 시뮬레이션하는 과정입니다.

word.st.kr 공격


wpscan --url word.st.kr -U user.txt -P passwd.txt
    

aps.or.kr 공격


# NAT 설정 후 aps.or.kr 공격
wpscan --url aps.or.kr -U user.txt -P passwd.txt
    

MySQL 외부 접속 허용 설정


nano /etc/mysql/mysql.conf.d/mysql.cnf

# bind-address 설정 변경
bind-address = 127.0.0.1
bind-address = 0.0.0.0
    

삼바 서버 설정

삼바를 설치하고 설정하여 공유 디렉토리를 구성합니다.


# 그룹 생성 및 사용자 추가
groupadd sambaGroup
chgrp sambaGroup /backup
usermod -G sambaGroup word

# 삼바 암호 설정
smbpasswd -a word
123456
123456

# 삼바 설정 파일 수정
nano /etc/samba/smb.conf
---------------------------------------------
unix charset = UTF-8
[backup]
   path = /backup
   quest ok = no
   read only = yes
   create mode = 0777
   directory mode = 0777
   valid users = @sambaGroup
---------------------------------------------

# 삼바 설정 확인 및 서비스 재시작
testparm
systemctl restart smbd
systemctl status smbd