AppArmor Firefox 프로필은 명시적으로 거부되지 않는 한 HOME의 어느 곳에서나 읽고 쓸 수 있습니다.

AppArmor Firefox 프로필은 명시적으로 거부되지 않는 한 HOME의 어느 곳에서나 읽고 쓸 수 있습니다.

저는 다운로드가 ~/Downloads에만 저장되도록 허용하는 기본 AppArmor Firefox 프로필을 사용하고 있습니다. 그러나 홈 디렉토리의 어느 위치에나 다운로드할 수 있습니다. 모든 것이 로드되고 적용되었는지 확인했습니다. 테스트 목적으로 명시적인 거부 deny @{HOME}/Dropbox/** w및 다시 로드를 추가했습니다. 이것은 트릭을 수행했으며 더 이상 Dropbox 디렉토리의 어느 곳에도 아무것도 저장할 수 없습니다. 테스트 거부를 제거하고 "기본 프로필에서 다운로드 및 업로드 가능" 부분을 주석 처리하여 무슨 일이 일어나는지 확인했습니다.

#owner @{HOME}/ r,
#owner @{HOME}/Public/ r,
#owner @{HOME}/Public/* r,
#owner @{HOME}/Downloads/ r,
#owner @{HOME}/Downloads/* rw,

의심대로 아무것도 바뀌지 않았습니다. 홈 디렉토리에 대한 우연한 권한인 것 같습니다. 변경 사항을 재설정하고 Firefox 프로필과 관련된 HOME이 포함된 모든 줄을 찾으려고 했습니다.

grep 'HOME' $(grep include usr.bin.firefox | sed 's/^.*<\(.*\)>.*/\1/g') usr.bin.firefox

abstractions/audio:owner @{HOME}/.esd_auth r,
abstractions/audio:owner @{HOME}/.asoundrc r,
abstractions/audio:owner @{HOME}/.cache/event-sound-cache.* rwk,
abstractions/audio:owner @{HOME}/.pulse-cookie rwk,
abstractions/audio:owner @{HOME}/.pulse/ rw,
abstractions/audio:owner @{HOME}/.pulse/* rwk,
abstractions/audio:owner @{HOME}/.config/pulse/cookie rwk,
abstractions/audio:owner @{HOME}/.alsoftrc r,
abstractions/cups-client:  owner @{HOME}/.cups/client.conf r,
abstractions/cups-client:  owner @{HOME}/.cups/lpoptions r,
abstractions/gnome:  owner @{HOME}/.gnome/Gnome            r,
abstractions/gnome:  owner @{HOME}/.gtk                    r,
abstractions/gnome:  owner @{HOME}/.gtkrc                  r,
abstractions/gnome:  owner @{HOME}/.gtkrc-2.0              r,
abstractions/gnome:  owner @{HOME}/.gtk-bookmarks          r,
abstractions/gnome:  owner @{HOME}/.themes/                r,
abstractions/gnome:  owner @{HOME}/.themes/**              r,
abstractions/gnome:  owner @{HOME}/.config/gtk-2.0/**                  r,
abstractions/gnome:  owner @{HOME}/.config/gtk-2.0/gtkfilechooser.ini* rw,
abstractions/gnome:  owner @{HOME}/.gconfd/lock/*                      r,
abstractions/gnome:  owner @{HOME}/.gnome/application-info             r,
abstractions/gnome:  owner @{HOME}/.fonts.cache-*    rwl,
abstractions/ibus:  owner @{HOME}/.config/ibus/ r,
abstractions/ibus:  owner @{HOME}/.config/ibus/bus/ rw,
abstractions/ibus:  owner @{HOME}/.config/ibus/bus/* rw,
usr.bin.firefox:  owner @{HOME}/.local/share/applications/defaults.list r,
usr.bin.firefox:  owner @{HOME}/.local/share/applications/mimeapps.list r,
usr.bin.firefox:  owner @{HOME}/.local/share/applications/mimeinfo.cache r,
usr.bin.firefox:  deny @{HOME}/.local/share/recently-used.xbel r,
usr.bin.firefox:  owner @{HOME}/.thumbnails/*/*.png r,
usr.bin.firefox:  owner @{HOME}/ r,
usr.bin.firefox:  owner @{HOME}/Public/ r,
usr.bin.firefox:  owner @{HOME}/Public/* r,
usr.bin.firefox:  owner @{HOME}/Downloads/ r,
usr.bin.firefox:  owner @{HOME}/Downloads/* rw,
usr.bin.firefox:  owner @{HOME}/.{firefox,mozilla}/ rw,
usr.bin.firefox:  owner @{HOME}/.{firefox,mozilla}/** rw,
usr.bin.firefox:  owner @{HOME}/.{firefox,mozilla}/**/*.{db,parentlock,sqlite}* k,
usr.bin.firefox:  owner @{HOME}/.{firefox,mozilla}/plugins/** rm,
usr.bin.firefox:  owner @{HOME}/.{firefox,mozilla}/**/plugins/** rm,
usr.bin.firefox:  owner @{HOME}/.gnome2/firefox*-bin-* rw,
usr.bin.firefox:  owner @{HOME}/.cache/mozilla/{,firefox/} rw,
usr.bin.firefox:  owner @{HOME}/.cache/mozilla/firefox/** rw,
usr.bin.firefox:  owner @{HOME}/.cache/mozilla/firefox/**/*.sqlite k,
usr.bin.firefox:  owner @{HOME}/.mozilla/**/extensions/** mixr,

Firefox가 HOME의 어느 곳에도 쓸 수 있도록 허용하는 항목이 없습니다. 어떤 아이디어가 있나요?

기술적 인 정보:

$ uname -r
3.16.0-38-generic

Linux Mint 17.2 with XFCE

기타 참고사항:

내 노트북에는 Debian Jessie와 Gnome이 있는데 AppArmor가 더 나은 성능을 발휘하는 것 같습니다. 해당 컴퓨터에서 기본 Firefox 프로필을 사용하지는 않지만 firefox-esr/iceweasel과 매우 유사해 보이는 프로필을 만들었습니다. 예상대로 작동합니다.

윤곽:http://pastebin.com/XFJgWJbn

답변1

따라서 내 첫 번째 포함 추적이 모든 것을 다루지는 않았습니다. 일부 추상화에도 자체 포함이 있다는 사실을 깨닫지 못했습니다. 문을 열어 abstractions/ubuntu-browsers.d/firefox보니 용의자가 포함되어 있었습니다 abstractions/ubuntu-browsers.d/user-files. 문제가 있는 줄이 포함된 사용자 파일을 엽니다 owner @{HOME}/** w. 전체 파일이 마음에 들기에는 너무 느슨했기 때문에 추상화 user-files에서 포함을 완전히 제거하고 다시 로드했습니다. 짜잔!firefox

HOME의 모든 것을 추상화(특히 다른 추상화에서 사용되는 추상화)로 쓰기 가능하게 만드는 것은 끔찍한 생각처럼 들립니다. Ubuntu에서 제공하는 기본 Firefox 프로필은 매우 쓸모가 없으며 보안에 대한 잘못된 인식만 제공한다는 결론을 내릴 수 있습니다.

이 이야기의 핵심은? AppArmor 구성 파일을 철저하게 테스트하고, 추상화에 주의하고, 자체 구성 파일을 작성하거나 제3자가 제공한 구성 파일을 실제로 확인하세요.

관련 정보