
AWS 환경에서 Linux OS, Windows 서비스 서버 구축
내 PC에서 AWS 리눅스서버에 putty로 접속할 수 있도록 설정한다.
* 공개키 인증 방식(public key authentication)
- 리눅스 서버에 웹서버(ex: httpd or nginx) 기능을 구성하고, 웹서버의 보안을 강화할 수 있는 일부 구성을 진행한다.
- 리눅스 서버에 FTP 서버(vsftpd) 기능을 구성하고, FTP 서버의 보안을 강화할 수 있는 일부 구성을 진행한다.
내 PC에서 AWS 윈도우서버에 RDP(원격데스크 톱 연결)로 접속할 수 있도록 설정한다.
- RDP(Remote Desktop Protocol): 원격데스크톱 연결
- 윈도우 서버에 웹서버(ex: IIS or httpd or nginx) 기능을 구성하고, 웹서버의 보안을 강화할 수 있는 일부 구성을 진행한다.
- 윈도우 서버에 FTP 서버 기능을 구성하고, FTP 서버의 보안을 강화할 수 있는 일부 구성을 진행한다.
호스팅 서버 위치 설정

서울에 서버를 생성했는데, 다른 지역으로 접속하게 되면 이전에 생성했던 서버가 안보이니 주의
EC2 대시보드 -> 인스턴스 시작 -> 이름 설정

키 페어 생성(ppk)

인스턴스 생성, 인스턴스 요약 확인

미리 설정에 필요한 인바운드 규칙 추가

트레픽 제어 하는 방화벽 설정 FTP 포트 범위인 20-21 설정

Putty를 통한 Linux 서버 연결

Putty Key Generator 실행 -> 저장해놨던 key값 load -> Save private key를 원하는 위치에 저장
key의 파일 형식이 .ppk면 그대로 진행
Key파일 불러오기 -> ‘퍼블릭 IPv4주소’ 또는 ‘퍼블릭 IPv4 주소를 통해 접속


yum install –y httpd mod_ssl firewalld

systemctl enable --now httpd

systemctl enable --now firewalld

firewall-cmd —-permanent —add-service={http,https}
firewall-cmd —-list-all

firewall-cmd —-reload


curl 명령어를 이용한 확인

vi 편집기를 이용한 서버 확인

vi /etc/httpd/conf/httpd.conf -> 마지막줄에 ServerTokens Prod 추가

http 재기동후 curl 명령어를 실행후 서버 정보가 숨겨져 있는지 확인

vi 편집기를 통해 /var/www/html/.htaccess에 다음과 같이 내용 입력

htpasswd –mc 명령어를 통해 testuser 생성
/etc/httpd/conf/httpd.conf -> AllowOverride 값을 AuthConfig 변경

cat /etc/httpd/conf mypasswd (유저 확인)
chomod 644 /etc/httpd/conf/mypasswd (권한 설정)
-> httpd 서비스 재기동후 서버 접속

yum install –y vsftpd ftp

systemctl enable —now vsftpd
systemctl status vsftpd

firewall -cmd --permanent --add-service=ftp
firewall-cmd —-reload
firewall-cmd —list-all


알 FTP앱을 이용하여 user01사용자로 FTP 접속
useradd user01
user passwd user01 <- user01 사용자 생성

/home/user01 디렉토리안에 test1 파일 생성

HostOS에서 확인
anonymous사용자 접근 제한 설정

vi/etc/vsftpd/vsftpd.conf ->
anonymous enable=YES -> anonymous enable=NO
FTP 접속시 Banner 메세지 출력

vi /etc/vsftpd/vsftpd.conf
-> banner_file=/etc/vsftpd/banner.txt 추가

vi banner.txt

HostOS 접속시 Banner 문구 확인
chroot 설정

FTP 사용자 자신만 홈 디렉토리 아래 있는 디렉토리 이동 설정
vi /etc/vsftpd/vsftpd.con
최대 사용자 접근 제한 설정

vi /etc/vsftpd/vsftpd.conf







서버 관리자 -> 기능 및 역할 추가 -> Server Roles -> Web Server[v] -> Next

Role Services -> FTP Server[v] -> Next

Confirmation -> Restart the destination server automatically if required[v] -> Install

close

<Win + R> -> firewall.cpl -> Windows Defenfer -> FTP Server[v]

<Win + R> -> firewall.cpl -> Windows Defenfer -> World Wide Web Serrvices(HTTP)[v]

<Win + R> -> services.msc -> Microsoft FTP Service -> Running
WEB 연결 확인

퍼블릭 IPv4 주소 or 퍼블릭 IPv4 주소로 연결
index.htm을 이용한 web 연결(우선 순위를 사용)

localDisk(C;) -> inetpub -> wwwroot -> index.htm 파일생성 -> 내용 입력

web 서버 연결


Share this folder[v] -> Permissions -> Everyone -> Read[v]

Adbanced Sharing -> Share this folder -> Permissions -> SYSTEM, Administrator 추가

모든 권한 [v]

Directory Browsing 체크

이름 설정 -> C:\inetpub\ftproot 위치 설정

No SSL[v] -> 익명의 사용자 read[v] 권한 부여

FTP SERVER 생상 완료

anonymous로 FTP 접속 확인
TESTUSER 유저 생성

FTP Group 유저만 FTP서버에 접속할 수 있게 하기
그룹[FTP Groups] 생성 후 TESTUSER 그룹에 추가하기

기존 FTP 서버 사용 유저를 변경시키지 말고 새로운 FTP 서버를 구축해서 테스트해본다.

새로운 FTP 서버에 유저 그룹 추가후 모든 권한 확인

FTP Groups를 추가한 후 모든 권한을 부여한다.
TESTUSER을 통해 FTP 접속 확인

FileZilla 설치 -> SFTP -> Key페어 업로드

사이트 관리자 -> 새 사이트 -> 퍼블릭 Ipv4 or 퍼블릭 IPv4 DNS 입력 -> 포트 –21 설정 -> 평문 FTPAKS 사용
선택 -> 비밀번호 묻기 -> FTP 서버에 등록되어 있는 TESTUSER 유저로 접속

전송 설정 -> 능동형[v]

설정 암호 입력후 연결

디렉토리와 텍스트 파일을 만들어 점검
