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 ์‚ฌ์šฉ๋ฒ•

RSS Feed
๋งˆ์ง€๋ง‰ ์ˆ˜์ •์ผ์ž