Several restrictions implementations are provided with Windows Vista.
Web Restrictions
-
In-box Web Content Filter using a free backend dynamic rating service. Individually configurable per controlled user.
-
Filters all HTTP traffic when enabled, returns custom formatted page using error code 450 if blocked. Allows acceptable functionality with all major browsers. By monitoring all HTTP Get and Post requests for a page, allows individual web page parts to be blocked.
-
Highly configurable via UI using allow/block URL lists, simplified rating category presets or custom control of 12+ categories, and policy for blocking file downloads.
Note: |
|---|
|
Actual file download blocking requires applications to implement the restriction, complying with the provided setting. |
-
Implemented as a Layered Service Provider (LSP) filter communicating with a low-rights service for overall management and monitoring. The filter remains in the LSP chain when disabled, but passes all traffic through.
-
As value-add, applications may provide UI to show partial page blocking, and honor the policy to block file downloads. They may also invoke an API to allow the user to request permission to view a blocked page. This administrative override invokes a small application showing the attempted URL(s) and requesting credentials to allow them.
-
An API is provided for special cases where an application needs to register to bypass filtering, or specific URLs are to be always allowed.
-
Since only one Web Content Filter should ever be running at a time, 3rd parties may register as the active filter and disable the in-box filter. This extensibility, coupled with the ability to show a 3rd-party filter in the UI, allows for simple replacement. Filters must remove their registration when uninstalled.
Time Limits
-
UI provides a grid with independent control for each day of the week with 1 hour granularity.
-
Employs the Fast User Switch (FUS) mechanism to forcibly lock out or block login of the controlled user when in blocked time period. Note that the FUS does preserve the state of the user when locked out.
-
Applications may subscribe to a disconnect warning event. This fires at ~15 minutes before, and again at 1 minute before the FUS, allowing users or applications to take actions such as saving state. Notifications are shown for these events. Multi-user programs, games using DirectX full-screen modes, or programs using audio may wish to take specific action on these events.
-
Depends indirectly on Windows Security functionality through Software Restrictions Policies (SRP) rules.
Games
-
Works in conjunction with the new Games Explorer in Windows Vista.
-
Allows administrators to control which games may be played through a rich UI for selecting a games ratings system and level (plus descriptors if present), and/or by specifically allowing or blocking titles.
-
Metadata on games ratings are obtained in one of two ways:
-
Supported titles deploy their own Game Definition Files (GDFs).
-
~2000 legacy titles are covered by an in-box database.
-
Three mechanisms are used for enforcement:
-
Deny ACLs for controlled user write access to the game folder.
-
Process termination for legacy titles using application compatibility shim technology.
-
Self-check API use by supported titles to block run.
-
Awareness of Time Limits events explained in the section above is recommended.
-
Documentation for GDFs and the Games Explorer will be provided primarily through DirectX SDK releases.
Allow and Block Specific Programs
-
Also referred to as General Application Restrictions (GAR).
-
Off by default. If turned on, it only allows a controlled user to run applications approved by an administrator, with reasonable exceptions.
-
UI provides a list of program names with corresponding paths, each with an allow checkbox. A browse button is also provided.
-
Implemented using Software Restriction Policies (SRP), also known as SAFER:
-
Prevents execution from all media (USB keys, floppies, etc.).
-
Uses path rules to specify programs allowed to run.
-
NTFS ACL write permissions are revoked from anything allowed for the controlled user to run.
-
If blocked and subsequently overridden to allow, the application must be relaunched manually.
-
Exceptions include:
-
All binaries required for a basic subset of Windows to function.
-
All executables that register via API to be allowed for a given user.
-
Games specified as being allowed under Games Restrictions.
-
Note that the RunAs command is blocked by design for a user when GAR is on.