FTP/TFTP
๐ FTP & SFTP Server ๊ตฌ์ถ ๋ฐ ์ค์ ๊ฐ์ด๋ ๐
1๏ธโฃ FTP & SFTP๋?
**FTP (File Transfer Protocol)**๋ ๋คํธ์ํฌ๋ฅผ ํตํด ํ์ผ์ ์ ์กํ๋ ํ๋กํ ์ฝ์
๋๋ค.
**SFTP (SSH File Transfer Protocol)**๋ SSH ๊ธฐ๋ฐ์ ๋ณด์ ํ์ผ ์ ์ก ํ๋กํ ์ฝ๋ก, FTP๋ณด๋ค ๋ณด์์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค.
โ FTP์ SFTP์ ์ฐจ์ด์
ํ๋กํ ์ฝ | ๋ณด์์ฑ | ํฌํธ | ์ธ์ฆ ๋ฐฉ์ | ํน์ง |
---|---|---|---|---|
FTP | โ ๋ณด์ ์์ | 21 (๊ธฐ๋ณธ) | ์ฌ์ฉ์ ID/PW | ์ํธํ ์์ด ํ์ผ ์ ์ก |
SFTP | โ ์ํธํ ์ง์ | 22 (SSH) | SSH Key ๋๋ PW | ๋ณด์์ฑ์ด ๋ฐ์ด๋ ํ์ผ ์ ์ก |
2๏ธโฃ FTP ์๋ฒ ์ค์น (Linux ๊ธฐ๋ฐ)
๐น Ubuntu/Debian์์ VSFTPD ์ค์น
sudo apt update
sudo apt install vsftpd -y
๐น CentOS/RHEL์์ VSFTPD ์ค์น
sudo yum install vsftpd -y
์ค์น ํ, ์๋น์ค ํ์ฑํ ๋ฐ ์ํ ํ์ธ
sudo systemctl enable vsftpd
sudo systemctl start vsftpd
sudo systemctl status vsftpd
3๏ธโฃ FTP ์๋ฒ ์ค์
FTP ์ค์ ํ์ผ์ /etc/vsftpd.conf
์
๋๋ค.
์ด ํ์ผ์ ์์ ํ์ฌ ์ต๋ช
์ ์, ์ฌ์ฉ์ ์ธ์ฆ, ๋ณด์ ์ค์ ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
sudo nano /etc/vsftpd.conf
๐ 1. ์ต๋ช ์ ์ ๋นํ์ฑํ
anonymous_enable=NO
๐ 2. ๋ก์ปฌ ์ฌ์ฉ์ ๋ก๊ทธ์ธ ํ์ฉ
local_enable=YES
write_enable=YES
๐ 3. FTP ์ ์ก ์ ์ํธํ ํ์ฑํ (TLS)
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
์ค์ ์ ์ ์ฅํ ํ, FTP ์๋น์ค๋ฅผ ์ฌ์์ํฉ๋๋ค.
sudo systemctl restart vsftpd
4๏ธโฃ SFTP ์๋ฒ ์ค์ (OpenSSH ๊ธฐ๋ฐ)
SFTP๋ SSH์ ํจ๊ป ์ ๊ณต๋๋ฏ๋ก ๋ณ๋ ์ค์น๊ฐ ํ์ํ์ง ์์ต๋๋ค.
โ
SFTP ์ฌ์ฉ์ ์ ์ฉ ์ค์ (/etc/ssh/sshd_config
)
sudo nano /etc/ssh/sshd_config
๐น SFTP ์ ์ฉ ์ฌ์ฉ์ ๊ทธ๋ฃน ์์ฑ ๋ฐ ์ ํ
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory /sftp
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
์ค์ ์ ์ ์ฅํ ํ, SSH ์๋น์ค๋ฅผ ์ฌ์์ํฉ๋๋ค.
sudo systemctl restart sshd
5๏ธโฃ ์ฌ์ฉ์ ๊ณ์ ์์ฑ ๋ฐ ๊ถํ ์ค์
๐ 1. FTP ์ฌ์ฉ์ ์์ฑ
sudo useradd -m -s /sbin/nologin ftpuser
sudo passwd ftpuser
๐ 2. SFTP ์ฌ์ฉ์ ์์ฑ
sudo useradd -m -s /sbin/nologin sftpuser
sudo passwd sftpuser
sudo usermod -aG sftpusers sftpuser
๐ 3. SFTP ๋๋ ํ ๋ฆฌ ๊ถํ ์ค์
sudo mkdir -p /sftp/uploads
sudo chown root:sftpusers /sftp
sudo chmod 755 /sftp
sudo chown sftpuser:sftpusers /sftp/uploads
sudo chmod 700 /sftp/uploads
6๏ธโฃ ๋ฐฉํ๋ฒฝ ์ค์ (ํ์ํ ๊ฒฝ์ฐ)
โ FTP ํฌํธ(21) ๋ฐ SFTP ํฌํธ(22) ํ์ฉ
๐น UFW (Ubuntu/Debian)
sudo ufw allow 21/tcp
sudo ufw allow 22/tcp
sudo ufw reload
๐น firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload
7๏ธโฃ FTP/SFTP ํด๋ผ์ด์ธํธ ์ ์ ๋ฐฉ๋ฒ
๐ 1. FTP ์ ์ (๋ฆฌ๋ ์ค)
ftp 192.168.1.100
๐ 2. SFTP ์ ์ (๋ฆฌ๋ ์ค)
sftp sftpuser@192.168.1.100
๐ 3. FTP ํด๋ผ์ด์ธํธ ์ฌ์ฉ (Windows)
โ FileZilla ๋๋ WinSCP๋ฅผ ์ฌ์ฉํ์ฌ FTP/SFTP ์ ์ ๊ฐ๋ฅ
-
FTP ์ ์ ์ ๋ณด
- ํธ์คํธ:
192.168.1.100
- ํฌํธ:
21
- ์ฌ์ฉ์:
ftpuser
- ํ๋กํ ์ฝ: FTP
- ํธ์คํธ:
-
SFTP ์ ์ ์ ๋ณด
- ํธ์คํธ:
192.168.1.100
- ํฌํธ:
22
- ์ฌ์ฉ์:
sftpuser
- ํ๋กํ ์ฝ: SFTP (SSH)
- ํธ์คํธ:
8๏ธโฃ FTP/SFTP ๋ก๊ทธ ํ์ธ ๋ฐ ๋ฌธ์ ํด๊ฒฐ
๐ 1. FTP ๋ก๊ทธ ํ์ธ
sudo cat /var/log/vsftpd.log
๐ 2. SFTP ์ ์ ๋ก๊ทธ ํ์ธ
sudo journalctl -u sshd | grep sftp
๐ 3. ์ค์๊ฐ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง
sudo tail -f /var/log/auth.log
9๏ธโฃ ๊ฒฐ๋ก ๐
FTP์ SFTP ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ฉด ํ์ผ์ ์์ ํ๊ฒ ์ ์กํ๊ณ ๊ณต์ ํ ์ ์์ต๋๋ค.
SFTP๋ ๋ณด์์ฑ์ด ๋ฐ์ด๋๋ฏ๋ก ๋ณด์์ด ์ค์ํ ํ๊ฒฝ์์๋ SFTP๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๐ ์ถ๊ฐ ์๋ฃ
1๏ธโฃ VSFTPD ๊ณต์ ๋ฌธ์
2๏ธโฃ OpenSSH SFTP ์ค์ ๊ฐ์ด๋
3๏ธโฃ FileZilla ์ฌ์ฉ๋ฒ