Auto-commit from giteapush.sh at 2025-05-01 06:34:03
This commit is contained in:
parent
56b8e9ce2d
commit
de713b6e82
20
genesishostingmd/access/account-creation.md
Normal file
20
genesishostingmd/access/account-creation.md
Normal file
@ -0,0 +1,20 @@
|
||||
# Account Creation Policy
|
||||
|
||||
## Customer Accounts
|
||||
|
||||
- Created automatically via WHMCS upon signup
|
||||
- Email verification is required before service activation
|
||||
- Strong passwords (minimum 10 characters) are enforced
|
||||
- 2FA is recommended and required for admin-facing services
|
||||
|
||||
## Staff/Admin Accounts
|
||||
|
||||
- Created manually by Super Admin only
|
||||
- Must use SSH keys for server access
|
||||
- Access logs are enabled and monitored
|
||||
- Each staff account must be linked to an internal email
|
||||
|
||||
## Account Naming Convention
|
||||
|
||||
- Customers: `client_{username}`
|
||||
- Admins: `admin.{firstname}`
|
13
genesishostingmd/access/account-deletion.md
Normal file
13
genesishostingmd/access/account-deletion.md
Normal file
@ -0,0 +1,13 @@
|
||||
# Account Deletion Policy
|
||||
|
||||
## Customer Accounts
|
||||
|
||||
- Users may request account deletion via WHMCS support ticket
|
||||
- Data is retained for 30 days post-termination (unless legally required)
|
||||
- Backups including user data are purged after 30 days
|
||||
|
||||
## Internal Accounts
|
||||
|
||||
- Deactivated immediately upon staff departure or role change
|
||||
- SSH keys, DirectAdmin access, and database credentials revoked
|
||||
- Logs associated with the account are retained for audit purposes
|
20
genesishostingmd/access/least-priv.md
Normal file
20
genesishostingmd/access/least-priv.md
Normal file
@ -0,0 +1,20 @@
|
||||
# Least Privilege Policy
|
||||
|
||||
Genesis Hosting enforces least privilege access for all systems.
|
||||
|
||||
## Principles
|
||||
|
||||
- Users are given the minimum level of access necessary to perform their work
|
||||
- Admin tools are isolated by function (e.g., billing vs. system access)
|
||||
- Escalation of privileges must be requested, documented, and time-bound
|
||||
|
||||
## Tools in Use
|
||||
|
||||
- WHMCS permissions are restricted by group
|
||||
- SSH access is limited using `AllowUsers` and firewalled IPs
|
||||
- TeamTalk server admins are rotated and audited monthly
|
||||
|
||||
## Review Cycle
|
||||
|
||||
- Access roles are reviewed quarterly
|
||||
- Logs of access changes are stored and rotated every 90 days
|
18
genesishostingmd/access/user-roles.md
Normal file
18
genesishostingmd/access/user-roles.md
Normal file
@ -0,0 +1,18 @@
|
||||
# User Roles
|
||||
|
||||
Genesis Hosting Technologies uses Role-Based Access Control (RBAC) to ensure that users only have access to what they need.
|
||||
|
||||
## Role Definitions
|
||||
|
||||
| Role | Description | Examples |
|
||||
|----------------|----------------------------------------------------------|----------------------------------|
|
||||
| Customer | End users with access to services they’ve purchased | DirectAdmin clients, Streamers |
|
||||
| Support Staff | Limited admin functions for resolving client issues | Helpdesk, WHMCS support agents |
|
||||
| Administrator | Full access to provision, maintain, and modify services | Infrastructure admins |
|
||||
| Super Admin | Root-level access to all systems | Owner/Lead Engineer |
|
||||
|
||||
## Guidelines
|
||||
|
||||
- Roles are assigned during onboarding.
|
||||
- Access levels are reviewed quarterly.
|
||||
- No one should hold higher access than required for their duties.
|
26
genesishostingmd/backups/backup-disaster-recovery.md
Normal file
26
genesishostingmd/backups/backup-disaster-recovery.md
Normal file
@ -0,0 +1,26 @@
|
||||
# Disaster Recovery Plan
|
||||
|
||||
Genesis Hosting is prepared to recover core systems from catastrophic failure.
|
||||
|
||||
## Recovery Objectives
|
||||
|
||||
- **RPO (Recovery Point Objective)**: 24 hours
|
||||
- **RTO (Recovery Time Objective)**: 4 hours for customer services
|
||||
|
||||
## Full Recovery Flow
|
||||
|
||||
1. Triage the affected systems
|
||||
2. Identify last successful backup or snapshot
|
||||
3. Restore individual services:
|
||||
- DNS
|
||||
- WHMCS
|
||||
- DirectAdmin
|
||||
- AzuraCast
|
||||
- TeamTalk
|
||||
4. Run post-restore validation scripts
|
||||
5. Notify customers of incident and resolution
|
||||
|
||||
## DR Testing
|
||||
|
||||
- Simulated quarterly
|
||||
- Logs retained in `/var/log/genesisdr.log`
|
23
genesishostingmd/backups/backup-integrity.md
Normal file
23
genesishostingmd/backups/backup-integrity.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Backup Integrity
|
||||
|
||||
We verify all backups regularly to ensure they are complete, uncorrupted, and restorable.
|
||||
|
||||
## Weekly Tasks
|
||||
|
||||
- ZFS scrubs for all pools
|
||||
- Hash checks (SHA-256) for tarballs and dumps
|
||||
- rsync `--checksum` verification for remote mirrors
|
||||
|
||||
## Alerts
|
||||
|
||||
- Email/Mastodon alert if:
|
||||
- ZFS reports checksum errors
|
||||
- Scheduled backup is missing
|
||||
- Remote sync fails or lags > 24h
|
||||
|
||||
## Tools Used
|
||||
|
||||
- `zfs scrub`
|
||||
- `sha256sum` + custom validation script
|
||||
- rclone sync logs
|
||||
- Telegram bot and Genesis Shield notifications
|
29
genesishostingmd/backups/backup-policy.md
Normal file
29
genesishostingmd/backups/backup-policy.md
Normal file
@ -0,0 +1,29 @@
|
||||
# Backup Policy
|
||||
|
||||
Genesis Hosting Technologies maintains regular backups to ensure customer data and internal infrastructure are recoverable in the event of failure, corruption, or disaster.
|
||||
|
||||
## Backup Schedule
|
||||
|
||||
| System | Frequency | Retention | Method |
|
||||
|----------------|-----------|-----------|------------------|
|
||||
| DirectAdmin | Daily | 7 Days | rsync + tarball |
|
||||
| WHMCS | Daily | 14 Days | Encrypted dump |
|
||||
| AzuraCast | Daily | 7 Days | Docker volume snapshot + config export |
|
||||
| TeamTalk | Daily | 7 Days | XML + config archive |
|
||||
| Full VMs | Weekly | 4 Weeks | ZFS snapshots or Proxmox backups |
|
||||
| Offsite Backups| Weekly | 4 Weeks | Rsync to remote ZFS or object storage |
|
||||
|
||||
## Retention Policy
|
||||
|
||||
- Daily: 7 days
|
||||
- Weekly: 4 weeks
|
||||
- Monthly: Optional, for specific business data
|
||||
|
||||
## Encryption
|
||||
|
||||
- Backups are encrypted at rest (AES-256)
|
||||
- Transfers to remote locations use SSH or TLS
|
||||
|
||||
## Notes
|
||||
|
||||
- No backup occurs on client plans marked "opt-out"
|
32
genesishostingmd/backups/restore-instructions.md
Normal file
32
genesishostingmd/backups/restore-instructions.md
Normal file
@ -0,0 +1,32 @@
|
||||
# Restore Instructions
|
||||
|
||||
The following steps outline how to restore data for each supported service.
|
||||
|
||||
## DirectAdmin
|
||||
|
||||
1. Access DA panel as admin
|
||||
2. Go to Admin Backup/Transfer
|
||||
3. Select user and backup date
|
||||
4. Click "Restore"
|
||||
|
||||
## WHMCS
|
||||
|
||||
1. SSH into WHMCS server
|
||||
2. Restore from encrypted MySQL dump
|
||||
3. Restart `php-fpm` and `nginx`
|
||||
|
||||
## AzuraCast
|
||||
|
||||
1. Stop all Docker containers
|
||||
2. Replace `station_data` and `config` volumes
|
||||
3. Restart stack via `docker-compose up -d`
|
||||
|
||||
## TeamTalk
|
||||
|
||||
1. Replace configuration file (`tt5srv.xml`)
|
||||
2. Restart TeamTalk server
|
||||
|
||||
## VM-Level Restore (ZFS)
|
||||
|
||||
1. `zfs rollback poolname/dataset@snapshotname`
|
||||
2. Verify service health and logs
|
27
genesishostingmd/clients/abuse.md
Normal file
27
genesishostingmd/clients/abuse.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Abuse Handling Policy
|
||||
|
||||
We take reports of abuse seriously and aim to resolve them quickly.
|
||||
|
||||
## How to Report Abuse
|
||||
|
||||
Send an email to abuse@genesishostingtechnologies.com with:
|
||||
|
||||
- Description of the abuse
|
||||
- IP or domain involved
|
||||
- Any relevant logs or screenshots
|
||||
|
||||
## Internal Response Process
|
||||
|
||||
1. Triage within 12 hours
|
||||
2. Investigate logs and usage
|
||||
3. Contact the client with 24h to respond
|
||||
4. Temporary suspension may be issued to prevent further harm
|
||||
|
||||
## DMCA Takedowns
|
||||
|
||||
- We comply with valid DMCA requests
|
||||
- The client will be notified and given 48h to address or refute
|
||||
|
||||
## Escalation
|
||||
|
||||
Repeat offenders may be permanently banned.
|
22
genesishostingmd/clients/account-suspension.md
Normal file
22
genesishostingmd/clients/account-suspension.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Account Suspension Policy
|
||||
|
||||
Accounts may be suspended for violations of our Acceptable Use Policy, overdue invoices, or abuse complaints.
|
||||
|
||||
## Common Reasons
|
||||
|
||||
- Non-payment (after 5-day grace period)
|
||||
- Resource abuse or denial-of-service behavior
|
||||
- Hosting prohibited content
|
||||
- Violating community guidelines on TeamTalk
|
||||
|
||||
## Suspension Procedure
|
||||
|
||||
- Warning issued via WHMCS ticket and email
|
||||
- If no resolution within 24–48h, service is suspended
|
||||
- Admin note added to client profile for audit tracking
|
||||
|
||||
## Reinstatement
|
||||
|
||||
- Suspension is lifted upon payment or resolution
|
||||
- $5 reactivation fee may apply (for non-payment suspensions)
|
||||
- Services are not reinstated if terminated due to serious AUP violation
|
27
genesishostingmd/clients/aup.md
Normal file
27
genesishostingmd/clients/aup.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Acceptable Use Policy (AUP)
|
||||
|
||||
This policy outlines the acceptable use of services provided by Genesis Hosting Technologies.
|
||||
|
||||
## Prohibited Activities
|
||||
|
||||
Clients may not use our services to:
|
||||
|
||||
- Host or distribute malware, phishing sites, or spyware
|
||||
- Send unsolicited email (spam), whether direct or relayed
|
||||
- Host copyrighted content without permission (DMCA applies)
|
||||
- Promote hate speech, harassment, or targeted abuse
|
||||
- Overuse system resources in a way that affects others
|
||||
|
||||
## Special Notes
|
||||
|
||||
- Streaming via AzuraCast must comply with DMCA and public broadcast standards
|
||||
- TeamTalk users must not harass, dox, or spam other users
|
||||
- VPNs, proxies, and anonymizing services are not allowed without prior approval
|
||||
|
||||
## Enforcement
|
||||
|
||||
Violations will result in one or more of the following:
|
||||
|
||||
- Warning via email or WHMCS ticket
|
||||
- Service suspension
|
||||
- Permanent termination without refund (in egregious cases)
|
24
genesishostingmd/clients/refunds-cancellations.md
Normal file
24
genesishostingmd/clients/refunds-cancellations.md
Normal file
@ -0,0 +1,24 @@
|
||||
# Refunds & Cancellations
|
||||
|
||||
Genesis Hosting Technologies offers a clear refund and cancellation policy.
|
||||
|
||||
## Cancellation
|
||||
|
||||
- Clients may cancel via WHMCS at any time
|
||||
- Cancellation before next billing date avoids future charges
|
||||
- No prorated refunds for unused time unless due to service failure
|
||||
|
||||
## Refunds
|
||||
|
||||
- Full refund within 7 days of initial purchase (DirectAdmin, AzuraCast, TeamTalk)
|
||||
- Domain registrations, SSL certificates, and add-ons are non-refundable
|
||||
- No refunds issued for abuse-related suspensions or policy violations
|
||||
|
||||
## Exceptions
|
||||
|
||||
- If we fail to deliver a service or suffer extended downtime (>24h), credit may be issued
|
||||
- All refund requests are reviewed manually by support
|
||||
|
||||
## How to Request
|
||||
|
||||
Submit a WHMCS ticket with reason for refund
|
20
genesishostingmd/company/company-code-of-conduct.md
Normal file
20
genesishostingmd/company/company-code-of-conduct.md
Normal file
@ -0,0 +1,20 @@
|
||||
# Code of Conduct
|
||||
|
||||
We maintain a respectful, safe, and inclusive environment for both staff and clients.
|
||||
|
||||
## Expectations
|
||||
|
||||
- Treat all clients and team members with professionalism and courtesy
|
||||
- Communicate clearly and constructively — even during escalations
|
||||
- Uphold privacy, security, and transparency at every level
|
||||
- Follow internal and customer-facing policies at all times
|
||||
|
||||
## Zero Tolerance
|
||||
|
||||
We do not tolerate:
|
||||
|
||||
- Harassment or abuse (verbal, written, or otherwise)
|
||||
- Discrimination based on identity, ability, or belief
|
||||
- Intentional sabotage of infrastructure or service integrity
|
||||
|
||||
Violations may result in immediate termination of access or service.
|
12
genesishostingmd/company/company-mission-statement.md
Normal file
12
genesishostingmd/company/company-mission-statement.md
Normal file
@ -0,0 +1,12 @@
|
||||
# Mission Statement
|
||||
|
||||
At Genesis Hosting Technologies, our mission is to provide secure, reliable, and transparent hosting services with a personal touch.
|
||||
|
||||
We believe that even the smallest teams deserve enterprise-grade infrastructure — without enterprise-grade headaches.
|
||||
|
||||
Our goal is to deliver:
|
||||
|
||||
- Fast, stable hosting environments
|
||||
- Fair pricing with no upsell games
|
||||
- Transparent policies and proactive support
|
||||
- A commitment to data ownership and user privacy
|
25
genesishostingmd/company/company-tos.md
Normal file
25
genesishostingmd/company/company-tos.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Terms of Service (TOS)
|
||||
|
||||
By using services from Genesis Hosting Technologies, you agree to the following terms:
|
||||
|
||||
## Service Provision
|
||||
|
||||
- Services are delivered as-is, with best-effort uptime and technical support
|
||||
- Users must abide by our Acceptable Use Policy (AUP)
|
||||
- Access may be suspended for abuse, non-payment, or security issues
|
||||
|
||||
## Billing & Renewals
|
||||
|
||||
- All services are billed monthly or annually
|
||||
- Automatic renewal is enabled by default
|
||||
- Invoices are due within 5 days of issue unless otherwise agreed
|
||||
|
||||
## Termination
|
||||
|
||||
- You may cancel at any time via WHMCS
|
||||
- We reserve the right to suspend or terminate accounts that violate our policies
|
||||
|
||||
## Liability
|
||||
|
||||
- We are not liable for data loss, service interruptions, or indirect damages
|
||||
- Backups are provided as a best-effort courtesy unless contractually guaranteed
|
25
genesishostingmd/company/dmca.md
Normal file
25
genesishostingmd/company/dmca.md
Normal file
@ -0,0 +1,25 @@
|
||||
# DMCA Policy
|
||||
|
||||
Genesis Hosting Technologies complies with the Digital Millennium Copyright Act (DMCA).
|
||||
|
||||
## Filing a Takedown Notice
|
||||
|
||||
Email dmca@genesishostingtechnologies.com with:
|
||||
|
||||
- Your contact information
|
||||
- Description of the copyrighted work
|
||||
- URL or IP address of the infringing content
|
||||
- A statement of good faith belief
|
||||
- A statement of accuracy and authority
|
||||
|
||||
## What Happens Next
|
||||
|
||||
- We review and respond within 48 hours
|
||||
- The client is notified and given a chance to respond
|
||||
- If no valid counter-notice is filed, content may be removed or suspended
|
||||
|
||||
## Filing a Counter Notice
|
||||
|
||||
Clients who believe their content was wrongly removed may submit a counter notice with similar contact and justification information.
|
||||
|
||||
We will not tolerate repeated infringement and may terminate accounts accordingly.
|
26
genesishostingmd/company/privacy-policy.md
Normal file
26
genesishostingmd/company/privacy-policy.md
Normal file
@ -0,0 +1,26 @@
|
||||
# Privacy Policy
|
||||
|
||||
We respect your privacy and protect your data.
|
||||
|
||||
## What We Collect
|
||||
|
||||
- Account information: name, email, billing address
|
||||
- Service usage data: IPs, access logs, system metrics
|
||||
- Communications: support tickets and emails
|
||||
|
||||
## How We Use It
|
||||
|
||||
- Service provisioning and support
|
||||
- Abuse prevention and system integrity
|
||||
- Internal analytics (not shared or sold)
|
||||
|
||||
## Data Sharing
|
||||
|
||||
- We do not sell user data
|
||||
- We may share limited data with trusted providers (e.g., payment processors)
|
||||
- Law enforcement requests must include valid legal process
|
||||
|
||||
## Data Retention
|
||||
|
||||
- User data is retained as long as the account is active
|
||||
- Backups are purged per the Backup Policy
|
24
genesishostingmd/infra/genesis-shield.md
Normal file
24
genesishostingmd/infra/genesis-shield.md
Normal file
@ -0,0 +1,24 @@
|
||||
# Genesis Shield – Security & Threat Monitoring
|
||||
|
||||
Genesis Shield is our custom-built alert and ban system, integrated across our infrastructure.
|
||||
|
||||
## Features
|
||||
|
||||
- Aggregates Fail2Ban logs across all VMs
|
||||
- Bans pushed in real-time via Mastodon DM and Telegram
|
||||
- Scripts track:
|
||||
- Repeated SSH failures
|
||||
- API abuse
|
||||
- Web panel brute force attempts
|
||||
|
||||
## Interfaces
|
||||
|
||||
- Terminal dashboard for live bans/unbans
|
||||
- Role-based control (root/admin only)
|
||||
- Daily threat summary via Mastodon bot
|
||||
|
||||
## Roadmap
|
||||
|
||||
- WHMCS integration for abuse tickets
|
||||
- Live threat map by country/IP
|
||||
- REST API for admin toolkit
|
25
genesishostingmd/infra/infra-maintenance-windows.md
Normal file
25
genesishostingmd/infra/infra-maintenance-windows.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Maintenance Window Policy
|
||||
|
||||
To maintain consistency and reduce customer impact, we adhere to a strict maintenance schedule.
|
||||
|
||||
## Standard Window
|
||||
|
||||
- **Every Sunday, 7 PM – 9 PM Eastern**
|
||||
- Non-emergency changes must occur during this window
|
||||
|
||||
## What’s Allowed
|
||||
|
||||
- OS & kernel updates
|
||||
- Docker/image upgrades
|
||||
- ZFS snapshots & cleanup
|
||||
- Rolling restarts of containers
|
||||
|
||||
## Emergencies
|
||||
|
||||
- Critical security patches can bypass the window
|
||||
- All emergency changes must be logged and reviewed
|
||||
|
||||
## Notifications
|
||||
|
||||
- Posted on Mastodon at least 1 hour before the window begins
|
||||
- Clients notified via WHMCS if it will affect their service
|
25
genesishostingmd/infra/infra-monitoring-setup.md
Normal file
25
genesishostingmd/infra/infra-monitoring-setup.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Monitoring Setup
|
||||
|
||||
We use a layered monitoring approach to ensure full visibility and rapid response.
|
||||
|
||||
## Stack
|
||||
|
||||
- **Prometheus** for metrics collection
|
||||
- **Grafana** for visualization dashboards
|
||||
- **Fail2Ban** for intrusion attempts
|
||||
- **Genesis Shield** for aggregated alerts (Telegram + Mastodon)
|
||||
|
||||
## What We Monitor
|
||||
|
||||
| System | Metric Examples |
|
||||
|----------------|--------------------------------------------|
|
||||
| PostgreSQL | Replication lag, disk usage, active queries |
|
||||
| Web Servers | HTTP response time, TLS errors |
|
||||
| MinIO / Assets | Cache hit ratio, sync status |
|
||||
| Docker Hosts | Container uptime, memory pressure |
|
||||
|
||||
## Alerting
|
||||
|
||||
- Telegram: Real-time infra alerts
|
||||
- Mastodon bot: Daily summaries and status posts
|
||||
- Fallback email alerts for critical failures
|
19
genesishostingmd/infra/server-naming-convention.md
Normal file
19
genesishostingmd/infra/server-naming-convention.md
Normal file
@ -0,0 +1,19 @@
|
||||
# Server Naming Convention
|
||||
|
||||
To reduce confusion and improve clarity, we follow a clear and themed naming structure.
|
||||
|
||||
## Naming Style
|
||||
|
||||
Examples:
|
||||
|
||||
- `krang.internal` – Master backend server
|
||||
- `replica.db3.sshjunkie.com` – Staging PostgreSQL replica
|
||||
- `shredderv2` – ZFS backup server
|
||||
- `anthony` – Ansible control node
|
||||
- `nexus` – Main ZFS pool server for assets
|
||||
|
||||
## Guidelines
|
||||
|
||||
- Avoid generic names (`server1`, `host123`)
|
||||
- Use themed names (e.g., TMNT characters for core infrastructure)
|
||||
- Include environment tags where needed (`-test`, `-prod`)
|
23
genesishostingmd/infra/zfs-strategy.md
Normal file
23
genesishostingmd/infra/zfs-strategy.md
Normal file
@ -0,0 +1,23 @@
|
||||
# ZFS Strategy
|
||||
|
||||
ZFS is used across Genesis Hosting Technologies for performance, integrity, and snapshot-based backup operations.
|
||||
|
||||
## Pool Layout
|
||||
|
||||
- RAIDZ1 or mirrored vdevs depending on use case
|
||||
- Dataset naming: `genesisassets-secure`, `genesisshows-secure`, etc.
|
||||
- Dedicated pools for:
|
||||
- Mastodon media
|
||||
- Client backups
|
||||
- Internal scripts and logs
|
||||
|
||||
## Snapshots
|
||||
|
||||
- Hourly: last 24 hours
|
||||
- Daily: last 7 days
|
||||
- Weekly: last 4 weeks
|
||||
|
||||
## Send/Receive
|
||||
|
||||
- Used for offsite replication to Servarica and backup nodes
|
||||
- Verified using checksums and `zfs receive -F`
|
23
genesishostingmd/provisioning/checklist.md
Normal file
23
genesishostingmd/provisioning/checklist.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Provisioning Checklist
|
||||
|
||||
This checklist is followed every time a new service is deployed.
|
||||
|
||||
## Pre-Provisioning
|
||||
|
||||
- [ ] Verify order and payment in WHMCS
|
||||
- [ ] Confirm product mapping is correct
|
||||
- [ ] Check available server resources
|
||||
|
||||
## Provisioning
|
||||
|
||||
- [ ] Trigger appropriate script/module
|
||||
- [ ] Log provisioning result
|
||||
- [ ] Assign DNS entries if applicable
|
||||
- [ ] Generate Let’s Encrypt SSL if public-facing
|
||||
|
||||
## Post-Provisioning
|
||||
|
||||
- [ ] Send welcome email via WHMCS
|
||||
- [ ] Confirm monitoring alert is active
|
||||
- [ ] Test login credentials and endpoints
|
||||
- [ ] Label service with client ID in Grafana/Prometheus
|
22
genesishostingmd/provisioning/post-deploy-verification.md
Normal file
22
genesishostingmd/provisioning/post-deploy-verification.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Post-Deployment Verification
|
||||
|
||||
All services go through a post-deploy QA check to ensure they're live and stable.
|
||||
|
||||
## Verification Tasks
|
||||
|
||||
- [ ] Service reachable from public IP or internal route
|
||||
- [ ] DNS resolves correctly (for domains/subdomains)
|
||||
- [ ] SSL certificate is active and trusted
|
||||
- [ ] Admin login works as expected
|
||||
- [ ] Usage quotas correctly applied (disk, users, bandwidth)
|
||||
|
||||
## Monitoring
|
||||
|
||||
- [ ] Add to Prometheus for service-specific metrics
|
||||
- [ ] Set alert thresholds (e.g., disk > 80%)
|
||||
- [ ] Confirm Telegram/Mastodon alert webhook is functional
|
||||
|
||||
## Documentation
|
||||
|
||||
- [ ] Log final status in WHMCS admin notes
|
||||
- [ ] Store internal service details in `genesis-inventory.yaml`
|
23
genesishostingmd/provisioning/whmcs-integration.md
Normal file
23
genesishostingmd/provisioning/whmcs-integration.md
Normal file
@ -0,0 +1,23 @@
|
||||
# WHMCS Integration
|
||||
|
||||
WHMCS handles client billing, service provisioning, and support workflows.
|
||||
|
||||
## Services Integrated
|
||||
|
||||
| Service | Method |
|
||||
|--------------|---------------------------------|
|
||||
| DirectAdmin | Built-in WHMCS module |
|
||||
| AzuraCast | Custom provisioning script |
|
||||
| TeamTalk | API + XML user patching scripts |
|
||||
|
||||
## Auto-Provisioning Steps
|
||||
|
||||
1. Client signs up and completes payment
|
||||
2. WHMCS triggers product-specific hook
|
||||
3. Script/module provisions the service
|
||||
4. Welcome email is sent with credentials
|
||||
|
||||
## Logging & Troubleshooting
|
||||
|
||||
- Logs stored at `/var/log/whmcs-hooks.log`
|
||||
- Errors generate internal ticket automatically if provisioning fails
|
25
genesishostingmd/security/incident-response.md
Normal file
25
genesishostingmd/security/incident-response.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Incident Response Policy
|
||||
|
||||
This document defines how we detect, respond to, and report security incidents.
|
||||
|
||||
## Response Workflow
|
||||
|
||||
1. Detection via monitoring, alert, or client report
|
||||
2. Triage severity and affected systems
|
||||
3. Contain and isolate threat (e.g., suspend access)
|
||||
4. Notify stakeholders if client-impacting
|
||||
5. Perform root cause analysis
|
||||
6. Patch, re-secure, and document the event
|
||||
|
||||
## Timelines
|
||||
|
||||
- Initial triage: within 2 hours
|
||||
- Client notification (if impacted): within 24 hours
|
||||
- Final report delivered internally within 72 hours
|
||||
|
||||
## Tools Used
|
||||
|
||||
- Fail2Ban
|
||||
- Genesis Shield alerting
|
||||
- Zabbix/Prometheus incident flags
|
||||
- Manual log reviews (forensic-level)
|
24
genesishostingmd/security/logging-monitoring.md
Normal file
24
genesishostingmd/security/logging-monitoring.md
Normal file
@ -0,0 +1,24 @@
|
||||
# Logging & Monitoring Policy
|
||||
|
||||
We collect and monitor system activity to detect threats, enforce accountability, and assist in incident resolution.
|
||||
|
||||
## Log Types
|
||||
|
||||
- SSH login attempts
|
||||
- WHMCS access logs
|
||||
- AzuraCast and TeamTalk server logs
|
||||
- PostgreSQL query and connection logs
|
||||
- Fail2Ban logs (ban/unban events)
|
||||
|
||||
## Monitoring Tools
|
||||
|
||||
- Prometheus for metrics
|
||||
- Grafana dashboards for visual alerts
|
||||
- Genesis Shield (Telegram + Mastodon alerting)
|
||||
- Manual log review every 7 days
|
||||
|
||||
## Retention
|
||||
|
||||
- General logs: 30 days
|
||||
- Security-related logs: 90 days minimum
|
||||
- Logs archived to encrypted ZFS volume
|
23
genesishostingmd/security/security-encryption-standards.md
Normal file
23
genesishostingmd/security/security-encryption-standards.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Encryption Standards
|
||||
|
||||
Encryption is applied to all data in transit and at rest across Genesis Hosting Technologies infrastructure.
|
||||
|
||||
## In Transit
|
||||
|
||||
- HTTPS via TLS 1.3 (minimum TLS 1.2 for legacy fallback)
|
||||
- SFTP for all file transfers
|
||||
- SSH for all administrative access
|
||||
- rclone with TLS for object storage replication
|
||||
|
||||
## At Rest
|
||||
|
||||
- ZFS encryption on backup pools
|
||||
- PostgreSQL encryption at the database or filesystem level
|
||||
- WHMCS and DirectAdmin credentials hashed and salted
|
||||
- Backups encrypted with AES-256 before remote transfer
|
||||
|
||||
## Key Management
|
||||
|
||||
- SSH keys rotated every 6 months
|
||||
- Let's Encrypt certs auto-renew every 90 days
|
||||
- Master encryption keys stored offline and version-controlled
|
23
genesishostingmd/security/security-policy.md
Normal file
23
genesishostingmd/security/security-policy.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Security Policy
|
||||
|
||||
Genesis Hosting Technologies enforces strict security practices across all infrastructure and services to protect client data and maintain service integrity.
|
||||
|
||||
## Core Principles
|
||||
|
||||
- Least privilege for all users and services
|
||||
- Regular audits and patching
|
||||
- Encrypted communication and storage
|
||||
- Real-time monitoring and alerting
|
||||
|
||||
## Enforcement Areas
|
||||
|
||||
- 2FA required for all admin portals
|
||||
- SSH access limited to key-based logins
|
||||
- Centralized log collection and review
|
||||
- All critical assets monitored via Genesis Shield
|
||||
|
||||
## Review Cycle
|
||||
|
||||
- Policies reviewed quarterly
|
||||
- Logs retained for 30–90 days depending on system
|
||||
- Incidents reviewed post-mortem with improvements logged
|
32
genesishostingmd/services/azuracast-policy.md
Normal file
32
genesishostingmd/services/azuracast-policy.md
Normal file
@ -0,0 +1,32 @@
|
||||
# AzuraCast Streaming Policy
|
||||
|
||||
## Features
|
||||
|
||||
- Custom stream URLs (via relay or direct)
|
||||
- Icecast or SHOUTcast available
|
||||
- AutoDJ + scheduled playlists
|
||||
- Web-based file upload + schedule
|
||||
|
||||
## Plans & Limits
|
||||
|
||||
| Plan | Storage | Listeners | Bitrate |
|
||||
|----------|---------|-----------|---------|
|
||||
| StreamLite | 2 GB | 25 | 128 kbps|
|
||||
| StreamPro | 10 GB | 100 | 192 kbps|
|
||||
| StreamMax | 50 GB | 250 | 320 kbps|
|
||||
|
||||
## Fair Usage Policy
|
||||
|
||||
- No nonstop streaming of static loops to inflate uptime
|
||||
- Long-form live shows should rotate metadata periodically
|
||||
- Content must not violate copyright laws
|
||||
|
||||
## Backups
|
||||
|
||||
- Daily backups of config + playlists
|
||||
- Client media backup is optional (paid add-on)
|
||||
|
||||
## Support
|
||||
|
||||
- Stream diagnostics available in client panel
|
||||
- WHMCS ticket support for outages or playlist issues
|
27
genesishostingmd/services/directadmin-policy.md
Normal file
27
genesishostingmd/services/directadmin-policy.md
Normal file
@ -0,0 +1,27 @@
|
||||
# DirectAdmin Hosting Policy
|
||||
|
||||
## Features
|
||||
|
||||
- FTP, webmail, MySQL, file manager, and site statistics
|
||||
- Optional Let's Encrypt SSL enabled by default
|
||||
- Nightly site + database backups (7-day retention)
|
||||
|
||||
## Plans & Limits
|
||||
|
||||
| Plan | Disk | Bandwidth | Domains | Email Accounts |
|
||||
|------------|------|-----------|---------|----------------|
|
||||
| Starter | 5 GB | 100 GB | 1 | 5 |
|
||||
| Standard | 20 GB| 500 GB | 5 | 25 |
|
||||
| Unlimited | 100 GB| ∞ | ∞ | ∞ |
|
||||
|
||||
## Abuse Prevention
|
||||
|
||||
- Email rate limits applied to prevent outbound spam
|
||||
- CPU usage and inode caps enforced
|
||||
- Suspicious files scanned automatically
|
||||
|
||||
## Support
|
||||
|
||||
- Available via WHMCS ticket system
|
||||
- Response within 12 business hours
|
||||
|
22
genesishostingmd/services/domain-management-policy.md
Normal file
22
genesishostingmd/services/domain-management-policy.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Domain Management Policy
|
||||
|
||||
## Registration
|
||||
|
||||
- Domains registered through our WHMCS interface are managed via third-party registrar API
|
||||
- Registration typically completes within 5 minutes
|
||||
- WHOIS privacy included by default (where available)
|
||||
|
||||
## Renewals
|
||||
|
||||
- Auto-renew is enabled by default
|
||||
- Reminders sent 30, 7, and 1 day before expiration
|
||||
|
||||
## Transfers
|
||||
|
||||
- Domains can be transferred in or out with EPP code
|
||||
- Support required if domain is locked or expired
|
||||
|
||||
## DNS
|
||||
|
||||
- Free DNS hosting included
|
||||
- Custom DNS records managed through DirectAdmin or WHMCS panel
|
23
genesishostingmd/services/ssl-certs.md
Normal file
23
genesishostingmd/services/ssl-certs.md
Normal file
@ -0,0 +1,23 @@
|
||||
# SSL Certificate Policy
|
||||
|
||||
## Free Certificates
|
||||
|
||||
- Let’s Encrypt certificates issued automatically
|
||||
- Applies to DirectAdmin, AzuraCast, and custom subdomains
|
||||
- Auto-renews every 60 days with 30-day buffer
|
||||
|
||||
## Premium SSL
|
||||
|
||||
- Custom SSL certs (e.g., EV/OV) available for purchase
|
||||
- Requires manual install via WHMCS ticket
|
||||
|
||||
## Certificate Management
|
||||
|
||||
- Certbot used for automation
|
||||
- Custom certs must be supplied in `.crt` + `.key` format
|
||||
- Broken SSL installs may be reverted to Let’s Encrypt fallback
|
||||
|
||||
## Support
|
||||
|
||||
- Certificate issues resolved within 24h of report
|
||||
- DNS challenges supported for wildcard certs
|
26
genesishostingmd/services/teamtalk-policy.md
Normal file
26
genesishostingmd/services/teamtalk-policy.md
Normal file
@ -0,0 +1,26 @@
|
||||
# TeamTalk Hosting Policy
|
||||
|
||||
## Features
|
||||
|
||||
- Private and public servers
|
||||
- Voice chat, file sharing, push-to-talk
|
||||
- Admin access with room/channel management
|
||||
|
||||
## Plans & Limits
|
||||
|
||||
| Plan | Users | Bitrate Limit | Admin Access |
|
||||
|--------------|-------|---------------|--------------|
|
||||
| Basic Chat | 10 | 64 kbps | Yes |
|
||||
| Pro Voice | 50 | 128 kbps | Yes |
|
||||
| Broadcast+ | 100 | 256 kbps | Yes |
|
||||
|
||||
## Rules
|
||||
|
||||
- No harassment, spamming, or automated bots without permission
|
||||
- Abuse may result in temp suspension or permanent ban
|
||||
- Admins are responsible for moderating their own servers
|
||||
|
||||
## Configuration
|
||||
|
||||
- Clients may request config changes via WHMCS ticket
|
||||
- Backups of XML configs stored nightly
|
1
infra_morale.log
Normal file
1
infra_morale.log
Normal file
@ -0,0 +1 @@
|
||||
/bin/sh: 1: /home/doc/genesis-tools/infra_morale/fake_status_bot.rb: Permission denied
|
File diff suppressed because it is too large
Load Diff
@ -1119,3 +1119,15 @@ Failed to send Mastodon DM (attempt 3): {"error":"The access token is invalid"}
|
||||
Failed to send Mastodon DM (attempt 1): {"error":"The access token is invalid"}
|
||||
Failed to send Mastodon DM (attempt 2): {"error":"The access token is invalid"}
|
||||
Failed to send Mastodon DM (attempt 3): {"error":"The access token is invalid"}
|
||||
✅ Genesis Radio Healthcheck 2025-05-01 06:00:11: All systems normal.
|
||||
Failed to send Mastodon DM (attempt 1): {"error":"The access token is invalid"}
|
||||
Failed to send Mastodon DM (attempt 2): {"error":"The access token is invalid"}
|
||||
Failed to send Mastodon DM (attempt 3): {"error":"The access token is invalid"}
|
||||
✅ Genesis Radio Healthcheck 2025-05-01 06:15:12: All systems normal.
|
||||
Failed to send Mastodon DM (attempt 1): {"error":"The access token is invalid"}
|
||||
Failed to send Mastodon DM (attempt 2): {"error":"The access token is invalid"}
|
||||
Failed to send Mastodon DM (attempt 3): {"error":"The access token is invalid"}
|
||||
✅ Genesis Radio Healthcheck 2025-05-01 06:30:13: All systems normal.
|
||||
Failed to send Mastodon DM (attempt 1): {"error":"The access token is invalid"}
|
||||
Failed to send Mastodon DM (attempt 2): {"error":"The access token is invalid"}
|
||||
Failed to send Mastodon DM (attempt 3): {"error":"The access token is invalid"}
|
||||
|
Loading…
x
Reference in New Issue
Block a user