Files
confdroid_ssh/README.md

68 lines
3.6 KiB
Markdown
Raw Normal View History

2025-04-22 15:58:46 +02:00
# Readme
2025-04-22 13:49:54 +00:00
2026-04-05 14:39:09 +02:00
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_ssh&style=plastic)](https://jenkins.confdroid.com/job/confdroid_ssh/)
2026-04-05 15:41:44 +02:00
[![Security Hotspots](https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_ssh&metric=security_hotspots&token=sqb_8c77823906f10af2e4f8fcf24c467fe9dc500dba)](https://sonarqube.confdroid.com/dashboard?id=confdroid_ssh)
2026-04-05 14:39:09 +02:00
- [Readme](#readme)
- [Synopsis](#synopsis)
- [WARNING](#warning)
- [Features](#features)
- [Support](#support)
- [Parameter Inheritance](#parameter-inheritance)
- [Module Deployment](#module-deployment)
- [Tests](#tests)
- [Contact Us](#contact-us)
- [Disclaimer](#disclaimer)
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
## Synopsis
2025-04-22 13:49:54 +00:00
2026-04-05 14:39:09 +02:00
`confdroid_ssh`manages the aspects of the sshd daemon.
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
## WARNING
2025-04-22 13:49:54 +00:00
2026-04-05 15:20:45 +02:00
>**Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production**
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
## Features
2025-04-22 13:49:54 +00:00
2026-04-05 15:16:48 +02:00
- install required binaries
2026-04-05 15:55:33 +02:00
- manage selinux rules
2026-04-05 15:16:48 +02:00
- manage service
- (optional) manage firewall
2026-04-14 12:46:57 +02:00
> Note
Originally I thought it was a great idea to have a single custom configuration file, which would override the default settings in the sshd_config. But I quickly learned, that this is not a great idea, for it seemed to work out differently on various hosts despite identical settings. For instance gitlab is using SSH not only for remote sessions but also for git operations, which broke with this file in place. So right now this module will only ensure the main default config is available and the service is always running. Custom configurations can be enabled after through testing through the parameters under #sshd section, but can be forced off through the `ssh_custom_ensure`setting set to `absent` (default).
2025-04-22 15:58:46 +02:00
## Support
2025-04-22 13:49:54 +00:00
2026-04-05 15:20:45 +02:00
- Rocky 9 (Any RHEL 9 based OS should work but has not been tested)
2026-04-05 14:39:09 +02:00
- Puppet 8
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
## Parameter Inheritance
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
All parameters are listed in `params.pp` and inherited from there. Variable parameters are in the upper section and also documented in the top. These can be overridden by the ENC. Parameters in the bottom section (curly brackets) cannot be overridden and usually are used for keeping the code in the classes more readable.
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
## Module Deployment
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
ALmost every puppet setup is done in very custom ways, and hence the way the modules are deployed to nodes are different. This module assumes [Foreman][def] as ENC, so the modules just have to be present on the master node and Foreman will take care for it.
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
## Tests
2025-04-22 13:49:54 +00:00
2026-04-05 14:39:09 +02:00
- Puppet Lint
- excluded tests:
- `--no-variable_scope-check`: not applicable as we are inheriting parameters from params class. the lint check does not distinguish between facts and inherited parameters.
- Puppet Parser
- ERB Template Parser
- Sonar Quality Gate
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
## Contact Us
2025-04-22 13:49:54 +00:00
2026-04-05 14:39:09 +02:00
- [contact Us](https://confdroid.com/contact/)
- [Feedback Portal](https://feedback.confdroid.com/)
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
## Disclaimer
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments.
The modules are tested and supported only as documented, and require testing in designated environments (i.e. lab or development environments) for parameter tuning etc. before deploying into production environments.
2025-04-22 13:49:54 +00:00
2025-04-22 15:58:46 +02:00
[def]: https://www.theforeman.org/manuals/3.13/quickstart_guide.html