Win-Server에서의 FTP 구축1. Win-Server, FTP 설치2. 설정3. 접속확인4. 사용자 격리5. 가상 디렉토리 설정6. 패시브 모드 설정7. 가상 호스트
Win-Server에서의 FTP 구축1. Win-Server, FTP 설치*Win-Server의 DHCP 서비스로 클라이언트의 IP를 수령)

Win-Server, IIS-FTP 서버 설치
IIS 스타트
기본 사이트 삭제
* 전역설정해당페이지는 전역설정페이지 전역설정은 세부설정이 있으면 우선순위에서 밀린다

FTP 서비스는 root 디렉토리가 필요, 생성해야 한다.
* IIS 설치 시 기본 생성되는 디렉토리가 존재하지만 보안상 좋지 않다.

FTP 에서 사용할 테스트 파일 생성 [ftp root 디렉토리] shift – 우클릭 – 파워쉘 테스트 파일 생성, 바이트 단위로 지정 PSC:\01_FTP> fsutil file createnew fttp.txt314572800
2. 설정IIS, FTP 사이트 추가

* 인증 및 권한은 작성 후 별도 설정
FTP 사이트 작성 상세설정 페이지

FTP 사이트 상세설정 FTP IP 주소 및 도메인 제한 화이트리스트, 블랙리스트 방식이 사용 가능하다.
블랙리스트 방식 적용* 10.0.0.201 거부, 나머지 IP에 대해서는 모두 허용 설정 FTP SSL 설정 일단 지금은 사용하지 않는다. PASSFTP 권한 부여 규칙-권한 부여 규칙과 인증은 항상 함께 설정해야 한다.테스트 계정 확인지정 계정에 대해 권한 설정, 허가 규칙 추가익명 계정 권한 설정, 허용 규칙 추가, 모든 익명 사용자 – 다운로드(읽기) 권한규칙 적용 확인FTP인증기본,익명계정사용여부에따라사용,비사용FTP 디렉토리 검색 UNIX 방식의 사용, FTP에서의 권한값을 올바르게 보기 위해서는 UNIX로 사용해야 한다.FTP 로깅 로그 파일의 위치, 로그 빈도 등 로그와 관련된 설정을 할 수 있다.* 로그 시간은 세계 표준시를 사용하는 것이 좋아 사고 발생 시 다른 나라 사람과 협업할 수 있기 때문에FTP 메시지 사용자가 FTP 접속, 사용 시 출력되는 배너를 설정할 수 있다.사용자 변수를 지원한다.FTP 방화벽 지원 상세 설정에서는 방화벽 설정 X..?, 전역 설정에서 설정해야 함* 방화벽 외부 주소 방화벽을 열 IP 주소를 결정할 필요가 있을 때 사용한다.FTP 사용자 격리 **chroot와 같은 기능 사용자의 홈 디렉토리 로그인 설정 가상 디렉토리 사용과 같은 기능을 설정할 수 있음* 가상 디렉토리 상단 설정은 가상 디렉토리 X 하단 설정은 가상 디렉토리 OFTP 요청 필터링 ftp인 특정 확장자, 명령어에 대한 제어를 수행하는 부분 특정 확장자 업로드, 다운 금지 등..FTP 현재 세션 접속하고 있는 사용자에 대한 세션 정보를 볼 수 있다.어떤 명령어를 쳤는지도 확인 가능FTP 개시* Windows는 어떤 서비스가 시작되면 포트를 자동으로 켜주는 FTP 서버(FTP 트래픽 인) 속성-21번 포트(인증 포트)FTP 서버 수동 (FTP 수동 트래픽 인) – 패시브 모드 데이터 전송 포트FTP 서버 보안(FTP SSL 트래픽 인) – 정확히 무엇을 하는 역할인지 모르겠다.* 20번 포트가 열리지 않은(데이터 전송 포트) 20번 포트를 따로 열어줘야 한다.3. 접속확인 * 기존 클라이언트 방화벽 삭제 * 현재 설정은 액티브 모드이므로 화이트보트 현상 발생 시 일시적으로 ‘접근 허용’* FTP 디렉토리 검색 옵션 UNIX 로 했기 때문에, 정상적으로 권한을 읽을 수 있다.* b 계정으로 로그인, 역시 마찬가지로 root 디렉토리에 들어온다.* anonymous도 마찬가지다* 사용자 작성 시 초기 설정이 중요! ftp 접속이 안되는 경우가 있다.이거 체크 풀어줘야지.FTP 사용자 격리-chroot와 같이 사용자를 홈 디렉토리에 로그인시킨다.해당 디렉토리를 최상위 디렉토리로서 인식시켜 상위 디렉토리로의 접근을 막는다.- 현재 설정은 사용자 디렉토리에 로그인만 하는 기능-그래서 사용자 이름과 동일한 디렉토리를 작성*익명 계정은 ‘default’* 각 디렉토리에 구별할 수 있는 테스트 파일 작성각각 홈 디렉토리에 로그인하는데 상위 디렉토리 접근이 가능하고 다른 계정의 홈 디렉토리를 침범할 수 있다.* 익명 계정이 a 디렉토리 내의 파일을 확인 가능FTP 현재 세션 – 익명 계정 세션 로그 남음 (연결 중)세션 오프업로드 로그* 포트 분석 IP, 포트가 이렇게 주어지면 약간의 계산 후 포트를 도출할 수 있다.10.0.0.11123, 22123 * 256 + 2231,510이라는 포트 결과가 도출된다.4. 사용자 격리 아래 격리 옵션을 사용하여 해당 옵션의 차이가 큼사용자 이름 실제 디렉토리(글로벌 가상 디렉토리 사용) – 이 옵션은 홈 디렉토리에 사용자를 격리하고 상위 디렉토리에 대한 접근을 차단한다.사용자 격리 설정을 사용하려면 “root” 디렉토리 하위에 “localuser” 디렉토리가 필요한 MS에서 정한 설정이다.local host 내부의 각 사용자 이름 디렉토리 작성 – localhost 디렉토리 내부의 익명 계정은 ‘public’ 디렉토리로 정의된다.* 각 디렉토리에 구분 가능한 테스트 파일 작성설정 후 ftp 로그인 localhost 내부의 사용자 디렉토리에 로그인 사용자 격리되며, 해당 디렉토리를 최상위로 인식하여 실제 상위로의 디렉토리 접근이 불가능하다.5. 가상 디렉토리 설정 실제의 디렉토리는, 다른 장소에 위치해, 가상 디렉토리를 생성해, 유저의 홈 디렉토리가 가상 디렉토리 위치에 있다고 착각하게 한다(실제의 장소는 실제의 디렉토리, 다른 장소에 있다).테스트에 사용할 디렉토리, 테스트 파일 작성테스트에 사용할 계정 생성(aa,bb)6. 패시브 모드 전역 설정 – FTP 방화벽 지원 패시브 모드에서 사용할 포트를 지정한다.* 방화벽의 외부 IP 주소 특정 IP를 지정하지 않으면 모든 IP에 대해 열리게 된다.테스트 사용자 생성루트 디렉토리 생성(테스트용 디렉토리 2개 생성, 1개는 root-X, 1개는 테스트-y, ano)루트 디렉토리 생성(테스트용 디렉토리 2개 생성, 1개는 root-X, 1개는 테스트-y, ano)각 계정 디렉토리에 테스트 파일 생성FTP 사이트 작성, 설정가상 디렉토리 추가설정 후 FTP 서비스 재실행서비스가 정상적으로 작동하는지 확인* 클라이언트 방화벽을 여는 서버 측 인증 21, 데이터 전송 포트가 열려 있어야 한다. 데이터 전송 포트는 설정 확인.(Windows 기본 FTP 프로그램 불안정으로 화이트보드 현상 발생, 그대로 접근 허용)디렉토리 내의 파일 다운로드해당 사진은 다운로드 예 서버 시스템 포트 확인 CMD>netstat-na-ptcppash 모드를 사용하여 지정 포트를 사용하는지 확인한다.7. 팀실습1. 팀별 작업으로 진행 2. 팀원 이니셜 계정 작성, 패스워드는 통일 3.FTP Server를 Passive Mode에서 구성 4. 사용자별 격리. 물리적 or가상 디렉토리에서 구성 4-1익명 계정은 가상 디렉토리에서 구성 4-2팀 멤버 사용자는 물리 디렉터리로 구성 5. 사용자별 업로드, 다운로드를 제한 5-1팀원은 업로드만 어떤 팀원은 다운로드만 6. 접속된 세션을 확인하고 강제적으로 절단하세요. 가급적 불필요한 설정을 하지 않고 반드시 필요한 설정만 유독 방화벽 설정에 주의할 필요가 없으면 방화벽 OPEN도 생각하지 않으면 안 된다 192.168.37.112-업로드 강·현희 192.168.35.155-모두 가능 팬·동효크 192.1.1.1 37.1 37.1 37.8.현희님명근님동혁 씨.8. 가상 호스트 1. 동일 IP, 동일 포트를 사용하는 FTP 서비스 구성 1-1 가상 호스트 1-2 Login 시 호스트 지정 2. DNS-웹에서 사용하려면 DNS의 도움이 필요한 가상 호스트 구성-같은 시스템에서 같은 포트, 같은 서비스를 2개 운용할 수 없다.이것을 가능하게 하는 것이 가상 호스트 서버 1대에서 같은 포트에 ftp 서비스를 2개 올리는 테스트하는 계정 생성FTP 서비스가 이미 있는 상황에서 하나 더 생성하면 에러 메시지-이렇게 포트를 바꿔주지 않는 이상 하나의 포트에 두 개의 서비스를 사용하는 것은 불가능하다.두 번째 FTP 서버에서 바인딩 옵션바인딩 옵션에서 21번, ftp 편집에 들어가 호스트 이름 지정(주소와 동일한 값을 줘야 하지만 현재 조건상 HOST만 입력)가상 호스트를 사용한 FTP 서비스 접속 – 해당 FTP 서비스 접속 시 해당 호스트를 선택, 입력하여야 한다.