Implement advanced security measures and optimize Dockerfile #925
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit enhances the security and efficiency of the Dockerfile used for deploying the Zphisher application. The following improvements were made:
Switched to Alpine Linux 3.14 with security-hardened settings to reduce the attack surface and ensure the base image is up-to-date with security patches.
Implemented a multi-stage build approach to minimize the final image size and reduce the number of layers, improving build efficiency and security.
Utilized environment variables for defining application version (
ZPHISHER_VERSION
) and other configurable parameters, enhancing flexibility and maintainability.Enhanced permissions and ownership management for application files (
zphisher.sh
and related scripts) to enforce least privilege access, improving container security.Added a non-root user (
zphisher_user
) and group (zphisher_group
) to run the application inside the container, further reducing potential vulnerabilities.Integrated a healthcheck mechanism to monitor the container's health status, ensuring the application inside is responsive and functioning as expected.
Implemented robust error handling during container startup, checking for the existence of critical files (
zphisher.sh
) and exiting gracefully with appropriate error messages if not found.These changes aim to provide a more secure, efficient, and reliable Dockerfile setup for deploying Zphisher across different operating systems while adhering to best practices in containerization and security.