openml / openml/OpenML

Security hardening: disable expose_php, raise max_input_time, remove Indexes

Open
#1,267 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
755
Forks
128
PR merge metrics
No merged PRs in 30d

Description

Security hardening for server defaults.

Findings

  • php.ini has expose_php = On. Best practice is Off.
  • php.ini has max_input_time = 60, which can abort large multipart/form-data uploads while PHP is still reading POST data. After raising upload limits to 5G, this should be increased.
  • Apache site config docker/config/api.conf sets Options Indexes for the document root, enabling directory listings (not needed for API).

Proposed changes

  • Set expose_php = Off in docker/config/php.ini.
  • Set max_input_time = 3600 (or -1) in docker/config/php.ini.
  • Change <Directory /var/www/openml> Options to remove Indexes.

Acceptance criteria

  • No directory listing anywhere under DocumentRoot.
  • expose_php disabled.
  • Large uploads do not time out during PHP input parsing.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review docker/config/php.ini and docker/config/api.conf, focusing on the listed PHP defaults and the <Directory /var/www/openml> Options directive. Confirm the current values before changing them. Done means directory listings are disabled under DocumentRoot, expose_php is off, and large uploads do not time out during PHP input parsing.

Written by the indexing model from the issue text.

Assessment

Tech stack
apache, docker, php
Domain
infrastructure, security
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.