SW/ 개발팁 / 추천프로그램, 꿀팁 공유
  • 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

npmplus에서 넥스트클라우드 리버스프록시시, Modsecurity CRS 활성화시 발생하는 오류 문제.

SHISHAMO 108

1

0

npmplus는 기존 npm에서 Modsecurity, crowdsec 같은 보안모듈과 http3를 지원하는 멋진 도커입니다.

 

 

저는 이 npmplus에 연결한 첫 번째 도커로 넥스트클라우드를 선택하고 리버스프록시를 설정했습니다.

 

그런데, 프록시 설정한 도메인으로 넥스트클라우드에 진입 시, 몇가지 오류가 발생한다는 걸 확인했습니다.

 

   1. WebDAV 인터페이스를 사용할 수 없어서 웹 서버에서 파일 동기화를 사용할 수 있도록 설정할 수 없습니다
   2. 웹 서버에서 "/.well-known/caldav"을(를) 올바르게 처리할 수 없습니다.
      웹 서버에서 "/.well-known/carddav"을(를) 올바르게 처리할 수 없습니다.

 

사실 2번 에러의 경우 서버포럼 내에도 해결책이 있습니다.

 

 

이 페이지에 나온 

location /.well-known/carddav {
  return 301 $scheme://$host/remote.php/dav;
}
location /.well-known/caldav 
{ 
  return 301 $scheme://$host/remote.php/dav; 
}
location /.well-known/webdav 
{
 return 301 $scheme://$host/remote.php/dav; 
}

advanced에 추가하면 되죠.

 

하지만, 저 코드를 추가해도 반응이 없습니다.

 

그래서 찾다 찾다보니, 결과론적으로 1번 에러와 2번의 코드 반응이 없는 것이 하나의 문제였다는 것을 알게되었습니다.

 

npmplus에선 앞에 언급한 것 처럼, Modsecurity 모듈을 지원하는데, 그래서 프록시 설정 시  Modsecurity을 활성화하고 Modsecurity CRS를 활성화하면 생기는 문제였습니다.

 

Modsecurity CRS의 ID 중 일부를 넥스트클라우드 도메인에서는 예외처리를 해 줘야 하는 문제였습니다.

 

구글에서 찾다보니 920350, 920300, 980130, 911100, 920230, 920420 아이디를 예외처리 하면 된다고 하였고,

 

저는 npmplus 내, Modsecurity 폴더에 위치한 REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf에

 


SecRule REQUEST_HEADERS:Host "@streq 클라우드.도메인" \
"id:10000,phase:1,nolog,pass,\
ctl:ruleRemoveById=920350,\
ctl:ruleRemoveById=920300,\
ctl:ruleRemoveById=980130,\
ctl:ruleRemoveById=911100,\
ctl:ruleRemoveById=920230,\
ctl:ruleRemoveById=920420"

 

 

을 삽입하는 것으로 해결을 하였습니다.

 

다만 CRS 룰은 저도 자세히 모르는 편이고, 구글 검색으로 예외처리 하라는 ID 중 949110를 제외하고 다 삽입한 거라, 보다 정확한 방법이 있으면 가르쳐 주시면 감사하겠습니다.

 

그 외에, CRS로 인해 발생할 수 있는 문제나, 저 규칙을 예외처리함으로서 발생할 수 있는 보안 공백(?) 문제까지는 잘 알지는 못합니다.

그래도.. CRS를 완전히 끄는 것 보다는 괜춘하지 않을까 싶습니다.

 

 

넥스트클라우드는 Modsecurity 모듈과 호환성이 많이 좋지 않은 편인 것 같습니다.

그래서 인지 깃허브에 보면 여러 플러그인(?) 있다는 것을 확인했습니다.

 

https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/v3.3/dev/rules/REQUEST-903.9003-NEXTCLOUD-EXCLUSION-RULES.conf

https://github.com/coreruleset/nextcloud-rule-exclusions-plugin/tree/main/plugins

하지만 아무리 찾아도, npmplus 내 Modsecurity 모듈에서는 실행할 방법을 찾지 못하여 저 플러그인을 적용하는 것은 포기하였습니다.

같은 문제를 해결해 줄지도 모르겠지만요.


그 외에 

  • "X-XSS-Protection" HTTP 헤더가 "1; mode=block"을(를) 포함하고 있지 않습니다. 잠재적인 정보 유출 및 보안 위협이 될 수 있으므로 설정을 변경하는 것을 추천합니다.

이런 에러도 발생하지만 이건 잘 모르겠더라고요.

 



넥클 자체 보안 검사에서는  X-XSS-Protection이 있다고 체크가 되서 보입니다.

브라우저 마다 다를 수 있다는 것도 얼핏 본 것 같긴 한데, 저 오류는 결국 포기했습니다 ㅋㅋㅋ

add_header X-XSS-Protection "1; mode=block" 

추가해도 그대로더라고요.

 

 

신고공유스크랩
0

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
분류 제목 글쓴이 날짜 조회 추천
잡담 Kavita 문제 해결 했습니다 7 초보나스 3일 전02:40 154 +3
잡담 Immich를 사용하면서 느낀 아쉬운 점들 21 hjk9860 6일 전17:50 255 +1
정보 LSI RAID CARD windows firmware 프로그램 2 아흑미쵸 6일 전14:23 89 +1
정보
image
초보나스 1일 전13:33 259 0
정보
normal
초보나스 4일 전03:01 50 0
정보
normal
아흑미쵸 6일 전14:23 89 +1
정보
image
도도새 24.04.20.15:22 373 0
정보
image
rain 24.04.14.22:39 663 +6
정보
image
초보나스 24.04.13.07:52 224 +1
정보
image
아흑미쵸 24.04.04.10:24 421 +4
정보
image
빨간물약 24.03.31.16:52 232 +3
정보
normal
i7-13700K 24.03.30.10:55 589 0
정보
image
초보나스 24.03.28.06:39 188 +1
정보
image
초보나스 24.03.27.07:09 86 0
정보
image
초보나스 24.03.26.13:39 99 0
정보
normal
GRT 24.03.22.23:42 100 +2
정보
image
유로아빠 24.03.22.09:23 305 +6
정보
image
초보나스 24.03.22.08:45 196 0
정보
image
빨간물약 24.03.21.14:00 126 +2
정보
image
달소 24.02.26.01:07 479 +2
정보
image
달소 24.02.24.12:06 518 0
정보
normal
휘운 24.02.21.13:42 633 0
정보
normal
초보나스 24.02.09.10:07 152 0