Problem: Nessus reports HTTP TRACE / TRACK Methods Allowed, plugin #11213, as https://www.tenable.com/plugins/nessus/11213.
Installation is fresh with TLS policy supplied at 20200510. Track should be off to enhance security.
Despite claims to the contrary, enabling the TRACE method does not expose any security vulnerability in Apache httpd. The TRACE method is defined by the HTTP/1.1 specification and implementations are expected to support it.
Who is right?
According to Tenable itself, historycal CVEs exist for other web servers. Apache not included.
Itâs telling that even this page doesnât give a word of explanation of why they think this is a problem, or something that should be flagged on a security scan. Youâd think theyâd have something to justify the flag and its severity, but itâs nothing more than âit can be used to debug the connection. Take our word for it that itâs bad.â
Update: A change was made (patch) and the Nessus scan revealed the same error. Which templates need to be updated to add the âtraceenable offâ line for all ports with web servers?
I think no templates are needed in this case and other similar cases.
If setting TraceEnable off at the server level is enough you could just modify /etc/httpd/conf/httpd.conf or better drop a .conf file under /etc/httpd/conf.d/ and listing it in /etc/backup-config.d/custom.include.
The file /etc/httpd/admin-conf/httpd.conf specifically states not to edit it. /etc/httpd/conf/httpd.conf already has my modification, but that file is not configured for the server on port 980.
I created the new file, httpd.conf, in /etc/httpd/conf.d and added the filename to the (previously blank) custom.include file mentioned. Lastly, I issued systemctl restart httpd to the system before rescanning in Nessus. The scan failed to receive a positive result (trace still allowed) so I rebooted and re-ran the scan. Once again, it failed.
Hi all, recently Iâve stumbled upon the same issue in Securing HTTP TRACE/TRACK, the statement made by the apache team is true: It does not expose a vulnerability in Apache.
But that is not the point. It might be used to attack a any web application hosted on the apache.
Therefore most vulnerability assessment tools will flag the TRACE method as critical.
Whatâs the point in having a client see what is being received at the other end of the request chain and use that data for testing or diagnostic information in a production environment ?
And as confirmed in this years this could be used to grab session cookies and steal admin connections, reported from many CVEs.
My point is that thereâs no benefit and only risks for customer sessions, so I ask to reconsider actual behaviour and disable âtracingâ by default.
Since the potential security risk is tightened to an application and not to Apache itself, there is no reason to change current default.
If a security risk is really proven, Itâs up the application to change the configuration on its own.
As general rule, we do not change default configuration during minor releases. Also NS7 is in freeze mode, that means no new features will be added: this is an extra reason to not change a default right now.
If you still want to disable the TRACE for the whole Apache installation, please follow @davidep suggestion.
Red Hat didnât change Apache default in RHEL, but they changed it only on a specific installation witch is hosting just one application. Of course, this is not our case.
Hello @giacomo (and everybody),
following your logic, we should change the setup of every application released from software center that could be prone to XST ?
Well, indeed awareness is related to security but itâs not always true the opposite.
First: letâs agree on the fact that: if an application security is based on cookies and authentication credentials (letâs call it SESSION) and the session could be stolen on a level lower than the application (the web server level). The application is insecure, no matter what you do.
Second: following your statement seems that if thereâs an application prone to XST but we donât check it with VA thereâs no need of securing it Just to say that if an app is insecure with this setup and the wide adopted solution is to disable tracing, why donât do this by default (and by design) ?