mod_become 1.03
Sponsored Links
mod_become 1.03 Ranking & Summary
File size:
0.023 MB
Platform:
Any Platform
License:
Free To Use But Restricted
Price:
Downloads:
733
Date added:
2006-05-23
Publisher:
Anthony Howe
mod_become 1.03 description
mod_become module enables the web server to take on the access rights of a user & group, so that ~users can make available files to the web without having to make them readable by the world on the local file system. This can be useful for sites with a large number of users who want to apply file access controls among themselves. This module can also be applied to virtual hosts, directories, and locations.
When the server is configured with "User root" (see Security), then this module will behave as though the directive "MaxRequestsPerChild 1" were set for the server and "KeepAlive off" were set for the server and every virtual host where a mod_become directive appears, which essentially limits the server and those virtual hosts to HTTP/1.0 behaviour.
Therefore, for each request, this module will setuid() and setgid() the process handling the request based on one of the policies outlined below. Once the request is completed, the process will terminate. The parent server will be responsible for spawning a new child process to handle any future requests.
The source can be compiled to use seteuid() and setegid() instead of setuid() and setgid() (see the top of the Makefile), but is NOT the default. Use of seteuid() and setegid() can improve preformance by avoiding the need to kill the Apache child process between requests, but it DOES have significant security issues. For example modules like mod_php or mod_perl that provide APIs to seteuid() and setegid(), could be used to become root user once again and do what ever they want.
Essentially any module that is part of the Apache process space could revert to root user if they make use of seteuid() and setegid(). It is recommended that within mod_php, mod_perl, and other language modules that these APIs be disabled. CGIs that are launched as a separate process by Apache should, in theory, be safe, since the effective user and group ID become the real user and group ID of the child process and therefore cannot revert back to root (if I understand things correctly).
Configuration
The commands below can be added to the general Apache configuration file, httpd.conf.
User id
Context: global, < VirtualHost >
This is not part of mod_become, but is used to enable or disable mod_becomes behaviour, since mod_become can only function when "User root" is specified for the main server configuration. You need to compile Apache with -DBIG_SECURITY_HOLE in order to do this.
Become user id
Become group id
Context: server, < VirtualHost >, < Directory >, < Location >
Specify the user or group to be used by default. When the BecomePolicy is user-group, then these will always be used. If the main server configuration fails to set the default user and group, then an error 503 Service Unavailable and a error log entry may occur should these values be required.
BecomePolicy policy
Context: global, < VirtualHost >, < Directory >, < Location >
Specify the policy used to set the user & group ids of the child process:
file
The user & group of the requested file are used. Not recommend.
user-group
The default user & group specified are used. This is similar in behaviour to the Apache core directives User and Group. This is the default policy.
document-root
The user & group of the servers or virtual hosts document root is used.
parent-directory
The user & group of the requests parent directory is used. When the request corresponds to a directory, then it is used instead of its parent.
BecomeRoot boolean
Context: global, < VirtualHost >, < Directory >, < Location >
When true, mod_become will allow the process to operate as root user or group; otherwise a 403 Forbidden error and a error log entry will occur if the process attempts to become root user or group. By default this is set false.
When the server is configured with "User root" (see Security), then this module will behave as though the directive "MaxRequestsPerChild 1" were set for the server and "KeepAlive off" were set for the server and every virtual host where a mod_become directive appears, which essentially limits the server and those virtual hosts to HTTP/1.0 behaviour.
Therefore, for each request, this module will setuid() and setgid() the process handling the request based on one of the policies outlined below. Once the request is completed, the process will terminate. The parent server will be responsible for spawning a new child process to handle any future requests.
The source can be compiled to use seteuid() and setegid() instead of setuid() and setgid() (see the top of the Makefile), but is NOT the default. Use of seteuid() and setegid() can improve preformance by avoiding the need to kill the Apache child process between requests, but it DOES have significant security issues. For example modules like mod_php or mod_perl that provide APIs to seteuid() and setegid(), could be used to become root user once again and do what ever they want.
Essentially any module that is part of the Apache process space could revert to root user if they make use of seteuid() and setegid(). It is recommended that within mod_php, mod_perl, and other language modules that these APIs be disabled. CGIs that are launched as a separate process by Apache should, in theory, be safe, since the effective user and group ID become the real user and group ID of the child process and therefore cannot revert back to root (if I understand things correctly).
Configuration
The commands below can be added to the general Apache configuration file, httpd.conf.
User id
Context: global, < VirtualHost >
This is not part of mod_become, but is used to enable or disable mod_becomes behaviour, since mod_become can only function when "User root" is specified for the main server configuration. You need to compile Apache with -DBIG_SECURITY_HOLE in order to do this.
Become user id
Become group id
Context: server, < VirtualHost >, < Directory >, < Location >
Specify the user or group to be used by default. When the BecomePolicy is user-group, then these will always be used. If the main server configuration fails to set the default user and group, then an error 503 Service Unavailable and a error log entry may occur should these values be required.
BecomePolicy policy
Context: global, < VirtualHost >, < Directory >, < Location >
Specify the policy used to set the user & group ids of the child process:
file
The user & group of the requested file are used. Not recommend.
user-group
The default user & group specified are used. This is similar in behaviour to the Apache core directives User and Group. This is the default policy.
document-root
The user & group of the servers or virtual hosts document root is used.
parent-directory
The user & group of the requests parent directory is used. When the request corresponds to a directory, then it is used instead of its parent.
BecomeRoot boolean
Context: global, < VirtualHost >, < Directory >, < Location >
When true, mod_become will allow the process to operate as root user or group; otherwise a 403 Forbidden error and a error log entry will occur if the process attempts to become root user or group. By default this is set false.
mod_become 1.03 Screenshot
mod_become 1.03 Keywords
VirtualHost
HTTP
Root user
user
mod
group
used
server
process
mod_become
modbecome
mod_become 1.03
HTTP
Internet
Bookmark mod_become 1.03
mod_become 1.03 Copyright
WareSeeker periodically updates pricing and software information of mod_become 1.03 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of mod_become 1.03 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
Related Software
mod_log_rotate is an automatic in-process rotation of transfer log. Free Download
Apache SNMP Module allows you to monitor different configuration and status values of the Apache Web server using SNMP. Free Download
mod_access_rbl2 is an Apache module that can control access to a site using DNSbl lookups. Free Download
Remote MySQL Query is a PHP class that can easily execute queries on a remote MySQL server using only HTTP. Free Download
mod_access_rbl intended for use with the Apache HTTP server. Free Download
maildrop is the mail filter/mail delivery agent thats used by the Courier Mail Server. Free Download
DOM3K is a fast and rapid development Framework for AJAX. Free Download
Redirex is a small, lightweight Perl server which intercepts HTTP requests. Free Download
Latest Software
Popular Software
Favourite Software