특정 웹사이트 방문에 대한 총(누적) 시간 제한을 설정하는 방법

특정 웹사이트 방문에 대한 총(누적) 시간 제한을 설정하는 방법

웹사이트의 시간을 제한하는 방법(iptables 사용 등)을 아는 사람이 있나요?

더 정확하게 말하면, 상사는 직원들이 허용 목록에 있는 특정 웹 사이트에 액세스할 수 있도록 허용하고 허용 목록에 있는 각 웹 사이트에 일일 누적 연결 시간(분)을 할당하려고 합니다. 예를 들어 직원은 언제든지 사이트 A에 자유롭게 액세스할 수 있지만 할당된 X분을 모두 사용한 후에는 총 X분만 액세스할 수 있으므로 해당 특정 사이트에 대한 액세스가 차단되어야 합니다. 다른 모든 허용 목록 사이트에도 마찬가지입니다. 사용자가 웹사이트에 연결되어 있는 한(예: 브라우저 탭에서 웹사이트 열기) 해당 시간은 나중에 사이트를 다시 방문하는 데 포함됩니다. 우리 작업을 수행해야 하는 몇 개의 화이트리스트 사이트가 있으며 하루에 허용되는 X분은 하루입니다. 일부 사이트는 개인적인 용도로 사용되며(예: 이메일 사이트) 이러한 사이트(휴대폰보다 키보드/마우스/대형 화면으로 탐색하기 더 쉽습니다)는 시간이 제한되어 있습니다.

iptables 수준에서 이를 수행할 수 있는 방법이 있다면 좋을 것입니다. iptables 수준에서 이 작업을 수행할 수 없는 경우 이를 수행할 수 있는 방법이 있습니까? 우리는 우분투 16.04 LTS를 사용합니다. (브라우저 플러그인 없이 쉽게 수정할 수 있습니다. Squid는 시간 제한을 설정할 수 없습니다.)

답변1

웹사이트에서 보낸 시간을 정의하는 것은 매우 어렵습니다. 웹사이트(웹사이트의 특정 페이지)에 어떤 종류의 동적 업데이트도 없는 경우, 즉 완전히 정적인 페이지인 경우 아침에 해당 페이지를 로드하고 다음 시간에 탭을 닫을 수 있습니다. 따라서 일부 전용 방화벽이나 라우터에서는 사용자 화면에 나타나는 웹사이트의 징후를 감지할 수 없습니다.

따라서 실행 가능한 유일한 솔루션은 각 사용자에 대한 시간 통계를 수행하도록 브라우저를 사용자 정의하는 것입니다. 필요에 맞게 수정할 수 있는 웹킷 기반의 경량 브라우저가 많이 있습니다.

동료가 사용하는 기기는 회사의 자산이므로 회사는 기기 사용에 관한 정책을 수립하고 위반 시 제재할 수 있는 절대적 권리를 갖습니다.

근로자가 확립된 정책을 따를 능력이 없고 어쨌든 이를 위반하려고 한다면 그 사람은 그 직책을 맡을 자격이 있습니까?

답변2

나는 그것에 대해 잠시 생각했고 다음과 같은 것이 효과가 있을 것이라고 생각했습니다.

cron 작업을 통해 루트 홈 디렉터리(일반적으로 /root)에 파일을 생성합니다. 하루에 한 번 이것을하십시오. 파일에는 사용자가 "차단된" 사이트에 액세스할 수 있는 시간(분)을 나타내는 정수 값이 포함되어야 합니다.

허용되지 않는 모든 웹사이트를 localhost로 리디렉션하는 줄을 파일에 추가하세요. /etc/hosts이렇게 하면 해당 웹사이트를 "차단"하는 효과가 있습니다.

분을 나타내는 매개변수를 사용하는 작은 프로그램을 작성하세요. 프로그램은 루트 홈 디렉터리에 있는 파일에서 요청된 시간(분)을 뺍니다. 프로그램은 파일을 편집 /etc/hosts하여 "차단된" 사이트를 제거하고 네트워크 인터페이스를 재설정합니다. 그런 다음 선택한 분 동안 잠자기 상태가 되며 /etc/hosts파일을 다시 편집하여 웹 사이트를 차단하고 네트워크 인터페이스를 재설정합니다. 이는 루트 디렉터리의 파일이 0을 저장할 때까지 허용됩니다. 그러면 다음날에만 재설정됩니다.

관련 정보