Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have just spent a few hours playing with Puppy linux, which has some very nice features, but there are some things about its approach to security (at least the default settings) that worry me:

  1. It seems that the intended way to use it is to run everything as root
  2. There is no password for root (by default-- of course I could add one)
  3. There is no automated (or even a simple non-automated) way of getting security updates for packages, as far as I can tell. (I might have missed something.)

I have always had drummed into my head the importance of having a complex password, of not browsing the internet as an admin/root user, and of keeping system software (and browser, and plugins) up to date with patches for the latest vulnerabilities. However, despite what looks to me like a recipe for disaster (outlined above), Puppy is popular enough to have a lot of spin-offs, so there must be scenarios in which the apparent lack of security is a non-issue. What are they?

share|improve this question
    
Puppy was the first linux distro I used. It served as a good recovery distro. These days, I find grml to be the ideal for live recovery environments. –  jordanm Aug 25 '12 at 3:53
add comment

6 Answers

Puppy is a toy distro, for hobbyists. That is the only scenario where the Puppy (lack of) security model makes sense.

Agencies which study information security publish mitigation strategies based on the statistics of intrusions they see. Here is the Australian government's list:

http://dsd.gov.au/infosec/top-mitigations/top35mitigationstrategies-list.htm

They estimate that following the top 4 strategies would stop 85% of intrusions. These are:

  1. Patch applications e.g. PDF viewer, Flash Player, Microsoft Office and Java. Patch or mitigate within two days for high risk vulnerabilities. Use the latest version of applications.

  2. Patch operating system vulnerabilities. Patch or mitigate within two days for high risk vulnerabilities. Use the latest operating system version.

  3. Minimise the number of users with domain or local administrative privileges. Such users should use a separate unprivileged account for email and web browsing.

  4. Application whitelisting to help prevent malicious software and other unapproved programs from running e.g. by using Microsoft Software Restriction Policies or AppLocker.

Puppy fails on all of these counts. Serious distros such as Fedora, OpenSUSE, Debian etc. are far more secure. These distros all have active security mailing lists which provide timely security patches, offer Application whitelisting via AppArmor and/or SELinux and of course, don't run everything as root (honestly, wtf?).

If you value your security, don't use Puppy for anything serious.

share|improve this answer
1  
+1 for the useful reply, though I am not sure I agree with all of it. Puppy linux does not seem to present itself as a toy distro-- there are no warnings to treat it as such. –  Paul Lynch Oct 23 '12 at 2:00
    
I would downvote this due to its arrogant misinformation but, at the moment, I question the value of downvoting. Let me just say that what is true for a multi-user environment is not always true for a single-user environment. Puppy Linux is specifically designed for a single-user environment. It also works well in a single-user/multi-computer environment. –  DocSalvage Oct 24 '13 at 9:04
add comment

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.

Patching may be the only viable defense in Microsoft environments, but every Linux comes with a large toolbox of techniques to keep systems secure while running on hardware that's not the latest and greatest.

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.
share|improve this answer
1  
I don't see how running everything as root makes it more secure. If you are running a browser as root (especially one that has not been updated with the latest patches) and visit some infected web site that exploits a security flaw in your browser, then you have just given the attacker full control over your system. You might not even be aware that it has happened. In what sense does being root help you in this case? –  Paul Lynch May 22 '13 at 16:18
1  
Running as root puts you on equal footing with intruders instead of them having the upper hand. Any software breaking into a Linux system tries to become root and chances are, will succeed in at least gaining greater privileges than your non-root login. As a non-root user, numerous things are hidden from you, such as getting a full listing of all the processes running on the system. Running as root with some basic "instrumentation", you become accustomed to which processes run when and how much CPU is usually used under various conditions so you notice anomalies that may be malicious. –  DocSalvage May 24 '13 at 5:55
add comment

I did think of one situation in which something like Puppy Linux would be fairly safe (or so I think-- I welcome comments.) If you run it from a Live CD on a system with no mountable storage devices (which means no hard drive in the system, or at least not one that you ever use), then even if you visit a web site that exploits some hole in the unpatched browser, the next time you reboot your system will be clean.* Of course, between the time when you have visited such a web site and your reboot, there could be some keylogger catching any passwords you enter, so you would have to be careful, perhaps only visiting bookmarked websites unless you weren't planning to log in anywhere. You could save files on a USB flash drive, though again you would have to be careful about what web browsing you did while it was connected (or before it was connected).

