IT/Web

홈 페이지 만들기 (2) 웹 서버 초기 설정

액트 2020. 6. 18. 17:35

지난 포스팅에서(아래 링크) 가상머신에 웹서버를 설치하였습니다. 

 

홈 페이지 만들기 (1) 웹 서버 OS 설치하기 - VirtualBox, Centos 8

홈페이지를 만들어 보겠습니다. (홈페이지 보단.. 그냥 웹사이트.. 홈페이지나 웹사이트나..) 내부적으로 쓸꺼라 도메인 등록이나 기타 외부에 공개되는 행위는 하지 않을 것이며, 제가  필요해�

yjshin.tistory.com

 

이번 포스팅에선 설치 완료 된 서버 초기 설정을 하려고 합니다.

최소 설치로 설치하였기 때문에 Default 기능 말고는 아무것도 없습니다.

사용하기 편리하게끔 하는 설정이니 보시고 판단하시고 설정하시면 됩니다. 

 

1. 방화벽 (firewalld) 및 selinux 종료

  • 내부적으로만 사용하는 사이트이기 때문에 방화벽 및 selinux 서비스를 비활성화하겠습니다.
  • 방화벽과 selinux를 계속 사용하시길 원하신다면 안하셔도 좋습니다.

1.1 방화벽 firewalld 서비스 종료 및 자동시작 비활성화

[root@localhost ~]# systemctl stop firewalld      #  서비스 종료
[root@localhost ~]# systemctl disable firewalld   #  서비스 자동시작 비활성화

1.2 selinux 서비스 종료

[root@localhost ~]# vi /etc/selinux/config	# 설정 파일 열기

...
SELINUX=disalbed				# enforcing -> disalbed 변경
...



:wq						# 저장하고 종료
  • 해당 파일을 수정하고 재부팅하면 아래 명령어를 통해 방화벽(firewalld)과 selinux의 비활성화를 확인하실 수 있습니다.
[root@localhost ~]# getenforce			# selinux 비활성화 확인
Disabled

[root@localhost ~]# systemctl status firewalld		# 방화벽(firewalld) 비활성화 확인
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

 

2. SSH 보안 설정

  • ssh의 경우 기본 포트는 22입니다. 
  • 기본 포트는 무작위 대입 공격이 많이 발생하는 포트이므로 보안에 아주 취약합니다.
  • 취약한 보안을 위해서 기본 포트 번호를 변경해주어야 합니다.
  • 변경하는 방법은 ssh의 설정 파일인 /etc/ssh/sshd_config 에서 port 22 로 설정되어 있는 부분을 수정해주시면 됩니다.
  • 단, 변경할 포트 번호가 이미 다른 서비스에서 사용 중인 포트일 경우 ssh 가 서비스를 재시작하여도 올라오지 않습니다.
[root@localhost ~]# vi /etc/ssh/sshd_config


....
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 22000					# 주석 해제 후 22 -> 22000 으로 변경했습니다.
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

...

ssh 포트 번호 변경

 

  • 만약에 방화벽(firewalld) 와 selinux를 비활성화 하지 않으셨다면 방화벽에서 해당 포트를 허용해 주어야 서비스를 정상적으로 이용하실 수 있습니다.
  • 아래 명령어로 SSH 포트를 열어 줍니다.
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=22000/tcp
[root@localhost ~]# firewall-cmd --reload
  • selinux를 종료하지 않은 경우에는 변경한 SSH 포트를 지정해 주어야 합니다.
[root@localhost ~]# yum -y install policycoreutils-python-utils
[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 22000
  • SSH 서비스 재시작 후 정상 확인
[root@localhost ~]# systemctl restart sshd
[root@localhost ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-06-18 17:33:12 KST; 3s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 12287 (sshd)
    Tasks: 1 (limit: 11493)
   Memory: 1.1M
   CGroup: /system.slice/sshd.service
           └─12287 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,a>

 6월 18 17:33:12 localhost.localdomain systemd[1]: Stopped OpenSSH server daemon.
 6월 18 17:33:12 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
 6월 18 17:33:12 localhost.localdomain sshd[12287]: Server listening on 0.0.0.0 port 22000.
 6월 18 17:33:12 localhost.localdomain sshd[12287]: Server listening on :: port 22000.
 6월 18 17:33:12 localhost.localdomain systemd[1]: Started OpenSSH server daemon.

 

3. yum update

  • yum은 Yellow Dog Update Modified의 약자로 RPM 설치를 위해 개발된 패키지 매니저입니다.
  • yum을 사용하면 RPM 설치 시 발생하는 의존성 문제를 해결하여 손쉽게 원하는 패키지를 설치할 수 있습니다.
  • yum update 명령어는 패키지에 대한 update를 실행해주는 명령어입니다.
[root@localhost /]# yum update

yum update

  • 위와 같이 나오면 y를 살포시 입력해줍니다
  • 업데이트 완료

yum update

 

4. 개발에 필요한 패키지 설치

  • IP를 확인할 수 있는 #ifconfig 명령어도 되지 않을 것입니다.
  • 개발과 운영에 필요한 몇가지 패키지를 설치하겠습니다.
[root@localhost ~]# yum -y install epel-release wget vim psmisc net-tools lsof
  • epel-release : yum은 패키지를 검색하는 사이트가 있습니다. 추가하고 싶은 패키지가 사이트에 없으면 설치가 안됩니다. 그래서 yum 저장소에 최신 사이트 주소를 추가해야 합니다. 저장소 목록은 yum repolist 로 확인이 가능합니다. 최신 저장소를 추가하기 위한 패키지가 epel-release 입니다. 
  • wget : 웹 페이지(HTTP, HTTPS, FTP 프로토콜) 로부터 파일을 다운로드 받는 명령어 입니다.
  • vim : 무료 편집기입니다. 기본으로 내장되어 있는 vi 에서 시각적으로 더 효과를 주어 식별에 유리합니다.
  • psmisc : 시스템 프로세스를 관리하는 유틸리티 입니다. fuser, kill 명령어를 사용할 수 있게 해줍니다.
  • net-tools : 기본 네트워크 관리 도구 입니다.
  • lsof : 시스템상에서 오픈 파일들의 목록을 작성하는 유틸리티입니다.

5. ssh 접속

  • 설치가 완료되었으면 아래 명령어를 쳐서 IP를 확인합니다. 다음 단계에서 ssh 프로토콜을 통해 외부에서 접속하기 위해 확인이 필요합니다.
  • IP 확인 명령어 ifconfig
  • ssh를 통해 접속할 IP는 호스트 전용 IP입니다.
  • 호스트전용IP는 192.168.70.3 입니다.
  • NAT IP는 10.0.2.15 입니다.
[root@localhost ~]# ifconfig

ifconfig

 

  • 원격 접속 프로그램은 종류가 많지만 이번 포스팅에선 Putty 로 진행하겠습니다.
  • putty 를 실행하여 아래와 같이 입력 후 Open 버튼을 클릭합니다.
  • Host Name : 192.168.70.3
  • Port : 22000

putty 접속

  • 아래와 같이 뜬다면 예를 클릭하십시오.

예 클릭

  • 정상적으로 접속된 것을 확인하십시오.
  • 이제부터 putty를 통해 원격 접속하여 진행할 것입니다.