Re: Deny CONNECT & GET http requests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/17/07, Bob <bob@xxxxxxxxxxxxxxx> wrote:

Thank you for the info. I read through link you provided on the  "GET http"
request. But I don't feel it answered my question. My interpretation of the
404 response means the "GET http" request was processed and packets where
sent to the URL contained in the request and the remote server replied back
with 404 no file found.  So in a nut shell these "GET http" request types
are consuming resources on my server.

They are only consuming the minimal resources needed to send a 404
response. There is no way to make apache consume substantially less
resources on a request, no matter what you do. (Apache never simply
drops requests. That is not an acceptable thing for an HTTP server to
do.)

Reading the link you posted above talks about the "GET http" request being
processed by the mod_proxy module. I used the default http-config file to
customize and I have commented out the loadmodule & addmodule statements for
proxy as well as commented out all the other statements in the default
http-config file that have to do with the proxy. To me this means the proxy
module is completely disabled and is not a player in why the  "GET http"
request is being processed.
Further more, the mentioned link says the file size which is 300 in the
above log record should match the file size of my default file I serve up.
The default file I serve up is index.php and the ls -l command shows it's
size to be 7812. Matter of fact I have no files sized smaller than 900.

Read the FAQ entry again. I know it is a little complicated, but this
issue is a little complicated.

Note that the FAQ entry says "If you see a status code of 404 (file
not found) in the log, then you know that the request failed." That is
exactly what you want: a failed request. So there is nothing more you
need do. If you read further on, you'll see exactly what apache is
doing: "it will serve requests for unknown sites locally by stripping
off the hostname and using the default server or virtual host." So
apache is looking for a file named /cgi-bin/jenv.cgi on your server,
and properly sending back a 404. The remote server is never involved.

The CONNECT request has a http status code of 200 which means this request
was serviced by apache and packets were exchanged between my apache server
and the remote targeted server. I do have php5 enabled in my apache. Is this
one of those situations of who has final control of the CONNECT request,
(apache or php)?

As I said, by default, apache denies CONNECT requests. So it is really
the php configuration that needs to be adjusted here. I believe you
can set http.allowed_methods in your php config to the list of methods
php should handle. (GET and POST would be a good basic list.)

You can also likely control this from apache, but it makes more sense
to limit what php handles (especially from a security viewpoint).

The goal here is to Deny CONNECT & GET http requests before they generate
any public internet traffic.

That goal can only be met by going and finding all the botnet machines
sending this traffic and unplugging them from their power outlets.

As I said, apache doesn't drop requests, and even if it did, the
request is already using up resources. You could perhaps configure
your firewall (or maybe mod_security) to drop the requests with no
response at all, but the gain in resources would be minimal.

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux