Over 30yrs programming in dozens of languages from assembly to Oracle database administration, and I've found nothing more secure and reliable than Puppy Linux.
Like all Unix/Linux systems, Puppy Linux security is a very different world than the Microsoft one most are familiar with. The disparaging expressed in other answers is completely understandable though from the Microsoft perspective, but stems from a lack of understanding that there other approaches to security.
In general, Microsoft Windows O/Ss assume full access to everything unless explicitly denied. Unix/Linux assumes no access to anything unless explicitly granted. This goes a long way in preventing unauthorized access.
The *nix root
user is granted full access to most everything, though even root
is routinely prevented from doing things like executing a file that does not have the execute permission flag set and connecting to another host via SSH without a password or prearranged key-sharing.
Unlike "native" Linux, Puppy Linux has been optimized for a single-user environment. The single-user, root
, has full control of that machine and thus has the ability to better secure it from intruders. If you need to accommodate multiple users, try one of the many other fine Linux distributions.
Puppy Linux's use of the unionfs/aufs stacking file systems keep all but recently altered files on read-only layers. This provides an "undo" capability that allows easier restoration of the entire system to a known-good condition. As a last resort, the original system as distributed is kept on the bottom read-only layer where it can be rebooted to while preserving subsequent changes on the upper layers.
Though seldom discussed, frequent patching of software is a multi-edged sword. New versions must always accommodate current hardware which often creates glitches in inter-operating with older software and hardware. That's why, if you want to keep anything up-to-date, you have to keep everything up-to-date. Personally, I've never performed a multi-package upgrade to a desktop system that didn't require several hours to fix all things it broke. I thus tend to upgrade piecemeal and install new distro versions to a separate partition so I can "rollbacK" to the old one if necessary.
Keeping a dedicated web server fully up-to-date is prudent due to its easy access to attackers. Even then though, it makes no sense to allow any ssh login to such a system other than root. That limits the attack surface. Virtually all updates to these systems require root access and being logged in as root allows you to notice potentially malicious anomalies and software failures which might be otherwise hidden from you if logged in non-root.
Every Linux comes with a large toolbox of utilities that can be used to keep systems secure. Most are written in C and so are very small and have stood the test of time for reliability. They thus can run efficiently on very low-powered, low-resource systems.
Puppy Linux is mostly used by programmers, systems administrators and analysts for their daily computing needs doing things like...
- Internet access of dozens of websites simultaneously from several machines/user.
- Developing software in almost any language ever invented.
- Experimenting with endless permutations and combinations of software configurations.
- ... and even checking email and social media while answering questions here.
A good case can be made to run browsers as a non-root user. Creating a user login for this purpose is the same in Puppy as in any other Linux should you desire to do so.