FTP사용자권한에서 아파치 웹서버 권한으로 변경이...

saerogy의 이미지

FTP사용자권한에서 아파치 웹서버 권한으로 변경이 보안 상 큰 위험을 야기할 수 있나요?

아파치나 PHP로는 아는 게 거의 없는데, 궁금해서 여쭈어 봅니다. 꼭 질문이라고 할 수 없는 글이라서, 그냥 자유게시판에 올린답니다. ^^;

문제는 별 건 아니고, 제가 국내의 모 호스팅 업체에 Drupal을 설치하고 나서,

백업/복원을 하니, sites/default/files 폴더의 권한이 없다고 나오길래, 무슨 일인지 확인해 보니...

복원하는 과정에서(SSH에서 tar zxvpf를 사용) 사용자 권한이 부족해서, 원래 아파치 웹서버 권한인데, FTP-ID권한으로 복구가 되어서 문제가 발생하는 것이었습니다. --;

호스팅 업체는 두 가지 해결책(?)을 제시하더군요. 하나는... 777권한으로 바꿀 것.. --; 두 번째는 복원할 때마다, 아파치 웹서버 권한으로 변경해 줄 것을 요청할 것...

다른 업체에서 호스팅을 받을 때는 백업/복원 문제가 없었는데, 이번에 호스팅 업체를 옮기니 문제가 생기네요. 하긴 전에 호스팅 받던 업체는 하루에 몇 번씩 DB가 이상한 지, 몇 분 정도 멈춤 현상이 발생하여 옮긴 것이었지만요. ㅎㅎ

외국 호스팅 업체는 대부분 cPanel을 사용하니, 역시 문제 없었구요.

여하튼 호스팅 업체와 상담을 해 보니, 대책이 없더군요. 아파치 웹서버 권한 변경을 허용하면, 해킹의 위험이 있어서 안된다고 하시고...

PHP로 해결 안되냐고 하니, 이 역시도 어렵다고 하시더군요. --; 백업/복원을 많이 하지 않을 것이라, 복원할 때마다 아파치 웹서버 권한으로 변경을 요청하면 문제가 없지만요. ^^;

문제점은 해결 못했지만, 굉장히 친절은 했습니다. --;

jachin의 이미지

아파치 웹 서버 권한으로 files 디렉터리를 접근하는데, 어째서 해킹의 위험이 있는지 모르겠습니다.

sites/default/files 디렉터리와 내부 파일, 디렉터리 모두 소유권을 사용자, 그룹 apache 에 할당하셔도

아무 문제 없습니다. 누군가 apache 그룹에 속한 사용자가 아니라면 말이죠...
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

ddoman의 이미지


좋은 방법은 유저를 아파치 그룹에 추가하는게 아닌, 그 반대의 접근인 것 같습니다.
저도 drupal을 이용해서 블로그를 운영 중 인데요

제 유저 아이디와 동일한 이름의 그룹을 apache가 supplementary group으로 가지고 있는거 같더군요.
즉, 디렉토리에 자신 그룹에게만 write 퍼미션을 주면, 아파치도 자동으로( 왜냐면 아파치는 모든 유저 그룹들의 멤버니까 )
퍼미션을 갖습니다. 그래서 제 files 디렉토리도 그냥 775를 주었고, 잘 동작합니다.
하지만 제 아이디는 아파치 그룹의 일부가 아니기 때문에, 아파치 그룹에게만 주어진 권한들을 이용 할 수 없죠.

이런문제는 drupal 뿐이 아니라 종종 발생 할 수 있는 이슈인거 같은데, 그 호스팅 업체는 유저관리 구조를 좀 바꿔야 할 필요가 있겠군요.

jachin의 이미지

그것도 방법이군요.

저는 전혀 안 넣고, 가끔 apache 소유의 디렉터리를 생성해야 할 경우 제 디렉터리를 잠시 777 로 두었다가 디렉터리 생성 후 755 로 변경해둡니다.
드루팔 설치시에도, files 디렉터리 자동 생성을 위해 잠시 default 디렉터리의 소유권을 777로 두었었죠.

호스팅 업체의 보안을 위해 사용자 관리 구조를 추천하는 것도 중요한 문제인 것 같습니다.
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

김정균의 이미지

이건 정책상의 문제가 아닌 것 같습니다. 업체측의 보안상의 문제는 제가 보기에는 답변을 다신 분들과는 다른 문제인 듯 싶습니다.

압축을 풀 때에 p 옵션이 들어가 있는데, tar로 묶을 시에 p옵션으로 소유권 정보를 유지시켰다고 해도 tar를 풀 때에 일반 유저 권한으로 tar를 풀게 되면, 자신의 소유권이 아닐 경우에는 tar를 실행 시키는 사용자 권한으로 풀리게 됩니다. 이를 해결 하려면, tar에 suid를 걸어 주거나 또는 root 권한으로 풀어야 하기 때문에 업체 측에서는 보안상의 문제로 지원이 어렵다고 하는 것입니다.

그러므로, 777로 운영을 하시는 것이 맞을 것 같습니다. 조금 괴롭기는 하겠지만 말이죠. 그래도 전화를 걸어서 해결을 해야 하는 것 보다는 내가 할 수 있다면 좀 덜 답답하죠. :0