1월2일 시험(NW보안구축,정보시스템진단) 및 미션 수행하기

SW·2023년 1월 4일

미션20230102> 아래 조건에 맞는 프로젝트 웹 서버를 설정하시오.
우리반 게시판 참고

미션20230102-2> 아래 조건에 맞는 APM을 설치하시오.
우리반 게시판 참고

미션20230103-1> CentOS 7을 Rocky Linux8로 구현하기
우리반 게시판 참고

미션20230103-2> CentOS 7을 최신버전으로 설치하기
우리반 게시판 참고

문제 다음과 같은 요구사항에 맞춰 구성하여 보고서 작성 후 제출하시오.
주어진 요구사항에 따라 설정하고 보고서를 작성하시오.

▣ 요구사항

  1. 단말장치 네트워크 관리
    1-1. CentOS 네트워크 인터페이스 설정 파일 접근(eth0 인터페이스)
    1-2. 네트워크 서비스 재시작
    1-3. 명령어를 통해 현재 활성화된 인터페이스 정보 확인

  2. 접근통제 관리
    2-1. /ACCESS/secret1 파일의 소유자 및 소유그룹 확인
    2-2. /ACCESS/secret1 파일의 허가권을 절대모드를 이용해 변경(소유자 : 읽고쓰고실행 권한, 소유그룹 : 읽고쓰기 권한, 그외 : 읽기 권한)

  3. 소프트웨어 관리
    3-1. rpm 파일을 이용해 vsftpd 프로그램 설치(rpm 파일 경로 : /RPM)
    3-2. rpm 명령어를 이용해 vsftpd 프로그램 설치 여부 확인

  4. 로그 파일 관리
    4-1. /var/log/messages 파일의 최신(마지막) 내용 15줄만 출력하여 확인

  5. 백업 및 복구 관리
    5-1. /BACKUP 디렉터리로 경로 이동
    5-2. /ACCESS 디렉터리 내용을 압축하여 /BACKUP 디렉터리에 백업(파일이름 : accessback.tar.gz)

1-1. CentOS 네트워크 인터페이스 설정 파일 접근(eth0 인터페이스)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
cat /etc/sysconfig/network-scripts/ifcfg-eth0

1-2. 네트워크 서비스 재시작
/etc/init.d/network restart
service network restart

1-3. 명령어를 통해 현재 활성화된 인터페이스 정보 확인
ifconfig
ip a

2-1. /ACCESS/secret1 파일의 소유자 및 소유그룹 확인
ls -l /ACCESS/secret1
stat /ACCESS/secret1

3-1. rpm 파일을 이용해 vsftpd 프로그램 설치(rpm 파일 경로 : /RPM)
rpm -U /RPM/vsftpd-2.2.2-14.el6.x86_64.rpm
rpm -Uv /RPM/vsftpd-2.2.2-14.el6.x86_64.rpm
rpm -Uvh /RPM/vsftpd-2.2.2-14.el6.x86_64.rpm
rpm -i /RPM/vsftpd-2.2.2-14.el6.x86_64.rpm
rpm -iv /RPM/vsftpd-2.2.2-14.el6.x86_64.rpm
rpm -ivh /RPM/vsftpd-2.2.2-14.el6.x86_64.rpm

3-2. rpm 명령어를 이용해 vsftpd 프로그램 설치 여부 확인
rpm -q coreutils
rpm -qa | grep coreutils

4-1. /var/log/messages 파일의 최신(마지막) 내용 15줄만 출력하여 확인
tail -15 /var/log/messages
tail -n 15 /var/log/messages

5-1. /BACKUP 디렉터리로 경로 이동
cd /BACKUP

5-2. /ACCESS 디렉터리를 압축하여 /BACKUP 디렉터리에 백업(파일이름 : accessback.tar.gz)
tar czf accessback.tar.gz /ACCESS

미션20230102-1> 아래 조건에 맞는 프로젝트 웹 서버를 설정하시오.

회사에서 새로운 프로젝트가 진행되는데 회사의 시스템 보안 담당자인 여러분들이 직접 프로젝트에
진행될 웹 서버를 구축하는데 투입된다.
아래 제시된 서버의 설정을 통해서 서버를 구축하는 것이 목표이다.

자! 화이팅 하면서 웹 서버를 구축해보자!

VM name: project1
VM name: project2

