━━━━ ◇ ━━━━
정보보안실무/서버, 클라우드

S-Part.03 FTP서버 구축하기 - [인스테도뷰]

728x90
반응형
Part 03: 
 
Setting FTP Server

FTP서버 구축

구축환경

CentOS 7.6 Minimal - (www.centos.org)

VirtualBox 7.0 - (www.virtualbox.org)

FileZilla 3.60.2 - (www.filezilla-project.org)

 

 

VirtualBox 설치과정은 다른 블로그에도 아주 잘 정리되어 있으니 모두 생략하고 CentOS같은 경우는 일반적인 패키지를 포함하고 있는 DVD ISO, 모든 패키지가 포함되어 있는 Everything ISO 대신 MInimal ISO를 선택했다. 이유는 Minimal ISO가 아무래도 용량을 가장 적게 사용하기 때문이다. Minimal ISO를 설치해도 추후 원하는 패키지를 언제든 추가할 수 있다.

 

머신이 구동완료 됐다면 머신 구축 시 설정해둔 계정과 pw를 입력하고, 위 그림과 같이 'yum update' 명령어를 최초 1회 실행시켜준다. 'yum update' 명령어는 패키지 업데이트 작업 명령어인데, 이번엔 패키지 명을 따로 지정하지 않았기 때문에 모든 패키지에 업데이트 작업이 실행된다.

한가지 팁이 있다면 명령어 입력 시 'yum update -y'라고 입력하면 위 그림처럼 중간중간 나오는 확인 문구들에 대해서 모두 자동으로 'yes'처리를 해주기 때문에 중간에 귀찮게 'y' 혹은 'yes'를 입력해줄 수고가 줄어든다.


패키지 업데이트가 끝나고 나면 위 그림과 같이 'rpm -qa | grep vsftpd'를 입력해본다. 'rpm -qa | grep' 명령어는 뒤에 우리가 입력하는 문자열을 검색하여 해당 패키지가 설치되어있는지, 파일이 존재하는지 알 수 있다. 현재는 ftp를 설치하지 않았기 때문에 아무 응답이 없는 것을 볼 수 있다.

이번엔 'yum install'명령어를 사용하여 ftp를 설치해본다. 위에서 언급했던 것 처럼 중간중간 나오는 확인 문구들을 모두 'yes'처리하기 위해서 'yum install -y'까지 입력하였고 vsftpd는 ftp서비스를 의미한다. 참고로 vsftpd는 Very Secured File Transfer Daemon의 약자이다.

설치가 완료되면 'systemctl status vsftpd' 명령어를 사용하여 ftp서비스의 상태를 점검한다. systemctl은 system control을 의미하고 status는 상태이다. 사실 이 단계는 생략해도 된다. 왜냐하면 아직 ftp서비스를 실행하기 전이기 때문에 위 그림처럼 시작하려다 멈추고 시작하려다 멈추는 로그들을 확인할 수 있다.

그래서 'systemctl start vsftpd(서비스 시작명령어)'와 'systemctl enable vsftpd(머신이 종료되더라도 재실행시 서비스를 유지시켜주는 명령어)'를 입력하여 ftp서비스를 실행시킨다. 두 가지 명령어를 한 번에 처리할 때는 위 그림처럼 명령어와 명령어 사이에 '&&'을 입력해주면 된다.

아까 했던 것 처럼 'systemctl status vsftpd' 명령어를 사용하여 ftp서비스 상태를 점검한다. 아까와는 다르게 'active (running)'이라는 문구가 연두색으로 출력되는 것을 볼 수 있다. 즉 실행이 잘 되고 있다는 뜻. 이제 방화벽 세팅을 해줄 차례다.


 

'firewall-cmd --permanent --add-service=ftp' 명령어를 이용해서 방화벽 세팅을 해준다. firewall-cmd는 firewall command이며 ftp라는 서비스를 영원히(permanent) 추가(add)하겠다' 라는 뜻이다. 나는 이미 구축되어있던 머신으로 실행해서 이미 ftp서비스 실행이 설정되어있다고 출력되지만 처음 명령어를 입력한다고 하더라도 딱히 다른 문구가 출력되진 않고, 명령어가 정상적으로 실행된다면 'success'라는 문구가 뜬다.

** add와는 반대로 서비스를 제거하고 싶을 때는 'firewall-cmd --permanent --remove-service=서비스명' 이라고 입력해주면 된다.

이제 적용을 시킬 차례다. 'firewall-cmd --reload' 명령어로 우리가 추가한 서비스에 대한 명령어를 적용시켜준 뒤에 'firewall-cmd --list-all' 명령어를 통해서 ftp 서비스가 활성화 됐는지 확인해주면 된다. 활성화가 됐다면 그림처럼 ftp라는 글자가 출력된 것을 확인할 수 있다.


 

이제 설치해둔 파일질라와 머신을 연결할 차례다. 머신에서 'ipa ddress', 'ip ad', 'ip add', 'ifconfig'와 같은 명령어로 해당 머신의 ip주소를 확인할 수 있다.

호스트란에 'sftp://머신IP주소'를 입력하면 root계정으로 연결이 잘 되는 것을 볼 수 있다. 이제 윈도우에 있는 파일들을 우리가 구축해둔 가상머신에 자유롭게 업로드, 다운로드를 할 수 있게 되었다.

 


추가적으로 root 계정외에 다른 계정과 파일질라를 연결하고 싶다면 일단 다른 계정부터 만들어야하는데 다른 계정은 'useradd 계정명'을 입력하여 계정을 생성한 뒤, 'passwd 계정명'을 입력하여 비밀번호를 새로 설정해준다. 새로 만든 계정 디렉토리는 '/home'에 위치한다.

새로 만든 계정으로 파일질라와 연결할 때는 아까 root계정 연결에서 'sftp://IP주소'를 입력했던 것과는 다르게 그냥 'IP주소'만 입력하고 새로 만든 계정명, 비밀번호만 입력해주면 연결이 된다. 연결에 성공하면 앞서 말한 것과 같이 /home 디렉토리 밑에 새계정이름의 디렉토리와 연결된 것을 확인할 수 있다.

 

 

728x90
반응형
COMMENT