Slashdot Mirror


How Would You Lock Down a Windows XP Machine?

Kronos666 asks: "I've been working with a network of about 50 computers, and a few of them have to be locked down. What I mean is that there is an application running, and the users must not be able to do anything else on it. The computers (Windows XP), are in a Windows 2000 domain and I've tried everything that comes to mind with the group policies. Now, I know it might seem contradictory to some, but is there a way to make those computers completely locked down? Maybe someone has had previous experience with something like this?"

14 of 119 comments (clear)

  1. surely there's programs for this? by gl4ss · · Score: 4, Informative

    for turning them into 'kiosk' style machines, with the ability to only run 1 program. removing explorer & etc.

    it's not foolproof but it's a start, and make them copy themselfs from the network everytime they're started.

    http://www.google.com/search?q=windows+xp+kiosk&so urceid=mozilla-search&start=0&start=0&ie=utf-8&oe= utf-8 , and remember, there's no ask-slashdot that google couldn't solve...

    --
    world was created 5 seconds before this post as it is.
    1. Re:surely there's programs for this? by bhtooefr · · Score: 3, Informative

      Couldn't you simply set the shell to your application for the applicable users? It's the Windows equivalent of setting the WM to your app on Linux, which was already suggested. I know it can be done on a per-user basis - you might want to ask the people at Blackbox for Windows how they got that done.

  2. Remove all drives by Marxist+Hacker+42 · · Score: 4, Informative

    And boot off the network. In addition, the truly best way is to avoid the problem to begin with- by coding your kiosk software as it's own operating system, booting off of network or ROM chip, and having the data held elsewhere.

    But if you're stuck with XP, I'd suggest a VERY minimal install of XP, with your program loaded in the registry full screen, and Windows.Form.KeyPreview on, Windows.Form.KeyDown testing for and disabling all standard keys (like alt-tab and ctrl-alt-del). For extra fun, link those keys to nasty messages from "The Master Programer". And remove the floppy & cd Rom drives completely from the machine. If the kisok can get by with just mouse or touchscreen access, remove the keyboard as well, or at least a blob of superglue under the Windows and Right Menu keys.

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    1. Re:Remove all drives by Foolhardy · · Score: 2, Informative
      But if you're stuck with XP, I'd suggest a VERY minimal install of XP, with your program loaded in the registry full screen, and Windows.Form.KeyPreview on, Windows.Form.KeyDown testing for and disabling all standard keys (like alt-tab and ctrl-alt-del).
      Windows.Form.KeyPreview? From .NET? First, .NET is a bit heavyweight for that; a keyboard journal hook in win32 is much better. Second, it's excessive: what's so bad about alt-tab? Third, it will be ineffective: ctrl-alt-delete is a security attention sequence; Windows goes to extra lengths to make sure it cannot ever be disabled, short of installing a new keyboard driver.

      Think Software Restriction Policies.

      Overall, those are good ideas.
  3. activedir.org by scupper · · Score: 2, Informative

    Share your group policies with a few other minds on the mailing list at http://www.activedir.org

  4. Replace the shell by Foolhardy · · Score: 4, Informative
    First, create a user group for the locked-down users. Give it the least privledges possible. You can have everyone log on with the same user; use autologon for simplicity. Use the account property that prevents the user from changing the password.
    Then replace the shell for that group with the app you want to run. That property is User->Admin. Templates->Custom User Interface.
    In ctrl-alt-delete settings remove task manager if you want.
    Turn off autoplay.
    For a really locked down mode, use Software Restriction Policies. Create a whitelist of runnable apps by hash; if the program isn't on the list for users affected by the group policy, they cannot start the program. You can still admin the systems by logging on as a real user; just use ctrl-alt-delete to log off. Use this for shutdown/restart too.
    You may need to set SRP from an XP machine or install the server 2003 admin kit (free) because SRP didn't exist yet in the win2k era; it's only supported locally on XP and later. The win2k AD server can still enforce the policy but the standard interface doesn't list the option.
    Now, I know it might seem contradictory to some, but is there a way to make those computers completely locked down?
    It's not contradictory. SRP does a great job of locking a Windows system down completely.
  5. Plenty of options... by ezraekman · · Score: 4, Informative

    Well, if I'm understanding what you're trying to do, you've got both software and operating system options, as well as a whole bunch of hardware solutions.

    Of course, you can also enable a screensaver password, and have the screensaver running all the time, configure the BIOS not to allow booting from the floppy drive, and use password access to the BIOS to disallow unauthorized changes to it.

    It sounds like your easiest (read: less time to deal with and less worry of hacking headaches) solutions is just to toss the suckers into one of those cabinets listed above. Hell, you can build the cabinet yourself for under $100, if you're any good with power tools and have a spare afternoon.

  6. Go to by DaveJay · · Score: 3, Informative

    Sitekiosk.com.

    Worked well for me.

  7. Some good reading... by (H)elix1 · · Score: 4, Informative

    I'd check out what these guys had to say about locking down xp.

  8. Try the NSA Security guides by hardreset · · Score: 4, Informative

    Take a look at the NSA security guides for Windows NT, 2000, XP, and 2003. Normal users on the machine will have no ability to modify the machine if the policy is applied (especially the policies that apply to the file system.)
    I've used these policies for Windows 2000 lab machines, and have no known incidents with virii/trojans/stupid user tricks/etc...

  9. change shell by Jjeff1 · · Score: 3, Informative

    Back in the day, you could edit the win.ini or system.ini and change shell=explorer.exe to shell=myapp.exe. I don't know if this still works, though I know you can do it with a terminal services session, so I'm assuming some googling will help you out. Once windows loaded, it would run your app, and unless your app has the ability to launch other programs, nothing else. You can lock out task manager and whatnot with windows policies. Between those 2 things, you should be in pretty good shape. You might also think about deep-freeze. It locks out the disk such that a user can change anything, and I mean anything, and a reboot will bring it back to a default state.

    1. Re:change shell by Anonymous Coward · · Score: 2, Informative

      All the config data has been moved to the registry. The shell is now in HKCU\Software\Microsoft\ Windows\CurrentVersion\Policies\System\Shell. It defaults to explorer if the value doesn't exist. It's also available as a user policy.

      BTW: Deepfreeze is a great program.

  10. NIST Guide by Introspective · · Score: 2, Informative

    NIST have recently released a good guide on securing XP boxes here

    I haven't had the time to read it yet, but from the high quality of their other documents it is probably well worth printing and reading.

  11. Re:Thin client by Anonymous Coward · · Score: 1, Informative

    Be careful...
    "You don't have to pay for each client, since they're running Linux, which makes a decent thin client OS."

    This is true for the Linux piece of the solution, but Microsoft's TS licensing is more invasive than you think. To run a TS session, the licesning states that you must have a Windows OS license (regardless of what the clietn platform really is!), plus a Windows Server CAL, plus a TS CAL, then licesning for each app you are accessing via terminal services.