IT/Web
홈 페이지 만들기 (2) 웹 서버 초기 설정
액트
2020. 6. 18. 17:35
지난 포스팅에서(아래 링크) 가상머신에 웹서버를 설치하였습니다.
이번 포스팅에선 설치 완료 된 서버 초기 설정을 하려고 합니다.
최소 설치로 설치하였기 때문에 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 ::
...
- 만약에 방화벽(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
- 위와 같이 나오면 y를 살포시 입력해줍니다
- 업데이트 완료
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
- 원격 접속 프로그램은 종류가 많지만 이번 포스팅에선 Putty 로 진행하겠습니다.
- putty 를 실행하여 아래와 같이 입력 후 Open 버튼을 클릭합니다.
- Host Name : 192.168.70.3
- Port : 22000
- 아래와 같이 뜬다면 예를 클릭하십시오.
- 정상적으로 접속된 것을 확인하십시오.
- 이제부터 putty를 통해 원격 접속하여 진행할 것입니다.