Linux 환경에서 FTP 서버 구성을 구현하기 위해 대부분의 Linux 배포 패키지는 Washington University FTP(Wu-Ftpd)를 사용합니다. 이는 FTP의 60%가 넘는 많은 강력한 기능과 대용량을 가지고 있기 때문에 탁월한 서버 소프트웨어입니다. 인터넷의 서버가 이를 채택합니다.
설치 및 실행
아래에서는 RedHat Linux를 예로 들어보겠습니다.
1. 설치
다양한 서비스 개체에 따라 FTP 서비스는 두 가지 범주로 나눌 수 있습니다. 하나는 시스템의 합법적인 사용자만 사용할 수 있는 시스템 FTP 서버이고, 다른 하나는 누구나 FTP에 로그인할 수 있는 익명 FTP 서버입니다. 서버 및 서버 연결되면 로그인 프롬프트에 Anonymous를 입력하여 서버에 액세스합니다. 이 두 서비스의 경우 RedHat의 첫 번째 CD를 통해 Wu-Ftpd의 RPM 패키지를 설치할 수 있습니다. 시스템에 루트로 들어가서 다음 명령을 실행하면 됩니다.
Rpm -ivh anonftp -xx-x.i386.rpm
Rpm-ivhwu-ftpd-xxx-x.i386.rpm
여기서 -xx-x 및 -xxx-x는 버전 번호입니다.
2. 시작
Apache와 마찬가지로 Wu-Ftpd도 자동으로 시작되도록 구성할 수 있습니다. RedHat과 함께 제공되는 설치 프로그램을 실행하고 "시스템 서비스" 옵션에서 Wu-Ftpd를 선택한 다음 [확인] 버튼을 눌러 확인하고 종료합니다.
자동 시작은 편리하지만 Wu-Ftpd 구성 파일을 변경할 때 수동으로 시작해야 합니다.
시작: /usr/sbin/ftprestart
닫기: /usr/sbin/ftpshut
FTP 서버 구성
FTP 서버의 보안을 보장하려면 사용자 액세스 권한을 더 잘 제어할 수 있도록 몇 가지 중요한 구성 파일을 설정해야 합니다. 이러한 구성 파일은 /etc/ftpusers, /etc/ftpconversions, /etc/ftp-groups, /etc/ftpphosts, /etc/ftpaccess입니다. 이러한 파일을 사용하면 누가, 언제, 어디서 서버에 접속할 수 있는지 매우 정밀하게 제어할 수 있으며, 접속 후 이들이 수행하는 작업을 확인하고 추적할 수 있습니다.
/etc/ftpusers: 이 폴더에 포함된 사용자는 FTP를 통해 서버에 로그인할 수 없습니다. 때로는 차단해야 하는 사용자 계정이 /etc/ftpuser 파일에 기록되어 일부 사용자가 FTP 서비스를 사용하는 것이 차단될 수 있습니다.
/etc/ftpconversions: 압축/압축 해제 프로그램을 구성하는 데 사용됩니다.
/etc/ftpgroups: 사용자 그룹을 생성합니다. 이 그룹의 구성원은 FTP 서버에 액세스하도록 미리 정의되어 있습니다.
/etc/ftpphosts: 원격 호스트가 특정 계정에 액세스하는 것을 금지하거나 허용하는 데 사용됩니다. 예:
허용czc 192.168.0.0/24
CDD 10.0.0.0/8 거부
이는 czc 사용자가 네트워크 세그먼트 192.168.0에서 액세스하는 것이 허용되고 CDD는 네트워크 세그먼트 10에서 액세스가 거부됨을 의미합니다.
/etc/ftpaccess: 액세스 권한을 제어하는 데 사용되는 매우 중요한 구성 파일입니다. 파일의 각 줄은 속성을 정의하고 속성 값을 설정합니다. 다음은 몇 가지 일반적인 구성에 대한 간략한 소개입니다.
1. 사용자 카테고리 정의
형식: class [클래스 이름] [실제/게스트/익명][IP 주소]
기능: 이 명령의 기능은 FTP 서버의 사용자 범주를 설정합니다. 또한 클라이언트의 IP 주소를 제한하고 특정 또는 모든 IP 주소가 FTP 서버에 액세스하도록 허용할 수도 있습니다.
2. 로그인 재시도 횟수
명령줄에 loginfails 10을 입력합니다. 이는 10번 이후 로그인에 실패하면 연결이 끊어짐을 나타냅니다.
3. 비밀번호 확인
형식: passwd-check 〈엄격성〉 경고
익명 사용자의 비밀번호 사용을 확인하는 것으로, <strictness>는 None, Trivial, RFC822의 세 가지 문자열 중 하나입니다. None을 선택하면 비밀번호 확인이 수행되지 않음을 의미하고, Trivial을 선택하면 비밀번호에 대한 특정 요구 사항이 있음을 의미하며, RFC822를 선택하면 비밀번호에 하나 이상의 @ 기호가 필요함을 의미합니다. 가장 엄격한 요구 사항은 이메일 주소입니다. RFC822 메시지 헤더 표준(예: [email protected])을 준수해야 합니다.
예: passwd-check rfc822 warning은 비밀번호 요구 사항이 매우 엄격함을 나타내며, 비밀번호가 요구 사항을 충족하지 않으면 경고 메시지가 나타납니다.
4. 로그인 가능한 인원 제한
형식: 제한 [범주] [인원] [시간] [파일명]
합의된 시간 내에 FTP에 로그인할 수 있는 지정된 범주의 사람 수를 설정합니다. 예를 들어, 제한 원격 Any/etc/many.msg는 언제든지 원격 범주에 로그인한 사람의 수가 20명을 초과할 수 없음을 나타냅니다. 그렇지 않으면 Many.msg 경고 메시지가 표시됩니다.
이러한 구성을 올바르게 사용하면 서버를 효과적으로 보호할 수 있습니다.
확인하다
FTP 서버를 설치 및 구성한 후 이를 확인하고 그래픽 도구와 명령줄을 모두 사용하여 FTP 서버에 액세스할 수 있습니다. Linux에서 가장 일반적으로 사용되는 명령은 복잡하지 않은 FTP 서버 인터페이스를 제공하는 FTP입니다. FTP 서버에 연결하려면 명령 프롬프트에 FTP Servername을 입력하고, Servername을 연결하려는 FTP 서버의 호스트 이름이나 IP 주소로 바꾸고, 메시지에 따라 사용자 이름과 비밀번호를 입력한 다음 표준 Linux를 사용하세요. FTP 서버 디렉터리 구조를 위나 아래로 이동합니다. 또한 창으로 표시된 gFTP를 포함한 그래픽 FTP 프로그램을 사용하여 웹 브라우저를 통해 FTP 서버에 액세스할 수도 있습니다.
이상은 Linux에서의 FTP 서버 구성의 핵심 사항입니다. 도움이 되셨으면 좋겠습니다.
/etc/ftpusers: 이 폴더에 포함된 사용자는 FTP를 통해 서버에 로그인할 수 없습니다. 때로는 차단해야 하는 사용자 계정이 /etc/ftpuser 파일에 기록되어 일부 사용자가 FTP 서비스를 사용하는 것이 차단될 수 있습니다.
/etc/ftpconversions: 압축/압축 해제 프로그램을 구성하는 데 사용됩니다.
/etc/ftpgroups: 사용자 그룹을 생성합니다. 이 그룹의 구성원은 FTP 서버에 액세스하도록 미리 정의되어 있습니다.
/etc/ftpphosts: 원격 호스트가 특정 계정에 액세스하는 것을 금지하거나 허용하는 데 사용됩니다. 예:
허용czc 192.168.0.0/24
CDD 10.0.0.0/8 거부
이는 czc 사용자가 네트워크 세그먼트 192.168.0에서 액세스하는 것이 허용되고 CDD는 네트워크 세그먼트 10에서 액세스가 거부됨을 의미합니다.
/etc/ftpaccess: 액세스 권한을 제어하는 데 사용되는 매우 중요한 구성 파일입니다. 파일의 각 줄은 속성을 정의하고 속성 값을 설정합니다. 다음은 몇 가지 일반적인 구성에 대한 간략한 소개입니다.
1. 사용자 카테고리 정의
형식: class [클래스 이름] [실제/게스트/익명][IP 주소]
기능: 이 명령의 기능은 FTP 서버의 사용자 범주를 설정합니다. 또한 클라이언트의 IP 주소를 제한하고 특정 또는 모든 IP 주소가 FTP 서버에 액세스하도록 허용할 수도 있습니다.
2. 로그인 재시도 횟수
명령줄에 loginfails 10을 입력합니다. 이는 10번 이후 로그인에 실패하면 연결이 끊어짐을 나타냅니다.
3. 비밀번호 확인
형식: passwd-check 〈엄격성〉 경고
익명 사용자의 비밀번호 사용을 확인하는 것으로, <strictness>는 None, Trivial, RFC822의 세 가지 문자열 중 하나입니다. None을 선택하면 비밀번호 확인이 수행되지 않음을 의미하고, Trivial을 선택하면 비밀번호에 대한 특정 요구 사항이 있음을 의미하며, RFC822를 선택하면 비밀번호에 하나 이상의 @ 기호가 필요함을 의미합니다. 가장 엄격한 요구 사항은 이메일 주소입니다. RFC822 메시지 헤더 표준(예: [email protected])을 준수해야 합니다.