'>>> project1 Server <<<'

  1. project1 설치 정보
    -배포판: CentOS7
    -VM명: project1
    -hostname: www.project1.com
    -메모리: 512M (1G로 설치하고 나중에 변경)
    -/dev/sda 전체 용량: 30G
    -파티션 정보 (수동으로 파티션 분할)
    / : 나머지
    /boot : 300M
    /home : 200M
    /usr : 4G
    /var : 4G
    /tmp : 3G
    swap 파티션 : 2G

  2. project1 디스크 정보
    -추가 HDD 1개당 20G (20G * 2)
    -Disk1: 파티션 전체를 분할해서 /backup1 디렉터리에 연결
    -Disk2: 파티션 전체를 분할해서 /backup2 디렉터리에 연결
    -마운트 정보: /backup1 (drwx------. 2 root root), 파일 시스템: xfs
    -마운트 정보: /backup2 (drwx------. 2 root root), 파일 시스템: xfs

  3. project1 네트워크 정보
    NIC#1: 200.200.200.20
    NIC#2: 200.200.200.21
    Gateway: 200.200.200.2
    DNS1: 168.126.63.1
    DNS2: 168.126.63.2

  4. porject1 사용자그룹 정보
    -관리자: adminuser, 비밀번호: P@ssw0rd
    -/etc/passwd 정보: adminuser:x:2000:2000:ADMIN:/home2/adminuser:/bin/bash
    -일반유저: user1, 비밀번호: P@ssw0rd
    -/etc/passwd 정보: user1:x:2001:2001:project user:/home/user1:/bin/bash
    -그룹#1: project
    -/etc/group 정보: project:x:3000:user1

  5. 웹서버 설치
    -yum -y install httpd를 이용해서 설치
    -웹서버 디렉터리: /var/www/html
    -기본 웹페이지 문서: index.html
    -index.html: www.project1.com에 오신 것을 환영합니다.

  6. 확인
    방화벽룰을 모두 중지하고 IP주소로 접속해서 웹페이지 내용이 출력되면 미션 클리어!
    http://200.200.200.20/
    www.project1.com에 오신 것을 환영합니다.

'>>> project1 Server 풀이 <<<'

HDD를 확인한다.
[root@www ~]# fdisk -l

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000c48ad

Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

3. project1 네트워크 정보
NIC#1: 200.200.200.20
NIC#2: 200.200.200.21
Gateway: 200.200.200.2
DNS1: 168.126.63.1
DNS2: 168.126.63.2

