2024. 1. 28. 23:45ㆍWindow Server
FTP란
(File Transfer Protocol)
한 컴퓨터에서 다른 컴퓨터로
파일을 효율적으로
전송하도록 설계된 네트워크 프로토콜이다.
TCP 이며 port는
인증 및 제어
20번 포트
데이터 전송
21 : Active(능동)
Client가 데이터 전송에 사용할 포트를 서버에 통보,
Server가 해당 포트로 데이터를 전송(관리자가 해당 포트 모름)
관리자가 Client의 모든 포트를 Open , 실제로는 사용불가 (보안상 이유)
편법으로 해당 프로그램,
즉 FTP만 모든 포트 오픈
Client의 Port 개방이 안되면 WhiteBoard 현상이 발생한다.
21 : Passive (수동)
관리자가 서버에 설정하는 Port 사용
Server가 데이터 전송 포트를 결정할 수 있다.
즉 관리자가 전송 포트를 설정해서
해당 포트만 Open
이러한 이유로 대부분 수동(Passive) 모드로 사용한다.
사이트 명은 ftp
실제 폴더를 만들어주고 그 경로를 지정해주자.
SSL 인증서가 없으므로 지금은 사용하지 않는다.
인증 및 권한 부여 정보도 생성한 뒤에
설정 해줄 것이니 마치면 된다
웹사이트 설정과 비슷하지만 다른 항목들이 있다.
현재 사용할 것을 몇가지 알아보겠다.
FTP 권한 부여 규칙
사용시에는 반드시 FTP 인증과 같이 설정 되어야 한다.
허용 권한 부여 규칙은
어떤 사용자를 허용할지 결정한다.
관리자, 사용자, 게스트(anonymous)등등
사용자 a, b는 읽기쓰기
게스트는 읽기만
허용해 추가한다.
FTP 인증
FTP 권한 부여 규칙과
반드시 같이 설정 되어야 하는 옵션
아래 사진을 보면 알 수 있다.
설정을 해주지 않으면
권한을 부여해도 인증이 불가하기 때문.
둘다 사용으로 바꿔준다.
FTP 디렉터리 검색
MS-DOS 스타일 선택시 권한이 모두 ???로 출력됨
클라이언트 프로그램들이 오픈소스 형태로 만들어 졌기 때문에
읽지 못한다
그래서 기본적으로 UNIX로 설정한다.
FTP 로깅
웹서버와 비슷하다
로그를 볼 수 있게
저장 디렉터리를 설정하고
롤오버를 설정 할 수 있다.
FTP 메세지
반드시 설정 해줘야한다.
배너
로그인 전에 출력되는 대문
비인가자 무단접속이 형사처벌 대상이 될 수 있다는
경고 문구를 삽입해주자
(판례가 있었기 때문에 넣어줘야함)
위처럼 사용자가 FTP 서비스 이용시
알아야할 문구나 인삿말을 넣어준다.
메세지 사용자 변수 지원을 체크하면
%username%같은 변수를 사용할 수있다.
FTP 현재 세션
접속한 사용자나
사용자가 사용하는 명령어
사용자의 세션을 끊을 수도 있다.
몇가지 설정을 마쳤으니 w10에서 FTP 서버에 접속해 보겠다.
FTP 접속해보기
cmd 창에서 ftp 10.0.0.1로 서비스 접속이 가능하다.
연결 하자 대문이 출력되고 사용자로 로그인 하면 된다.
anonymous로도 로그인 가능하다
게스트는 암호 부분에서
입력하지 않고 엔터만 입력해도 접속된다.
하지만 이는 패스워드가 없는 것이 아니라
서버가 클라이언트에
패스워드를 제공해 준것 이다.
게스트 계정에서 dir 을 입력하면
이와같이 WhiteBoard 현상이 발생한다.
(허용하지 말고 취소해주자)
이에대한 해결책은 FTP 프로그램에 대해서만
방화벽을 열어줄 것이다.
방화벽 인바운드 규칙을 확인해보자
파일 전송 프로그램이 이미 차단 되있는걸 알 수 있다.
두개의 항목을 삭제해주자
이전과 다르게 포트가 아닌
프로그램을 열어 줄것이다.
C:\Windows\System32\ftp.exe 를 선택 해준다
허용해준뒤 식별하기 쉽게 FTP로 작성해주자
다시 재접속 후 dir을 입력하면
babo 폴더가 보이면
정상작동 한 것이다.
유저를 a, b로 바꿔도 dir이 잘 출력된다.
종료는 quit을 입력하면 된다.
ftp도 DNS 등록해주면 도메인 이름으로 접속이 가능하다.
FTP 사용자 격리
특정 사용자만
특정 디렉터리에
엑세스하게 하는 기능
실제 사용자 이름 디렉터리를 체크해주고 적용
그 후에 실제 디렉터리에
사용자 이름으로 된 폴더를 생성하고
각자의 이름으로된 txt 파일을 생성해줬다.
anonymous(게스트)는 default 폴더로 간다.
이제 각자의 디렉토리에서 로그인 돼
각자의 txt 파일이 보이는 것을 알 수 있다.
하지만 문제가 하나 있다
cd .. 명령어로 상위 디렉토리로 가면
모든 디렉토리에 접근이 가능해진다.
이래선 사용자를 격리한 이유가 없어진다.
각자의 디렉토리를
최상위 디렉토리로 만드려면
FTP 실제 디렉토리에
LocalUser 라는 파일을 만들고
그 안에 사용자 폴더를 생성해주어야 한다.
이때 anonymous는 public 파일이 된다.
그런 뒤 사용자 격리 설정에서
사용자 이름 실제 디렉터리(전역 가상 디렉터리 사용) 을
체크 해준 뒤 적용한다
cd.. 커맨드가 성공했다고 나오지만
dir 명령어를 입력해도
현재 디렉토리에 머물러있다.
지금 디렉토리가
최상위 디렉토리가 된 것이다.
이것이 사용자 격리이다.
FTP 가상호스트
만약 특정 사용자들 (보안팀) 만
사용 가능한 FTP를
따로 만들고 싶을때를 가정해서 만들어보겠다.
다른 사용자 aa, bb 를 만들어 주고
실제 디렉토리도 생성해준다.
가상호스트 이름을
sec로 설정 해주고
ssl은 사용안함
그 뒤 FTP 권한 부여 규칙과
FTP 인증 설정을 해준다
이제 로그인 해주면 되는데
로그인 방법이 조금 다르다.
똑같이 FTP 서버에 접속한뒤
(가상호스트)|aa 를 입력해줘야 한다.
sec|aa 를 입력하면
위와 같이 가상 호스트로 접속했다.
또한 가상호스트도 사용자 격리가 가능하다!
이상 FTP에 대해서 알아보았다.
'Window Server' 카테고리의 다른 글
Active Directory 15. AD 그룹정책 1 (0) | 2024.01.31 |
---|---|
Active Directory 14. Mail서버 구축 (0) | 2024.01.31 |
Active Directory 12. DNS 주, 보조, 스텁 영역 만들기 (0) | 2024.01.28 |
Active Directory 10. IIS의 이중화와 웹컨텐츠 등록 (0) | 2024.01.28 |
Active Directory 9. IIS 설치 및 DNS 구성 (0) | 2024.01.28 |