this post was submitted on 03 Aug 2023
40 points (95.5% liked)
Linux
48375 readers
1921 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Great advice. Its just that I'm sorta a eager learner when it comes to tech, especially the privacy and security side and I honestly don't always know what I'm doing or I'll read the wrong guide to set things up and I end up getting lost or confused or things just straight up don't work. So I for sure have some wires crossed somewhere and some roadblocks causing issues here and there. I have recently learned more about ansible and chef and I indeed need to research. Those tools seem quite complex but hey, I'll try anyway. And as far as selinux goes, I just thought that was one of those thins that automatically comes installed and configured on every OS? Also there's app armor.... Is that in this realm of things too? Is it deemed "good" or necessary to use? Thanks
Personally, I find Ansible to be much more intuitive than other products in the configuration management space. Start small, think about what you want your system to look like.
Do you want Firefox installed? Use ansible.builtin.package to install it!
Do you want to have ssh server configured to disallow password authentication (and only allow ssh keys)? Use ansible.builtin.blockinfile on your sshd.config file!
Regarding SELinux vs apparmor, they both are designed to lock down a system, but they have different philosophies about how to approach the problem.
SELinux says block all by default and only if it's configured to allow it will it be allowed to happen.
Apparmor on the other hand is permissive by default, and it will only restrict if it is configured to do so.
By the way, both can be managed by Ansible, and SELinux even has a module to do so: https://docs.ansible.com/ansible/latest/collections/ansible/posix/selinux_module.html.
Fascinating stuff! A tad confusing lol but definitely learnable. So to me, selinux and app armor sound similar to firewalls... On the surface at least
I suppose you could say it's similar in that there are allow-lists and deny-lists that permit or restrict actions, but the key difference is Apparmor/SELinux are in the OS space - they can permit/restrict the ability to restart services, or prevent sudo from being used in certain ways.
Firewalls are predominantly used to permit/restrict network connectivity either ingress (e.g. traffic from outside the system coming into it) or egress (e.g. traffic that is leaving the system). A good example would be using a firewall to restrict ingress traffic to port 22 - allowing remote management of a system over SSH.
I hope this is helpful!
Thanks!