Window Server 2016에서 SFTP 서버 설정하기

SFTP(SSH File Transfer Protocol)는 안전한 파일 전송을 위해 설계된 프로토콜로, SSH(Secure Shell) 프로토콜을 기반으로 하고 있습니다. Windows Server 2016에서 SFTP 서버를 설정하는 과정은 여러 단계로 나누어지며, 이 글에서는 각 단계에 대해 자세하게 설명드리겠습니다.

SFTP 서버를 설정하는 것은 보안성을 강화하고 파일 전송의 효율성을 높이는 데 큰 도움이 됩니다.

썸네일

SFTP와 FTPS의 차이

SFTP와 FTPS는 모두 파일 전송을 위한 프로토콜이지만, 그 방식과 보안 수준에서 큰 차이를 보입니다. SFTP는 SSH를 기반으로 하여 모든 데이터를 암호화하여 전송하며, 사용자 인증 또한 SSH를 통해 이루어집니다.

반면, FTPS는 기존의 FTP에 SSL/TLS 보안 계층을 추가한 것으로, 데이터의 암호화는 가능하지만 설정이 복잡할 수 있습니다. 다음 표는 SFTP와 FTPS의 주요 차이점을 요약한 것입니다.

특징 SFTP FTPS
프로토콜 SSH 기반 SSL/TLS 기반
포트 22 21 (제어), 20 (데이터)
데이터 암호화 기본 제공 사용자 설정 필요
사용자 인증 SSH 키 또는 비밀번호 비밀번호 또는 SSL 인증서
설정 복잡성 간단한 설정 복잡한 설정

SFTP 서버 설치 준비

SFTP 서버를 설치하기 위해서는 먼저 Windows Server 2016에 OpenSSH 서버를 설치해야 합니다. OpenSSH는 Windows 10과 Windows Server 2019부터 기본적으로 포함되어 있지만, Windows Server 2016에서는 추가 설치가 필요합니다.

OpenSSH 설치 방법

  1. Windows 기능 추가: 제어판에서 “프로그램”을 선택한 후 “Windows 기능 켜기 또는 끄기”를 클릭합니다.
  2. OpenSSH 서버 선택: 목록에서 “OpenSSH 서버”를 찾아 체크한 후, 확인 버튼을 클릭합니다. 설치가 완료되면, OpenSSH 서버가 Windows 기능 목록에 추가됩니다.
  3. 서비스 시작: PowerShell을 관리자 권한으로 실행하여 다음 명령어를 입력하여 OpenSSH 서버 서비스를 시작합니다.

powershell
Start-Service sshd

  1. 부팅 시 자동 시작 설정: 다음 명령어로 OpenSSH 서버가 부팅 시 자동으로 시작되도록 설정합니다.

powershell
Set-Service -Name sshd -StartupType 'Automatic'

설치가 완료되면, OpenSSH 서버의 상태를 확인하기 위해 다음 명령어를 입력할 수 있습니다.

powershell
Get-Service sshd

단계 설명
1 제어판에서 Windows 기능 추가
2 OpenSSH 서버 선택
3 PowerShell로 서비스 시작
4 부팅 시 자동 시작 설정

다른 내용도 보러가기 #1

SFTP 서버 구성

SFTP 서버를 성공적으로 설치한 후, 이제는 설정을 진행해야 합니다. 이 과정에서는 사용자 계정을 생성하고, 파일 전송을 위한 디렉토리 권한을 설정하는 과정이 포함됩니다.

사용자 계정 생성

SFTP 서버를 사용하기 위해서는 SFTP용 사용자 계정을 생성해야 합니다. 다음 절차를 따라 사용자 계정을 추가할 수 있습니다.

  1. PowerShell에서 사용자 추가: 다음 명령어를 통해 새로운 사용자를 추가합니다.

powershell
New-LocalUser "sftpuser" -Password (ConvertTo-SecureString "password" -AsPlainText -Force) -FullName "SFTP User" -Description "SFTP User Account"

  1. 사용자 그룹에 추가: 생성한 사용자 계정을 SFTP 그룹에 추가합니다.

powershell
Add-LocalGroupMember -Group "SFTP" -Member "sftpuser"

파일 전송 디렉토리 설정

SFTP 서버가 사용할 파일 전송 디렉토리를 설정해야 합니다. 특정 디렉토리에 대한 접근 권한을 부여하여 사용자가 파일을 업로드하고 다운로드할 수 있도록 해야 합니다.

  1. 디렉토리 생성: 파일 전송에 사용할 디렉토리를 생성합니다. 예를 들어, C:\SFTP\Uploads 디렉토리를 만들 수 있습니다.

