Hi
I was wondering how do I enable AppAmor to gain some extra security, I tried a couple of months ago but I never managed to do so ? I would appreciate some tips and tricks.
Do you know this site? https://wiki.archlinux.org/title/AppArmor
What @Omig said. Pretty much anything you’d like to learn is on the Arch Wiki. If you have already read it and couldn’t understand it, that’s where we come in. ![]()
Based on what I remember reading just about 2 weeks ago is that if you want to use AppArmor or SELinux, it’s better to use a distro that enables it from the start. It’s not straight-forward on Arch distros.
Ok yes that’s pretty unfortunate because I really like Endeavor OS but I do need and care about security.
You could install a distro that uses AppArmor or SELinux, then use EndeavourOS/Arch through Distrobox. That way, your base system is secure in the way you want, while still getting access to the latest packages.
I did this using the instruction from the link posted before.
sudo pacman -S apparmor
sudo systemctl enable apparmor
sudo systemctl start apparmor
You need to add kernel parameters:
lsm=landlock,lockdown,yama,integrity,apparmor,bpf
I use Grub so I added these to /etc/default/grub in the line GRUB_CMDLINE_LINUX_DEFAULT
and then ran: sudo grub-mkconfig -o /boot/grub/grub.cfg
If you use systemd-boot, the instructions are in EndeavourOS Wiki:
https://discovery.endeavouros.com/installation/systemd-boot/2022/12/
I don’t know if this is all you need to do.
When I check:
$ aa-enabled
Yes
$ sudo aa-status
[sudo] password for cactux:
apparmor module is loaded.
161 profiles are loaded.
65 profiles are in enforce mode.
/usr/lib/apache2/mpm-prefork/apache2
/usr/lib/apache2/mpm-prefork/apache2//DEFAULT_URI
/usr/lib/apache2/mpm-prefork/apache2//HANDLING_UNTRUSTED_INPUT
/usr/lib/apache2/mpm-prefork/apache2//phpsysinfo
apache2
apache2//DEFAULT_URI
apache2//HANDLING_UNTRUSTED_INPUT
apache2//phpsysinfo
avahi-daemon
dnsmasq
dnsmasq//libvirt_leaseshelper
dovecot
dovecot-anvil
dovecot-auth
dovecot-config
dovecot-deliver
dovecot-dict
dovecot-director
dovecot-doveadm-server
dovecot-dovecot-auth
dovecot-dovecot-lda
dovecot-dovecot-lda//sendmail
dovecot-imap
dovecot-imap-login
dovecot-lmtp
dovecot-log
dovecot-managesieve
dovecot-managesieve-login
dovecot-pop3
dovecot-pop3-login
dovecot-replicator
dovecot-script-login
dovecot-ssl-params
dovecot-stats
firejail-default
identd
klogd
lsb_release
mdnsd
nmbd
nscd
ntpd
nvidia_modprobe
nvidia_modprobe//kmod
php-fpm
ping
plasmashell
plasmashell//QtWebEngineProcess
samba-bgqd
samba-dcerpcd
samba-rpcd
samba-rpcd-classic
samba-rpcd-spoolss
smbd
smbldap-useradd
smbldap-useradd///etc/init.d/nscd
syslog-ng
syslogd
traceroute
unix-chkpwd
unprivileged_userns
winbindd
zgrep
zgrep//helper
zgrep//sed
4 profiles are in complain mode.
transmission-cli
transmission-daemon
transmission-gtk
transmission-qt
0 profiles are in prompt mode.
0 profiles are in kill mode.
92 profiles are in unconfined mode.
1password
Discord
MongoDB Compass
QtWebEngineProcess
balena-etcher
brave
buildah
busybox
cam
ch-checkns
ch-run
chrome
chromium
crun
devhelp
element-desktop
epiphany
evolution
firefox
flatpak
foliate
geary
github-desktop
goldendict
ipa_verify
kchmviewer
keybase
lc-compliance
libcamerify
linux-sandbox
loupe
lxc-attach
lxc-create
lxc-destroy
lxc-execute
lxc-stop
lxc-unshare
lxc-usernsexec
mmdebstrap
msedge
nautilus
notepadqq
obsidian
opam
opera
pageedit
podman
polypane
privacybrowser
qcam
qmapshack
qutebrowser
rootlesskit
rpm
rssguard
runc
sbuild
sbuild-abort
sbuild-adduser
sbuild-apt
sbuild-checkpackages
sbuild-clean
sbuild-createchroot
sbuild-destroychroot
sbuild-distupgrade
sbuild-hold
sbuild-shell
sbuild-unhold
sbuild-update
sbuild-upgrade
scide
signal-desktop
slack
slirp4netns
steam
stress-ng
surfshark
systemd-coredump
thunderbird
toybox
trinity
tup
tuxedo-control-center
userbindmount
uwsgi-core
vdens
virtiofsd
vivaldi-bin
vpnns
vscode
wike
wpcom
26 processes have profiles defined.
0 processes are in enforce mode.
0 processes are in complain mode.
0 processes are in prompt mode.
0 processes are in kill mode.
26 processes are unconfined but have a profile defined.
Well this certainly seems simple enough, and rereading the AppArmor wiki, also seems simple. So, I guess I read the SELInux wiki and thought they were both complicated, because SELinux has a bunch of AUR packages that you need to use it effectively.
Hi sorry my late reply I have been out of town, but I will try taking a look at this explain and install. I also saved the Arch wiki that is gold to have all that info
Hi I tried to install appamor and make it work, but for some reason I could not make it work, man its a pain on arch based linux distros