웹사이트 검색

SquidGuard 구성, 콘텐츠 규칙 활성화 및 Squid 로그 분석 - 6부


LFCE(Linux Foundation Certified Engineer)는 Linux 시스템에서 네트워크 서비스를 설치, 관리 및 문제 해결하는 데 필요한 기술을 보유하고 있으며, 시스템 아키텍처 전체의 설계, 구현 및 지속적인 유지 관리.

Linux Foundation 인증 프로그램을 소개합니다.

이전 게시물에서는 Squid + squidGuard를 설치하는 방법과 액세스 요청을 적절하게 처리하거나 제한하도록 Squid를 구성하는 방법에 대해 논의했습니다. 이 게시물에서 다룰 배경과 컨텍스트를 설정하기 전에 이 두 튜토리얼을 검토하고 Squid와 squidGuard를 모두 설치했는지 확인하십시오. 작업 중인 오징어 환경에 Squidguard를 통합하여 블랙리스트 규칙과 콘텐츠 제어를 구현하는 것입니다. 프록시 서버.

요구사항

  1. Squid 및 SquidGuard 설치 - 1부
  2. 제한된 액세스로 Squid 프록시 서버 구성 – 5부

SquidGuard를 어떤 용도로 사용할 수 있나요?

squidGuard가 확실히 Squid의 기능을 강화하고 향상시키겠지만, 그것이 할 수 있는 것과 할 수 없는 것을 강조하는 것이 중요합니다.

squidGuard를 사용하여 다음을 수행할 수 있습니다.

  1. 일부 사용자에게 허용된 웹 액세스를 승인된/잘 알려진 웹 서버 및/또는 URL 목록으로만 제한하고, 블랙리스트에 있는 다른 웹 서버 및/또는 URL에 대한 액세스는 거부합니다.
  2. 일부 사용자의 정규식 또는 단어 목록과 일치하는 사이트(IP 주소 또는 도메인 이름 기준)에 대한 액세스를 차단합니다.
  3. 도메인 이름 사용을 요구하거나 URL에 IP 주소 사용을 금지합니다.
  4. 차단된 URL을 오류 또는 정보 페이지로 리디렉션합니다.
  5. 시간, 요일, 날짜 등에 따라 고유한 액세스 규칙을 사용합니다.
  6. 고유한 사용자 그룹에 대해 서로 다른 규칙을 구현합니다.

그러나 squidGuard나 Squid는 다음 용도로 사용할 수 없습니다.

  1. 문서 내부의 텍스트를 분석하고 결과에 따라 조치를 취합니다.
  2. HTML 코드 내에 JavaScript, Python 또는 VBscript와 같은 내장된 스크립팅 언어를 탐지하거나 차단합니다.

블랙리스트 – 기본 사항

블랙리스트는 squidGuard의 필수 부분입니다. 기본적으로 특정 키워드를 기반으로 콘텐츠 필터를 구현할 수 있는 일반 텍스트 파일입니다. 무료로 사용할 수 있는 블랙리스트와 상업용 블랙리스트가 모두 있으며, Squidguard 블랙리스트 프로젝트 웹사이트에서 다운로드 링크를 찾을 수 있습니다.

이 튜토리얼에서는 Shalla Secure Services가 제공하는 블랙리스트를 squidGuard 설치에 통합하는 방법을 보여 드리겠습니다. 이러한 블랙리스트는 개인적/비상업적 용도로 무료로 제공되며 매일 업데이트됩니다. 여기에는 현재 1,700,000개 이상의 항목이 포함됩니다.

편의를 위해 블랙리스트 패키지를 다운로드할 디렉터리를 생성해 보겠습니다.

mkdir /opt/3rdparty
cd /opt/3rdparty 
wget http://www.shallalist.de/Downloads/shallalist.tar.gz

아래 강조 표시된 대로 최신 다운로드 링크를 항상 사용할 수 있습니다.

새로 다운로드한 파일의 압축을 푼 후 블랙리스트(BL) 폴더를 찾아보겠습니다.

tar xzf shallalist.tar.gz 
cd BL
ls

ls의 출력에 표시된 디렉터리는 백업 목록 범주로, 해당(선택적) 하위 디렉터리는 파일에 나열되는 특정 URL 및 도메인까지 내려가는 하위 범주로 생각할 수 있습니다. 각각 URL도메인입니다. 자세한 내용은 아래 이미지를 참고하세요.

블랙리스트 설치

전체 블랙리스트 패키지 또는 개별 범주의 설치는 BL 디렉터리 또는 해당 하위 디렉터리 중 하나를 각각 /var/에 복사하여 수행됩니다. lib/squidguard/db 디렉토리.

물론 처음에 이 디렉토리에 블랙리스트 타르볼을 다운로드할 수도 있지만 앞서 설명한 접근 방식을 사용하면 특정 시간에 어떤 범주를 차단해야 하는지(또는 차단하지 말아야 하는지)를 더 잘 제어할 수 있습니다.

다음으로 anonvpn, 해킹채팅 블랙리스트를 설치하는 방법과 이를 사용하도록 squidGuard를 구성하는 방법을 보여 드리겠습니다.

