私はダウンロードが〜/ダウンロードにのみ保存されるようにするデフォルトの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と非常によく似たプロファイルを作成しました。期待どおりに動作します。
答え1
したがって、私の最初の包含追跡はすべてをカバーしていませんでした。いくつかの抽象化にも独自の包含があることに気づいていませんでした。ドアを開けてabstractions/ubuntu-browsers.d/firefox
みると容疑者が含まれていましたabstractions/ubuntu-browsers.d/user-files
。問題のある行を含むユーザーファイルを開きますowner @{HOME}/** w
。ファイル全体が気に入るには緩すぎたので、抽象化user-files
からインクルードを完全に削除して再ロードしました。チャジャン!firefox
HOMEのすべてを抽象化(特に他の抽象化で使用される抽象化)で書き込み可能にすることは恐ろしい考えのように聞こえます。 Ubuntuが提供するデフォルトのFirefoxプロファイルは非常に役に立たず、セキュリティに対する誤った認識しか提供しないと結論付けることができます。
この物語の核心は? AppArmor構成ファイルを徹底的にテストし、抽象化に注意し、独自の構成ファイルを作成するか、サードパーティが提供する構成ファイルを実際に確認してください。