powershell
New-Item -Path "C:\SFTP\Uploads" -ItemType Directory

  1. 권한 설정: 생성한 디렉토리에 대한 접근 권한을 설정합니다.

powershell
$acl = Get-Acl "C:\SFTP\Uploads"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("sftpuser","FullControl","Allow")
$acl.SetAccessRule($rule)
Set-Acl "C:\SFTP\Uploads" $acl

단계 설명
1 PowerShell에서 사용자 계정 추가
2 사용자 그룹에 추가
3 파일 전송 디렉토리 생성
4 접근 권한 설정

SFTP 클라이언트 설정

SFTP 서버가 성공적으로 구성되었다면, 이제 클라이언트를 통해 서버에 접근할 준비가 되었습니다. 다양한 SFTP 클라이언트가 존재하지만, 여기서는 FileZilla를 예로 들어 설명하겠습니다.

FileZilla SFTP 클라이언트 설치

  1. FileZilla 다운로드: FileZilla 공식 웹사이트에서 FileZilla 클라이언트를 다운로드합니다.
  2. 설치: 다운로드한 파일을 실행하여 설치를 진행합니다. 설치 과정 중에 특별한 설정은 필요하지 않습니다.

SFTP 서버 연결

  1. FileZilla 실행: FileZilla 프로그램을 실행합니다.
  2. 사이트 관리자 열기: “파일” 메뉴에서 “사이트 관리자”를 선택합니다.
  3. 새 사이트 추가: “새 사이트” 버튼을 클릭하여 SFTP 서버의 정보를 입력합니다.
  4. 호스트: 서버의 IP 주소 또는 도메인
  5. 프로토콜: SFTP – SSH File Transfer Protocol
  6. 포트: 22
  7. 로그인 유형: “일반” 선택 후 사용자 이름과 비밀번호를 입력합니다.
  8. 연결: “연결” 버튼을 클릭하여 SFTP 서버에 연결합니다.
단계 설명
1 FileZilla 다운로드
2 설치 진행
3 사이트 관리자 열기
4 SFTP 서버 정보 입력

보안 설정 및 유지관리

SFTP 서버를 운영하는 동안 보안을 유지하는 것은 매우 중요합니다. 불필요한 포트를 차단하고, 정기적인 업데이트를 통해 보안 취약점을 최소화해야 합니다.

방화벽 설정

Windows 방화벽을 통해 SFTP 서버에 대한 접근을 제어할 수 있습니다. 다음은 방화벽을 설정하는 방법입니다.

  1. Windows 방화벽 열기: 제어판에서 “Windows 방화벽”을 선택합니다.
  2. 고급 설정: “고급 설정”을 클릭하여 방화벽 규칙을 추가합니다.
  3. 인바운드 규칙 추가: “인바운드 규칙”에서 “새 규칙”을 클릭합니다.
  4. 포트 선택: “포트”를 선택하고, TCP 및 특정 로컬 포트에 22를 입력합니다.
  5. 연결 허용: “연결 허용”을 선택하고, 규칙 이름을 입력한 후 마무리합니다.
단계 설명
1 Windows 방화벽 열기
2 고급 설정 클릭
3 인바운드 규칙 추가
4 포트 선택 및 번호 입력

정기적인 보안 점검

SFTP 서버의 보안을 유지하기 위해 정기적으로 다음 사항을 점검해야 합니다.

  1. 로그 파일 확인: 주기적으로 SFTP 서버의 로그 파일을 통해 비정상적인 접근 시도를 모니터링합니다.
  2. 소프트웨어 업데이트: OpenSSH 및 Windows Server의 보안 패치를 정기적으로 확인하고 적용합니다.
  3. 사용자 관리: 사용자의 접근 권한을 주기적으로 검토하고, 필요하지 않은 계정은 삭제합니다.
점검 항목 설명
1 로그 파일 확인
2 소프트웨어 업데이트
3 사용자 관리

다른 내용도 보러가기 #2

결론

Windows Server 2016에서 SFTP 서버를 구축하는 과정은 여러 단계를 통해 이루어지며, 각 단계를 주의 깊게 진행해야 합니다. SFTP 서버를 설정함으로써 안전한 파일 전송 환경을 구축할 수 있으며, 보안 설정 및 유지 관리를 통해 지속적으로 안전성을 확보해야 합니다.

이러한 절차를 통해 기업 내 파일 전송의 효율성과 보안성을 높이는 데 기여할 수 있습니다. SFTP 서버를 운영하면서 발생할 수 있는 다양한 상황에 대비하는 것이 중요하며, 정기적인 점검과 업데이트를 통해 안정적인 서비스를 제공할 수 있도록 노력해야 합니다.

관련 영상

같이 보면 좋은 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다