← 전체 목록
병원홈페이지보안

파일 권한 설정 한 번으로 웹쉘 업로드 공격을 원천 차단합니다

ℹ️ 본 글은 정보 제공 목적이며, 광고·제휴 링크가 포함될 수 있습니다.

워드프레스 파일 권한 설정은 해킹 사고의 가장 흔한 원인 중 하나를 막는 기초 보안입니다. 몇 년 전 인수인계받은 병원 사이트에서 이상한 PHP 파일이 uploads 폴더 곳곳에 숨어 있는 것을 발견했습니다. 업로드 폴더에 777 권한이 설정돼 있어서, 공격자가 이미지 업로드 취약점을 통해 PHP 웹쉘을 심어둔 것이었습니다. 폴더 하나의 권한이 서버 전체를 위험에 빠뜨린 사례였습니다.

올바른 권한 기준

워드프레스 공식 권장 파일 권한입니다.

대상권장 권한
파일644
폴더755
wp-config.php400 또는 440
.htaccess644

절대 777은 안 됩니다. 777은 모든 사용자가 읽기·쓰기·실행이 가능한 상태로, 서버에 접근 가능한 누구든 파일을 수정하거나 생성할 수 있습니다.

일괄 적용 명령어

SSH로 서버에 접속해서 한 번에 적용할 수 있습니다.

# 워드프레스 루트 디렉토리에서 실행
# 모든 폴더를 755로
find /var/www/html -type d -exec chmod 755 {} \;

# 모든 파일을 644로
find /var/www/html -type f -exec chmod 644 {} \;

# wp-config.php는 별도로 더 엄격하게
chmod 400 /var/www/html/wp-config.php

실행 후 사이트가 정상 작동하는지 바로 확인하세요. 일부 플러그인은 특정 폴더에 쓰기 권한이 필요할 수 있습니다.

uploads 폴더 PHP 실행 차단

파일 권한 설정과 함께 uploads 폴더에서 PHP가 실행되지 못하도록 막는 것이 핵심입니다. uploads에 이미지만 올라와야 하는데 PHP가 실행되면 웹쉘 공격이 가능합니다.

Nginx 설정:

location ~* /wp-content/uploads/.*\.php$ {
    deny all;
    return 403;
}

Apache (.htaccess를 uploads 폴더 안에 생성):

<Files *.php>
    deny from all
</Files>

이 설정을 적용하면 uploads 폴더에 PHP 파일이 업로드되더라도 실행이 차단됩니다. 파일 권한 + PHP 실행 차단, 이 두 가지를 함께 적용해야 진짜 보안입니다.

파일 권한은 워드프레스 업데이트나 플러그인 설치 후 다시 풀릴 수 있으니, 분기마다 한 번씩 확인하는 루틴을 만들어두는 것이 좋습니다.

편집 정책

AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.

작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)