IP주소와 NIC#2를 확인한다.
[root@www ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:cc:b0:b0 brd ff:ff:ff:ff:ff:ff
inet 200.200.200.20/24 brd 200.200.200.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::f62b:4d50:2f32:c8d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:cc:b0:ba brd ff:ff:ff:ff:ff:ff
inet 200.200.200.150/24 brd 200.200.200.255 scope global noprefixroute dynamic ens36
valid_lft 1697sec preferred_lft 1697sec
inet6 fe80::453b:2c91:7d29:f0ce/64 scope link noprefixroute
valid_lft forever preferred_lft forever

[root@www ~]# hostname
www.project1.com
[root@www ~]# cat /etc/hostname
www.project1.com

네트워크 설정
[root@www ~]# nmtui

네트워크 관련 파일을 확인한다.
[root@www ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-ens33
1 TYPE="Ethernet"
2 PROXY_METHOD="none"
3 BROWSER_ONLY="no"
4 BOOTPROTO="none"
5 DEFROUTE="yes"
6 IPV4_FAILURE_FATAL="no"
7 IPV6INIT="yes"
8 IPV6_AUTOCONF="yes"
9 IPV6_DEFROUTE="yes"
10 IPV6_FAILURE_FATAL="no"
11 IPV6_ADDR_GEN_MODE="stable-privacy"
12 NAME="ens33"
13 UUID="2e367008-2470-4048-b3f7-bf5fe9709812"
14 DEVICE="ens33"
15 ONBOOT="yes"
16 IPADDR="200.200.200.20"
17 PREFIX="24"
18 GATEWAY="200.200.200.2"
19 DNS1="168.126.63.1"
20 DNS2="168.126.63.2"
21 IPV6_PRIVACY="no"

[root@www ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-ens36
1 HWADDR=00:0C:29:CC:B0:BA
2 TYPE=Ethernet
3 PROXY_METHOD=none
4 BROWSER_ONLY=no
5 BOOTPROTO=none
6 IPADDR=200.200.200.21
7 PREFIX=32
8 DEFROUTE=yes
9 IPV4_FAILURE_FATAL=no
10 IPV6INIT=yes
11 IPV6_AUTOCONF=yes
12 IPV6_DEFROUTE=yes
13 IPV6_FAILURE_FATAL=no
14 IPV6_ADDR_GEN_MODE=stable-privacy
15 NAME=ens36
16 UUID=8874368d-b826-3ec5-b54d-623d18b18346
17 ONBOOT=yes
18 AUTOCONNECT_PRIORITY=-999
19 USERS=root

네트워크를 재시작한다.
[root@www ~]# systemctl restart network
[root@www ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:cc:b0:b0 brd ff:ff:ff:ff:ff:ff
inet 200.200.200.20/24 brd 200.200.200.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::f62b:4d50:2f32:c8d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:cc:b0:ba brd ff:ff:ff:ff:ff:ff
inet 200.200.200.21/32 brd 200.200.200.21 scope global noprefixroute ens36
valid_lft forever preferred_lft forever
inet6 fe80::453b:2c91:7d29:f0ce/64 scope link noprefixroute
valid_lft forever preferred_lft forever

2. project1 디스크 정보
-추가 HDD 1개당 20G (20G * 2)
-Disk1: 파티션 전체를 분할해서 /backup1 디렉터리에 연결
-Disk2: 파티션 전체를 분할해서 /backup2 디렉터리에 연결
-마운트 정보: /backup1 (drwx------. 2 root root), 파일 시스템: xfs
-마운트 정보: /backup2 (drwx------. 2 root root), 파일 시스템: xfs

마운트 디렉터리를 생성한다.
[root@www ~]# mkdir /backup1 /backup2
[root@www ~]# umask
0022
[root@www ~]# ls -ld /backup[12]
drwxr-xr-x. 2 root root 6 1월 4 11:02 /backup1
drwxr-xr-x. 2 root root 6 1월 4 11:02 /backup2

/dev/sdb의 파티션 테이블을 확인한다.
[root@www ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

/dev/sdb의 파티션을 분할한다.
[root@www ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x30d15353.

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition <--
o create a new empty DOS partition table
p print the partition table <--
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit <--
x extra functionality (experts only)

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x30d15353

Device Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 83 Linux

Command (m for help): l

0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
1e Hidden W95 FAT1 80 Old Minix

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x30d15353

Device Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@www ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x30d15353

Device Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 83 Linux

[root@www ~]# fdisk -l /dev/sdc

Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

/dev/sdc의 파티션 테이블을 확인한다.
[root@www ~]# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xc6f4ce31.

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set

Command (m for help): p

Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xc6f4ce31

Device Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@www ~]# fdisk -l /dev/sdc

Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xc6f4ce31

Device Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 83 Linux

파일시스템을 생성한다.
[root@www ~]# mkfs.xfs /dev/sdb1
[root@www ~]# mkfs.xfs /dev/sdc1

HDD를 마운트 한다.
[root@www ~]# mount /dev/sdb1 /backup1
[root@www ~]# mount /dev/sdc1 /backup2

디렉터리의 권한을 변경한다.

  • 중요! 반드시 디렉터리를 마운트하고 권한을 변경한다.
    [root@www html]# chmod 700 /backup[12] -c
    mode of /backup1' changed from 0755 (rwxr-xr-x) to 0700 (rwx------) mode of /backup2' changed from 0755 (rwxr-xr-x) to 0700 (rwx------)

[root@www ~]# blkid
/dev/sdb1: UUID="f8f69009-0a7b-466f-bd5f-fc20ace59d4e" TYPE="xfs"
/dev/sda1: UUID="318045f1-2f1e-47ba-9e22-7fbf1ec0de24" TYPE="xfs"
/dev/sda2: UUID="b162cdc4-a556-4286-bcaf-7117922beaf1" TYPE="xfs"
/dev/sda3: UUID="95195ef8-5dc4-416d-991c-25dd73174f41" TYPE="xfs"
/dev/sda5: UUID="96902fbf-fdec-4e9d-b7f4-a46a545b9225" TYPE="xfs"
/dev/sda6: UUID="f3c22aa3-018d-4266-89bf-5c9d0e911f6c" TYPE="swap"
/dev/sda7: UUID="f5ed860d-606f-430b-97ce-9d095318080d" TYPE="xfs"
/dev/sda8: UUID="260e5cbc-e408-46f2-b367-75da2aeb594d" TYPE="xfs"
/dev/sdc1: UUID="f315c32a-d43d-434c-b445-00cbaeea72e3" TYPE="xfs"

[root@www ~]# vi /etc/fstab

서버를 재부팅한 후 다시 로그인해서 df로 마운트된 정보를 확인한다.
[root@www ~]# reboot

[root@www ~]# df

4. porject1 사용자그룹 정보
-관리자: adminuser, 비밀번호: P@ssw0rd
-/etc/passwd 정보: adminuser:x:2000:2000:ADMIN:/home2/adminuser:/bin/bash
-일반유저: user1, 비밀번호: P@ssw0rd
-/etc/passwd 정보: user1:x:2001:2001:project user:/home/user1:/bin/bash
-그룹#1: project
-/etc/group 정보: project:x:3000:user1

[root@www ~]# mkdir /home2
[root@www ~]# useradd -u 2000 -c ADMIN -d /home2/adminuser adminuser
[root@www ~]# echo P@ssw0rd | passwd --stdin adminuser
[root@www ~]# groupadd -g 3000 project
[root@www ~]# useradd -G project -c 'project user' user1
[root@www ~]# passwd user1

5. 웹서버 설치
-yum -y install httpd를 이용해서 설치
-웹서버 디렉터리: /var/www/html
-기본 웹페이지 문서: index.html
-index.html: www.project1.com에 오신 것을 환영합니다.

[root@www html]# yum -y install httpd
[root@www html]# systemctl enable httpd
[root@www html]# systemctl start httpd

[root@www html]# yum -y install vim
[root@www html]# alias vi=vim
[root@www html]# vi ~/.bashrc
alias vi='vim'
[root@www html]# vi /etc/vimrc
:
:(생략)
set nu
set ai
set sw=4
set ts=4
set cursorline
set bg=dark
set expandtab

[root@www html]# vi index.html

::: www.project1.com ::: www.project1.com에 오신 것을 환영합니다.

6. 확인
방화벽룰을 모두 중지하고 IP주소로 접속해서 웹페이지 내용이 출력되면 미션 클리어!
http://200.200.200.20/
www.project1.com에 오신 것을 환영합니다.

[root@www html]# systemctl stop firewalld
[root@www html]# systemctl disable firewalld
[root@www html]# ss -nlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :22 :
LISTEN 0 100 127.0.0.1:25
:
LISTEN 0 128 [::]:80 [::]:

LISTEN 0 128 [::]:22 [::]:
LISTEN 0 100 [::1]:25 [::]:

웹 브라우저에서 접속해서 웹 페이지가 잘 나오는지 확인한다.
http://200.200.200.20/
www.project1.com에 오신 것을 환영합니다.

'>>> project2 Server <<<'

1. project2 설치 정보
-배포판: CentOS7
-VM명: project2
-hostname: www.project2.com
-메모리: 1G
-/dev/sda 전체 용량: 30G
-파티션 정보(수동으로 파티션 분할)
/ : 나머지
/boot : 400M
/home : 5G
/usr : 4G
/var : 5G
/tmp : 4G
swap 파티션 : 2G

2. project2 디스크 정보
-추가 HDD: 총 2개(20G)
-Disk2: 파티션 전체를 분할해서 /home/oldProject 디렉터리에 연결
-Disk3: 파티션 전체를 분할해서 /home/newProject 디렉터리에 연결
-마운트 정보: /home/oldProject (drwxrwx---. 2 root oldproject), 파일 시스템: xfs
-마운트 정보: /home/newProject (drwxrwx---. 2 root newproject), 파일 시스템: xfs

3. project2 네트워크 정보
NIC#1: 200.200.200.22
NIC#2: 200.200.200.23
Gateway: 200.200.200.2
DNS1: 168.126.63.1
DNS2: 168.126.63.2

4. porject2 사용자 정보
-관리자: admin, 비밀번호: P@ssw0rd
-/etc/passwd 정보: admin:x:1000:1000:ADMIN:/home/admin:/bin/bash
-/etc/passwd 정보: user1:x:2000:2000:data user:/home/user1:/bin/bash
-/etc/passwd 정보: user2:x:2001:2001:oldproject user:/home/user2:/bin/bash
-/etc/passwd 정보: user3:x:2002:2002:newproject user:/home/user3:/bin/bash
-그룹1: oldproject, 그룹2: newproject
-/etc/group 정보: oldproject:x:3001:user2
-/etc/group 정보: newproject:x:3002:user3

5. 웹서버 설치
-yum -y install httpd를 이용해서 설치
-웹서버 디렉터리: /var/www/html
-기본 웹페이지 문서: index.html
-index.html 내용:

www.project2.com에 오신 것을 환영합니다.

6. 확인
방화벽룰을 모두 중지하고 IP주소로 접속해서 웹페이지 내용이 출력되면 미션 클리어!
http://200.200.200.22/
www.project2.com에 오신 것을 환영합니다.

'>>> project2 Server 풀이 <<<'

1. project2 설치 정보
-배포판: CentOS7
-VM명: project2
-hostname: www.project2.com
-메모리: 1G
-/dev/sda 전체 용량: 30G
-파티션 정보(수동으로 파티션 분할)
/ : 나머지
/boot : 400M
/home : 5G
/usr : 4G
/var : 5G
/tmp : 4G
swap 파티션 : 2G

VM이미지를 생성하고 설치하기 전에 HDD2개/NIC1개를 추가한 후 부팅해서 설치를 진행한다.

[root@www ~]# df

2. porject2 사용자 정보
-관리자: admin, 비밀번호: P@ssw0rd
-/etc/passwd 정보: admin:x:1000:1000:ADMIN:/home/admin:/bin/bash
-/etc/passwd 정보: user1:x:2000:2000:data user:/home/user1:/bin/bash
-/etc/passwd 정보: user2:x:2001:2001:oldproject user:/home/user2:/bin/bash
-/etc/passwd 정보: user3:x:2002:2002:newproject user:/home/user3:/bin/bash
-그룹1: oldproject, 그룹2: newproject
-/etc/group 정보: oldproject:x:3001:user2
-/etc/group 정보: newproject:x:3002:user3

[root@www ~]# useradd admin -c ADMIN
[root@www ~]# passwd admin
[root@www ~]# useradd -u 2000 -c 'data user' user1
[root@www ~]# passwd user1
[root@www ~]# useradd -c 'oldproject user' user2
[root@www ~]# passwd user2
[root@www ~]# useradd -c 'newproject user' user3
[root@www ~]# passwd user3
[root@www ~]# groupadd -g 3001 oldproject
[root@www ~]# groupadd -g 3002 newproject
[root@www ~]# usermod -G oldproject user2
[root@www ~]# usermod -G newproject user3

3. project2 디스크 정보
-추가 HDD: 총 2개(20G)
-Disk2: 파티션 전체를 분할해서 /home/oldProject 디렉터리에 연결
-Disk3: 파티션 전체를 분할해서 /home/newProject 디렉터리에 연결
-마운트 정보: /home/oldProject (drwxrwx---. 2 root oldproject), 파일 시스템: xfs
-마운트 정보: /home/newProject (drwxrwx---. 2 root newproject), 파일 시스템: xfs

[root@www ~]# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00009d69

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[root@www ~]# fdisk /dev/sdb
n -> p -> 엔터 -> 엔터 -> 엔터 -> p -> w

[root@www ~]# fdisk /dev/sdc
n -> p -> 엔터 -> 엔터 -> 엔터 -> p -> w

[root@www ~]# fdisk -l /dev/sdb /dev/sdc

-Disk2: 파티션 전체를 분할해서 /home/oldProject 디렉터리에 연결
-Disk3: 파티션 전체를 분할해서 /home/newProject 디렉터리에 연결
-마운트 정보: /home/oldProject (drwxrwx---. 2 root oldproject), 파일 시스템: xfs
-마운트 정보: /home/newProject (drwxrwx---. 2 root newproject), 파일 시스템: xfs

[root@www ~]# mkdir /home/oldProject
[root@www ~]# mkdir /home/newProject
[root@www ~]# ll /home
합계 0
drwxr-xr-x. 2 root root 6 1월 4 12:32 newProject
drwxr-xr-x. 2 root root 6 1월 4 12:32 oldProject

/dev/sdb1, /dev/sdc1을 포맷(파일시스템 생성) 한다.
[root@www ~]# mkfs.xfs /dev/sdb1
[root@www ~]# mkfs.xfs /dev/sdc1

https://ko.wikipedia.org/wiki/범용_고유_식별자
[root@www ~]# blkid
/dev/sda1: UUID="be26995c-99f9-4914-8e91-ce6d327022eb" TYPE="xfs"
/dev/sda2: UUID="7755ac93-a78a-48fc-b37b-47e2abcffc7a" TYPE="xfs"
/dev/sda3: UUID="4a475fc5-beba-477b-a0eb-1ce9380adf38" TYPE="xfs"
/dev/sda5: UUID="18635c8c-d60d-4778-b5c5-12480eb4d1cc" TYPE="xfs"
/dev/sda6: UUID="311f7fd8-02b2-4464-bdb1-c44f8ad0e5ea" TYPE="xfs"
/dev/sda7: UUID="0d013184-ab4a-45e1-89bb-69329f38e916" TYPE="swap"
/dev/sda8: UUID="ff7844f2-c68f-4202-9bf5-fa20ce7389b1" TYPE="xfs"
/dev/sdb1: UUID="843a1320-f11a-4482-98e3-36a4ea29b022" TYPE="xfs"
/dev/sdc1: UUID="5a98cdfd-6c97-4c7d-8160-83043bf35a2c" TYPE="xfs"

[root@www ~]# vi /etc/fstab

mount -a: /etc/fstab 파일의 모든 정보를 마운트하는 옵션
[root@www ~]# mount -a

[root@www ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 487088 0 487088 0% /dev
tmpfs 497836 0 497836 0% /dev/shm
tmpfs 497836 7892 489944 2% /run
tmpfs 497836 0 497836 0% /sys/fs/cgroup
/dev/sda8 10060800 66532 9994268 1% /
/dev/sda6 4184064 1194320 2989744 29% /usr
/dev/sda2 5232640 33136 5199504 1% /home
/dev/sda5 4184064 33096 4150968 1% /tmp
/dev/sda3 5232640 260176 4972464 5% /var
/dev/sda1 406180 122004 284176 31% /boot
tmpfs 99568 0 99568 0% /run/user/0
/dev/sdb1 20960256 32992 20927264 1% /home/oldProject <-- 자동으로 마운트 되면
/dev/sdc1 20960256 32992 20927264 1% /home/newProject <-- 잘 설정된 것이다.

허가권과 소유권(그룹)의 권한을 변경한다.
[root@www ~]# chmod 770 /home/{new,old}Project
[root@www ~]# chown .oldproject /home/oldProject/
[root@www ~]# chgrp newproject /home/newProject/
[root@www ~]# ls -ld /home/{old,new}*
drwxrwx---. 2 root newproject 6 1월 4 14:02 /home/newProject
drwxrwx---. 2 root oldproject 6 1월 4 14:02 /home/oldProject

서버가 재부팅해서 마운트가 올라오면 설정이 완벽하게 세팅된 것이다.
[root@www ~]# reboot
[root@www ~]# df

4. project2 네트워크 정보
NIC#1: 200.200.200.22
NIC#2: 200.200.200.23
Gateway: 200.200.200.2
DNS1: 168.126.63.1
DNS2: 168.126.63.2

설치할 때 설정한다.

5. 웹서버 설치
-yum -y install httpd를 이용해서 설치
-웹서버 디렉터리: /var/www/html
-기본 웹페이지 문서: index.html
-index.html 내용:

www.project2.com에 오신 것을 환영합니다.

[root@www ~]# yum -y install httpd
[root@www ~]# systemctl start httpd
[root@www ~]# systemctl enable httpd
[root@www ~]# systemctl stop firewalld
[root@www ~]# systemctl disable firewalld

[root@www ~]# ss -nlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :22 :
LISTEN 0 100 127.0.0.1:25
:
LISTEN 0 128 [::]:80 [::]:
<--
LISTEN 0 128 [::]:22 [::]:
LISTEN 0 100 [::1]:25 [::]:

[root@www ~]# cd /var/www/html/
[root@www html]# cat << EOF > index.html
'> www.project2.com에 오신 것을 환영합니다.
'> EOF
[root@www html]# ll
합계 4
-rw-r--r--. 1 root root 51 1월 4 12:49 index.html
[root@www html]# cat index.html
www.project2.com에 오신 것을 환영합니다.

6. 확인
방화벽룰을 모두 중지하고 IP주소로 접속해서 웹페이지 내용이 출력되면 미션 클리어!
http://200.200.200.22/
www.project2.com에 오신 것을 환영합니다.

profile
정보보안 전문가

0개의 댓글