
내 집 컴퓨터의 게스트 계정 사용자가 어떤 웹사이트/URL을 방문하는지 알고 싶습니다.
이것을 기록하고 디스크에 보기 좋은 형식의 목록으로 저장할 수 있는 방법이 있습니까? 날짜/시간과 방문한 URL만 필요합니다. 가능하다면 전체 URL이 좋지만 처음에는 도메인만 사용하는 것도 좋습니다.
업데이트:
채팅에 링크된 답변과 제안을 읽은 후AB, 다음 명령을 실행했습니다.
$ sudo iptables -A OUTPUT -m owner --uid-owner 499 -j LOG --log-prefix='[GUEST INTERNET ACCESS] '
게스트 계정 UID를 고정 UID 499로 설정한 후게스트 계정의 UID 범위 설정 또는 결정.
그러나 여전히 해당 로그는 포함되어 있지 않지만 무언가를 거부했다는 /var/log/kern.log
메시지가 많이 있습니다 .apparmor
Nov 18 11:19:22 wolf-pack kernel: [ 1030.063374] audit: type=1400 audit(1447841962.731:164): apparmor="DENIED" operation="connect" profile="/usr/lib/lightdm/lightdm-guest-session" name="/run/systemd/journal/stdout" pid=4693 comm="dbus-daemon" requested_mask="w" denied_mask="w" fsuid=499 ouid=0
여기에 AppArmor 문제에 대한 별도의 질문을 게시했습니다.AppArmor는 게스트 계정에 대해 iptables를 통해 로깅 설정을 차단합니다. 활성화하는 방법은 무엇입니까?
답변1
여기에서는 귀하의 의도가 분명하다고 생각합니다. 게스트 사용자로 애플리케이션을 사용하는 사람이 방문한 웹 사이트의 URL을 기록하십시오.
이 작업을 수행하기 위해 iptables 로깅을 제안하는 것은 올바르지 않습니다. iptables(모호하고 성능을 제한하는 일부 확장 제외)는 애플리케이션 수준이 아닌 IP 프로토콜에서 작동합니다.
또한 URL에서 주석으로 제안된 제안도 보았습니다. 응답자는 SYN 플래그(새 연결)가 있는 패킷 캡처만 제안했습니다. 그것도 위에서 설명한 오해에서 비롯된 것입니다.
원하는 것을 달성하는 방법은 다음과 같습니다.
- 웹 프록시를 설치합니다(tinyproxy와 같이 가벼운 것이 바람직함).
- 특정 사용자만 포트 80,443/tcp로 만든 나가는 연결을 로컬 프록시로 리디렉션하는 iptables 규칙을 추가합니다.
내가 생각한 내용이 설명되어 있습니다.여기(내 포스팅 아님) 이렇게 하면 모든 HTTP 요청이 기록된 웹 프록시 로그를 얻을 수 있습니다. 하지만 SSL로 보호되는 트래픽과 관련된 로그는 얻을 수 없습니다. 이는 좋은 일입니다.
다시 말하지만, URL은 IP 또는 TCP 헤더 구조의 일부가 아니므로 IP/TCP 수준에서 작동하는 무언가는 TCP 분석기(tcpdump/wireshark가 할 수 있는)가 없는 한 이 데이터를 표시할 수 없습니다. 이 작업을 수행하지만 iptables만으로는 수행할 수 없습니다).
답변2
이것을 시도해 보셨나요:
sudo iptables -A output -m owner --uid-owner 499 -j log --log-prefix="'/var/log/kern.log$'uri"
이렇게 하면 도움이 될 것 같아요.