프록시(프락시)로 많이 사용되고 있는 Squid Proxy에 대해서 설치 및 보안설정 방법을 알아보도록 하자.
1. Install
1.1 yum을 통한 설치
- CentOS 에서 yum을 통해서 간단하게 설치해 보도록 하자.
$ yum install squid.x86_64
Loaded plugins: fastestmirror, versionlock
... 이하 생략 ...
Dependencies Resolved
===================================================================================================
Package Arch Version Repository Size
===================================================================================================
Installing:
squid x86_64 7:3.5.20-2.el7_3.3 update 3.1 M
Installing for dependencies:
libecap x86_64 1.0.0-1.el7 base 21 k
libtool-ltdl x86_64 2.4.2-22.el7_3 update 49 k
perl-DBI x86_64 1.627-4.el7 base 802 k
perl-Net-Daemon noarch 0.48-5.el7 base 51 k
perl-PlRPC noarch 0.2020-14.el7 base 36 k
squid-migration-script x86_64 7:3.5.20-2.el7_3.3 update 48 k
Transaction Summary
===================================================================================================
Install 1 Package (+6 Dependent packages)
Total download size: 4.0 M
Installed size: 12 M
Is this ok [y/d/N]: y
Downloading packages:
... 이하 생략 ...
Complete!
1.2 소스 컴파일 설치
- Yum을 이용해 설치하는경우 현재 나온 최신 버전(Verison)이 적용이 되지 않는 경우가 있다. 이럴때 소스를 받아 컴파일(Complie) 하여 설치 해보도록 하자.
$ wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.20.tar.gz
$ tar xvfz squid-3.5.20.tar.gz
$ cd squid-3.5.20
$ ./configure --prefix=설치위치
$ make
$ make install
소스 다운로드 URL
- http://www.squid-cache.org/
2. 보안 설정
2.1 Version 정보 노출 제거
- Header(헤더) 나 Error Page(에러 페이지)를 통해서 현재 사용되고 있는 스퀴드의 버전, 호스트정보를 알수 있다.
▶︎ Header 정보를 통한 Version 노출
$ curl -i http://127.0.0.1:3128
HTTP/1.1 400 Bad Request
Server: squid/3.5.20
X-Cache: MISS from sec-proxy-test1
X-Cache-Lookup: NONE from sec-proxy-test1:3128
Via: 1.1 sec-proxy-test1 (squid/3.5.20)
... 이하 생략 ....
▶︎ Error page Footer를 통한 Version 노출
... 이하 생략 ...
<hr>
<div id="footer">
<p>Generated Mon, 12 Jun 2017 04:00:51 GMT by proxy-test1 (squid/3.5.20)</p>
<!-- ERR_INVALID_URL -->
</div>
</body></html>
▶︎ 설정 방법
$ vi /etc/squid/squid.conf
# via version off
via off
# Server version off
reply_header_access Server deny all
httpd_suppress_version_string on
# Cache version off
reply_header_access X-Cache deny all
reply_header_access X-Cache-Lookup deny all
▶︎ 참고 설명
via : Via 헤더를 통한 요청 / 응답이 없을 경우 기능 제한 합니다.
- http://www.squid-cache.org/Doc/config/via/
Server version : 응답헤더 & Error Page에 버전정보가 노출되지 않도록 설정 합니다.
- http://www.squid-cache.org/Doc/config/reply_header_access/
- http://www.squid-cache.org/Doc/config/httpd_suppress_version_string/
Cache version : X-Cache & X-Cache-Lookup에 버전정보가 노출 되지 않도록 설정 합니다.
- http://www.squid-cache.org/Doc/config/reply_header_access/
2.2 X-Forwarded-For 설정
▶︎ 참고 설명
Proxy를 사용한 호스트IP 정보를 차단하기 위해 설정 합니다.
기본 설정값은 On 입니다.
- http://www.squid-cache.org/Doc/config/forwarded_for/
2.3 Log 설정
▶︎ 예제(Squid Log)
▶︎ Logrotate 설정
▶︎ 참고 설명
'+ Security' 카테고리의 다른 글
[Apache] 프로세스 계정 권한 설정 (0) | 2019.09.19 |
---|---|
[Nginx] HTTP Method 제한 (0) | 2019.09.12 |
[Info] Encoding / Decoding 변환 사이트 (0) | 2016.12.10 |
[Info] SSL & Cipher Configuration Generator (0) | 2016.12.10 |
[Info] SSL Check 사이트 (0) | 2016.12.10 |
댓글