공개하기부끄러운블로그
공개하기부끄러운블로그
공개하기부끄러운블로그
전체 방문자
오늘
어제
  • 🥇Home (110)
    • 👨🏻‍💻Infra (73)
      • 🌐Network (4)
      • 🐧Linux (27)
      • 🌎Cloud (9)
      • ⚫️Virtualization (2)
      • 🐳Docker & Kubernetes (1)
      • 🟦WEB & WAS (18)
      • 🟩IaC (0)
      • 🟨CI & CD (0)
      • ⚙️Application (6)
      • 💻Monitoring (2)
      • 📡HA (4)
    • 👨🏻‍💻Development (3)
      • 💻Frontend (2)
      • 💾Backend (0)
      • 🐍Bash (1)
    • 💾Data (16)
      • 🧩Database (13)
      • 📁Storage (3)
    • 🎓BBS (14)
    • 👨‍👧‍👧Git (0)

최근 글

인기 글

최근 댓글

태그

  • CentOS8 PostgreSQL
  • 톰캣 HTTP 헤더
  • 2022년 정보처리기사 필기
  • pacemaker
  • Tomcat HTTP 헤더
  • 2022년 정보처리기사 실기
  • 2022년 정보처리기사 문제
  • 정보처리기사 실기
  • 정보처리기사
  • 2022 정보처리기사 필기
  • 정보처리기사 문제집 추천
  • 정보처리기사 필기
  • RHCS
  • 톰캣 버전 노출
  • 2022년 정보처리기사 필기 정리
  • 2022 정보처리기사 정리
  • 2022 정보처리기사 덤프
  • 2022년 정보처리기사
  • CentOS7 PostgreSQL
  • 2022년 정보처리기사 덤프
  • CentOS6 PostgreSQL
  • Tomcat 버전 노출
  • 2022년 정보처리기사 정리
  • 라이믹스
  • 정보처리기사 정리
  • log4j 취약점
  • 정보처리기사 덤프
  • Tomcat 취약점
  • 정보처리기사 실기 덤프
  • 2022 정보처리기사 실기

티스토리

hELLO · Designed By 정상우.
공개하기부끄러운블로그

공개하기부끄러운블로그

👨🏻‍💻Infra/⚙️Application

FTP 서버 | Active모드와 Passive모드

2019. 10. 17. 16:36
반응형

FTP 서버는 파일을 교환하기 위한 프로토콜인 FTP를 사용할수 있는 서버.

FTP 서버--------FTP 클라이언트 가 있어야 업로드 or 다운로드가 가능하다.

 

Centos 는 기본으로 vsftpd 를 제공하며

vsftpd(Very Secure FTP) 는 이름 그대로 보안을 강조한다.

 

물론 vsftpd 를 설치하지않아도 SFTP 로 사용 가능하다. 

 

FTP 기본포트는 20번(데이터전송), 21번(제어연결) 포트가있으며

FTP서버와 FTP클라이언트 사이에 2개의 연결을 가진다.

 

제어연결은 FTP 명령어 및 서버의 응답코드를 전송하기 위한 목적이며

데이터연결은 파일 전송 및 서버에서 파일 및 디렉토리 리스팅(ls 등) 된 자료를 전달할때 사용된다

 

제어연결과 데이터연결이 분리된 이유는 파일을 효율적으로 전송하기 위함이며 

제어연결은 클라이언트가 FTP서버에 접속해있는 동안 연결을 유지하며

데이터연결은 데이터 전송이 필요할때 연결을 가진다.

데이터연결에서는 2가지 방법을 지원하는데,

Active 모드, Passive 모드이다.

 

Active 모드 : 서버에서 클라이언트로 연결을 시도하기 때문에 클라이언트의 방화벽이나 공유기 등 을 사용하는경우

                 연결되지 않는다.

 

Passive 모드 : 클라이언트에서 서버로 연결을 시도하기때문에 클라이언트 환경에 영향을 받지 않는다.

                   이 모드는 서버의 1024이후 포트를 사용한다.

 

Passive 모드 설정 방법은 다음과 같다

# vi /etc/vsftpd/vsftpd.conf

pasv_enable=Yes

pasv_min_port=30000

pasv_max_port=30010

 

iptables 를 사용한다면 위 포트를 허용하도록 추가한다.

# vi /etc/sysconig/iptables

–A INPUT –m state —state NEW –m tcp –p tcp —dport 30000:30010 –j ACCEPT

 

-----------------------------------------------------------------------------------------------------------------------------

 

쉘 권한이 없는 사용자(/bin/false) 들에게 FTP 사용을 가능하게 하려면

다음 파일에 3번째 줄 (빨간부분) 을 주석처리 해주면 된다.

 

# vi /etc/pam.d/vsftpd 

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

반응형
저작자표시 (새창열림)

'👨🏻‍💻Infra > ⚙️Application' 카테고리의 다른 글

Redmine PurpleMine2 테마, Agile 플러그인 설치  (0) 2021.12.10
Nodejs 버전 별 설치  (0) 2021.03.31
Redmine4.1 테마 추가  (0) 2021.01.27
Redmine4.1 구축  (0) 2021.01.22
국내 ISP DNS 정보  (0) 2020.02.09
    '👨🏻‍💻Infra/⚙️Application' 카테고리의 다른 글
    • Nodejs 버전 별 설치
    • Redmine4.1 테마 추가
    • Redmine4.1 구축
    • 국내 ISP DNS 정보
    공개하기부끄러운블로그
    공개하기부끄러운블로그
    IT 기술 블로그

    티스토리툴바