*I have read about viruses (though thankfully they are supposed to be rare) that can infect your BIOS or some other piece of firmware, and if that happened then a reboot wouldn't help.

share|improve this answer
add comment

sml asked: "Also, can you provide a link to the police forces which recommend Puppy?"

Perhaps this will help: Detective Inspector Bruce van der Graaf from the Computer Crime Investigation Unit of the New South Wales Police, when giving evidence on behalf of the New South Wales Government at a public hearing into Cyber-crime, specifically recommended Puppy Linux as one of the principle methods of safely conducting commercial transactions on the internet, such as on-line banking.

For details see: http://www.itnews.com.au/News/157767,nsw-police-dont-use-windows-for-internet-banking.aspx

And incidentally, none of those involved in the creation of Puppy Linux regard it as a "toy distro".

share|improve this answer
add comment

I have never heard of Puppy Linux being compromised in 6 years of use as a frugal install. I believe this is because Puppy runs with most service's turned off ( try using a web security site such as Shields Up. I have done extensive security testing as part of my work as a Linux Educator and have found Puppy to be more secure than Ubuntu even in root due to the above service reasons. Of course if you run puppy as a remaster as a live cd with a browser added its very secure, (with no hard drive mounted while on the Web).This is the method as recommended by police forces around the world for a totally secure system.

share|improve this answer
    
Thanks for the informed reply. Two follow up questions: 1) If you are running behind a firewall (e.g. a router with NAT) then the primary means of attack would be through visited web sites, wouldn't it? 2) Even if the hard drives are unmounted, malware installed via web browsing could remount them, couldn't it, since the web browser is running as root? I was just reading some reports of attacks where, apparently via Puppy browsing activity, the Windows OS on the system was infected. –  Paul Lynch Aug 26 '12 at 21:12
    
David, what comprises your security testing? I hope it involved more than merely visiting Shields Up. Also, can you provide a link to the police forces which recommend Puppy? –  sml Oct 11 '12 at 11:23
    
"Shields Up" simply checks the status of a range of ports, as a test for a security problem common on Windows installations ten years ago. Modern operating systems only open ports when they have system services listening on those ports. –  bgvaughan Oct 23 '12 at 8:12
    
The few network services installed by default on Ubuntu or other popular Linux distributions are a trivial vulnerability. Running as root by default is a more significant vulnerability, though significantly mitigated if running an OS from a LiveCD. It is not necessary to run as root if running an OS from a LiveCD, however. –  bgvaughan Oct 23 '12 at 8:34
add comment

The standard, 'serious' Linux paradigm can give a false sense of security, as well as being quite frustrating at times, with its denial of access (whose computer?). It therefore becomes necessary to run many applications as 'root', even whilst connected to the www. Incidentally, I have used a 'live' Puppy to tear apart a Debian-based install that I had made deliberately 'over-secure'. I have also done the same with KolibriOS ('Hummingbird OS'), which is written in ~100% ASM, & doesn't recognise the alleged 'defences'. As an example, on an external storage medium, formatted to ext4, the 'lost & found' folder is locked to most Linuxen, but not to a Puppy.

In any case (AFAIK) the most vulnerable potential attack/contamination vector/application, the web-browser, usually does not run as 'root'. For security, there are private browsing mode, https, and of course, firewalls, and web-browser firewalls (on top), not to forget the mighty BleachBit cleaner.

Regarding the lack of updates, in my experience, MSW is constantly updated/patched, yet is apparently the least secure system of all; rolling-release Linuxen, with their constant patching, break within about a week or so; LTS Linuxen with relatively few updates, 'just work'; so the relative lack of updates in Puppy (depending on the version) may be a false area of concern, one that seriously bothered me until I found out a bit more.

An important security feature of Puppy is that (in a 'frugal' installation, which is preferred/recommended) each session can be either saved or not, to either a standard or unique file, so it's possible to run 'bespoke' sessions for specific purposes, requiring logout/login to return to 'normal' use. Restricted user accounts can also be added, for specific purposes. Given that a frugal install is effectively a 'live' system, Puppy may actually be more secure than 'normal' Linuxen, if used correctly.

References:

http://www.ciphersbyritter.com/COMPSEC/ONLSECP5.HTM

http://www.murga-linux.com/puppy/viewtopic.php?t=18639

Finally, never join a forum that demands registration, always use a 'ghost' email address.

share|improve this answer
    
Leave comments directed to others. Don't use an A to do this. When you get enough rep you'll be able to leave comments. –  slm 17 hours ago
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.