1단계: /opt/3rdparty/에서 anonvpn, hackingchat 디렉터리를 반복적으로 복사합니다. BL/var/lib/squidguard/db로 변경하세요.

cp -a /opt/3rdparty/BL/anonvpn /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/hacking /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/chat /var/lib/squidguard/db

2단계: 도메인과 URL 파일을 사용하여 squidguard의 데이터베이스 파일을 만듭니다. 다음 명령은 설치된 모든 블랙리스트에 대한 .db 파일을 생성하는 데 작동합니다. 특정 범주에 2개 이상의 하위 범주가 있는 경우에도 마찬가지입니다.

squidGuard -C all

3단계: Squid가 데이터베이스 파일을 읽을 수 있도록 /var/lib/squidguard/db/ 디렉터리의 소유권과 그 내용을 프록시 사용자로 변경합니다.

chown -R proxy:proxy /var/lib/squidguard/db/

4단계: squidGuard를 사용하도록 Squid를 구성합니다. /etc/squid/squid.conf에 있는 Squid의 url_rewrite_program 지시문을 사용하여 SquidGuard를 URL 재작성기/리디렉터로 사용하도록 Squid에 지시합니다.

squid.conf에 다음 줄을 추가하고 /usr/bin/squidGuard가 귀하의 경우에 올바른 절대 경로인지 확인하세요.

which squidGuard
echo "url_rewrite_program $(which squidGuard)" >> /etc/squid/squid.conf
tail -n 1 /etc/squid/squid.conf

5단계: squidGuard 구성 파일(/etc/squidguard/squidGuard.conf에 위치)에 필요한 지시어를 추가합니다.

자세한 내용은 다음 코드 다음에 나온 위의 스크린샷을 참조하세요.

src localnet {
        ip      192.168.0.0/24
}

dest anonvpn {
        domainlist      anonvpn/domains
        urllist         anonvpn/urls
}
dest hacking {
        domainlist      hacking/domains
        urllist         hacking/urls
}
dest chat {
        domainlist      chat/domains
        urllist         chat/urls
}

acl {
        localnet {
                        pass     !anonvpn !hacking !chat !in-addr all
                        redirect http://www.lds.org
                }
        default {
                        pass     local none
        }
}

6단계: Squid를 다시 시작하고 테스트합니다.

service squid restart 		[sysvinit / Upstart-based systems]
systemctl restart squid.service 	[systemctl-based systems]

로컬 네트워크 내의 클라이언트에서 웹 브라우저를 열고 블랙리스트 파일(도메인 또는 URL)에서 발견된 사이트로 이동합니다. 다음 예에서는 http://spin.de/ 채팅을 사용합니다. ) 이 경우 다른 URL인 www.lds.org로 리디렉션됩니다.

요청이 프록시 서버에 이루어졌으나 거부되었고(301 http 응답 – 영구 이동) 대신 www.lds.org로 리디렉션되었음을 확인할 수 있습니다.

제한사항 제거

어떤 이유로 과거에 차단되었던 카테고리를 활성화해야 하는 경우 /var/lib/squidguard/db에서 해당 디렉토리를 제거하고 관련 acl에 주석을 달거나 삭제하세요. squidguard.conf 파일에 있습니다.

예를 들어, anonvpn 카테고리에 의해 블랙리스트에 오른 도메인과 URL을 활성화하려면 다음 단계를 수행해야 합니다.

rm -rf /var/lib/squidguard/db/anonvpn

그리고 squidguard.conf 파일을 다음과 같이 편집하세요.

BEFORE에서 노란색으로 강조 표시된 부분은 AFTER에서 삭제되었습니다.

특정 도메인 및 URL을 허용 목록에 추가

경우에 따라 특정 URL 또는 도메인을 허용하지만 전체 블랙리스트 디렉터리는 허용하지 않을 수 있습니다. 이 경우 myWhiteLists(또는 선택한 이름)라는 디렉터리를 만들고 아래에 원하는 URL도메인을 삽입해야 합니다. /var/lib/squidguard/db/myWhiteLists는 각각 urls 및 domains라는 파일에 있습니다.

그런 다음 이전과 같이 새 콘텐츠 규칙을 초기화합니다.

squidGuard -C all

squidguard.conf를 다음과 같이 수정하세요.

이전과 마찬가지로 노란색으로 강조 표시된 부분은 추가해야 할 변경 사항을 나타냅니다. myWhiteLists 문자열은 pass로 시작하는 행의 첫 번째 문자열이어야 합니다.

마지막으로, 변경 사항을 적용하려면 Squid를 다시 시작하는 것을 잊지 마세요.

결론

이 튜토리얼에 설명된 단계를 수행한 후에는 Squid 프록시와 함께 작동하는 강력한 콘텐츠 필터와 URL 리디렉터를 갖게 됩니다. 설치/구성 과정에서 문제가 발생하거나 질문이나 의견이 있는 경우 squidGuard의 웹 설명서를 참조할 수 있지만 언제든지 아래 양식을 사용하여 언제든지 연락해 주시면 최대한 빨리 연락드리겠습니다. 가능한.