Pure-FTPd 란?
소프트웨어 보안에 중점을 둔 무료 FTP 서버이다.
구성 내용
Pure-FTPd에 LDAP Authentication이 되도록 구성을 해보고, 상위 디렉토리로 이동할 수 없고, 파일 이름을 변경할 수 없도록 구성을 해보겠습니다.
토폴로지
2021년도 전국대회 1과제를 참고 했습니다. LDAP 서버, DNS 서버에 ftp 레코드는 추가 되어있고, 등등은 알아서 하시면 될 것 같습니다.

A-S
#apt install pure-ftpd lftp 2번 CD 삽입 DLBD 2
#apt-cdrom add
#apt-get update
#apt install pure-ftpd-ldap // DLBD 1번 파일 같은 경우는 pure-ftpd-ldap 가 없어서 2번 cd를 통해서 설치를 할 수 있습니다.
설치가 완료된 후 다시 1번 파일로 변경합니다.
#echo yes > /etc/pure-ftpd/conf/NoRename // 파일 이름을 변경하지 못하도록 설정합니다.
#echo yes > /etc/pure-ftpd/conf/ChrootEveryone // 상위 디렉토리로 이동을 못하게 설정합니다.
*여기서 NoRename, ChrootEveryone 이 기억이 안날경우 /etc/pure-ftpd/pure-ftpd.conf 파일로 가보면 해당 문구를 찾을 수 있습니다.
pure-ftpd 가 LDAP Authentication 를 사용하도록 구성을 시작합니다.
#vim /etc/pure-ftpd/db/ldap.conf

#vim /a.sh

alpha01~alpha99의 사용자 홈 디렉토리를 만드는 스크립트인데, 로그인을 하면 자동으로 디렉토리가 만들어 지지만, 99의 사용자 까지 로그인을 할 수 없으므로, 스크립트로 생성합니다.
#chmod +x /a.sh
#/a.sh
#systemctl restart pure-ftpd*
*테스트
A-S
#touch /home/alpha75/text.txt && curl ftp://localhost/ --ftp-ssl –k –user alpha75:\korea2020!
아래의 사진처럼 나오는지 확인한다.

A-D
#systemctl stop slapd
A-S
#curl ftp://localhost/ --ftp-ssl –k –user alpha75:\korea2020!
아래의 사진처럼 접속이 안되는지 확인한다.

A-D
#systemctl restart slapd
A-CLI
#apt install lftp
#lftp ftp://alpha75@ftp.alpha.com
>set ssl:verify-certificate no
>ls
test.txt 파일이 존재하는지 확인
>cd ..
다른 디렉토리로 이동이 불가능한지 확인
>mv test.txt rename.txt
아래의 사진처럼 나오는지 확인한다.
