Actions
개발 #5
closed[서울대_유지보수] BK21 웹취약점 보완
Updated by 개발팀 이석화 about 1 year ago
웹 취약점 처리내역¶
- SQL 인젝션
- CMME 정보노출
- 반사형 크로스 사이트 스크립팅
-
조회의 비밀번호 매개변수
- 오진, 중요정보가 아니라 단순한 게시판 검색단어를 의미
- 존재하지 않는 도메인의 링크가 있음
-
SHA-1 암호 스위트가 발견됨
- 아파치 설정에서 SHA-1 불허
- SRI 지원검사
- 데이터베이스 오류 패턴 발견
-
디렉토리 목록화
- 아파치 설정 변경
-
디렉토리 목록화 패턴 발견
- 아파치 설정 변경
- 링크 인젝션
- 누락된 SameSite 속성
- 안전하지 않은 서드파티 링크
- 쿠키의 누락된 보안속성
-
약한 암호 스위트 PFS
- 아파치 설정 변경
-
약한 암호 스위트 - ROBOT
- 아파치 설정 변경
-
임시파일 다운로드
-
_bak파일은 제거 완료 - 그 외에 검출된 목록은 오진 (임시 파일이 아니라 실제 사용하는 화면의 파일)
-
-
취약한 구성요소
- jquery 최신 버전으로 업그레이드
- 프레임을 통한 파싱
-
X-Content-Type-Options 헤더 누락
- 아파치 설정 변경
-
Strict-Transport-Security 헤더 누락
- 아파치 설정 변경
-
Content-Security-Policy 헤더 누락
- 아파치 설정 변경
- 비밀번호 자동완성 비활성화
- 숨겨진 디렉토리 발견
-
불필요한 HTTP 응답헤더
-
/etc/apache2/conf-enabled/security.conf수정 -
ServerTokens Prod,ServerSignature Off
-
-
캐시화 가능한 SSL 발견
- 아파치 설정 변경
- HTML 주석 중요정보 누출
-
Refferer policy 보안 헤더 누락
- 아파치 설정 변경
-
이메일 주소 패턴 발견
- 오진, 개인정보가 아니라 사이트 대표 메일
-
클라이언트 측 쿠키 참조
- 해당 쿠키는 팝업을 1일간 띄우지 않게 하는데 쓰이는 단순 정보로,
탈취되거나 변조되어도 보안상 문제없는 데이터
- 해당 쿠키는 팝업을 1일간 띄우지 않게 하는데 쓰이는 단순 정보로,
미처리 항목 정리¶
- 조회의 비밀번호 매개변수
- 오진
- 매개변수명
keyword는 중요정보가 아니라 단순한 게시판 검색단어로 사용되기 때문에
URL에 노출되어도 문제없는 데이터
- 임시파일 다운로드
- 오진
-
_bak파일은 제거완료, 그 외에 검출된 파일은 실제 화면구성에 사용되는 파일
- 이메일 주소 패턴 발견
- 오진
- 개인정보가 아니라 연락을 위한 사이트 대표 이메일
- 클라이언트 측 쿠키 참조
- 보안상 문제없음
- 해당 쿠키는 팝업을 1일간 띄우지 않게 하는데 쓰이는 단순 정보로,
탈취되거나 변조되어도 보안상 문제없는 데이터
변경된 아파치 설정¶
/etc/apache2/sites-enabled/https-default.conf
<VirtualHost *:443>
DocumentRoot /home/vetgrad/public_html
ServerName vetgrad.snu.ac.kr
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
#SSLProtocol all -SSLv2
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256
#SSLCipherSuite HIGH:!aNULL:!MD5:!RC4:!DHE
#SSLProxyCipherSuite HIGH:!aNULL:!MD5:!RC4:!DHE
SSLCertificateFile /etc/apache2/ssl/File_Wildcard.snu.ac.kr_crt.crt
SSLCertificateKeyFile /etc/apache2/ssl/KeyFile_Wildcard.snu.ac.kr_crt.key
SSLCertificateChainFile /etc/apache2/ssl/ChainFile_ChainBundle.crt
SSLCACertificateFile /etc/apache2/ssl/CA_GLOBALSIGN.crt
<Directory /home/vetgrad>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<IfModule mod_headers.c>
Header always set Cache-Control "no-store"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "same-origin"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header always set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' code.jquery.com fonts.googleapis.com www.youtube.com; font-src 'self' 'unsafe-inline' fonts.googleapis.com fonts.gstatic.com;"
</IfModule>
</VirtualHost>
-
/etc/apache2/conf-enabled/security.conf(값변경)
ServerTokens Prod
ServerSignature Off
Actions