WebDAV
IT위키
더 많은 작업
WebDAV(Web Distributed Authoring and Versioning)는 HTTP 에 메서드와 헤더를 더해, 원격 사용자가 웹 서버의 파일과 폴더를 만들고, 옮기고, 지우고, 잠가 가며 함께 편집하게 하는 확장 프로토콜이다.
| 메서드 | 하는 일 |
|---|---|
| PROPFIND | 자원의 속성과 폴더 안의 목록을 가져온다 |
| PROPPATCH | 자원의 속성을 바꾼다 |
| MKCOL | 컬렉션(폴더)을 만든다 |
| COPY / MOVE | 자원을 복사하거나 옮긴다 |
| LOCK / UNLOCK | 다른 사용자가 고치지 못하게 잠그거나 푼다 |
파일 올리기와 지우기는 HTTP 의 PUT, DELETE 를 쓴다.[1]
WebDAV 를 켜면 원격 클라이언트가 서버의 파일을 직접 바꿀 수 있으므로 공격 면이 넓어진다.
- 아파치 mod_dav 문서는 DAV 를 켜기 전에 서버가 안전한지부터 확인하고, DAV 가 켜진 모든 위치를 인증으로 보호하라고 한다. 평문 Basic 인증은 권하지 않고 Digest 인증이나 SSL 위의 Basic 인증을 쓰라고 한다[3]
- 큰 PROPFIND 요청과 큰 파일로 메모리·디스크를 채우는 서비스 거부가 가능하다. 아파치는
LimitXMLRequestBody,DavDepthInfinity로 일부를 막지만 디스크 채우기는 직접 막을 방법이 없어 믿을 수 없는 사용자에게 DAV 를 열지 말라고 한다[3] - IIS 6.0 의 WebDAV 서비스에는 "If: <http://" 로 시작하는 긴 헤더를 담은 PROPFIND 요청으로 원격 코드를 실행하는 버퍼 오버플로(CVE-2017-7269)가 있었고, 2016년 실제 공격에 쓰였다[4]
그래서 웹 콘텐츠를 WebDAV 로 올릴 일이 없는 서버에서는 WebDAV 를 끄는 것이 보안 설정의 기본이다 → 웹 서버 보안
| 구분 | WebDAV | FTP |
|---|---|---|
| 바탕 프로토콜 | HTTP/HTTPS | 독자 프로토콜 |
| 포트 | 80 또는 443 하나 | 제어 21 + 데이터 연결 별도 |
| 암호화 | HTTPS 로 보호 | FTPS·SFTP 를 따로 써야 함 |
| 잠금·속성 | 있음(LOCK, PROPPATCH) | 없음 |
- ↑ 1.0 1.1 「RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)」, IETF, https://www.rfc-editor.org/rfc/rfc4918, 확인일: 2026-11-04.
- ↑ 「WebDAV <webdav>」, Microsoft Learn(IIS 구성 참조), https://learn.microsoft.com/en-us/iis/configuration/system.webserver/webdav/, 확인일: 2026-11-04.
- ↑ 3.0 3.1 「Apache Module mod_dav」, Apache HTTP Server 2.4 Documentation, https://httpd.apache.org/docs/2.4/mod/mod_dav.html, 확인일: 2026-11-04.
- ↑ 「CVE-2017-7269」, NIST National Vulnerability Database, https://nvd.nist.gov/vuln/detail/CVE-2017-7269, 확인일: 2026-11-04.