Learn how to keep your SLYD resources secure and protected with these proven security practices.
SLYD is built with security as a foundational principle, but securing your resources is a shared responsibility. This guide provides best practices for maximizing the security of your compute resources, applications, and data.
Your SLYD account is the gateway to all your compute resources. Securing it is your first line of defense.
Enable multi-factor authentication (MFA) for all users in your organization.
slyd account mfa enable --user=all
Configure MFA to use an authenticator app rather than SMS when possible for higher security.
Assign the minimum necessary permissions to each user based on their role.
slyd permissions create --role="data-scientist" \
--allow="instances:read,instances:create" \
--deny="billing:*,instances:delete"
Follow the principle of least privilege by giving users only the permissions they need to perform their tasks.
Establish a regular schedule for rotating API keys to minimize the impact of potential key exposure.
# List current API keys
slyd api-keys list
# Create a new key
slyd api-keys create --name="project-x-$(date +%Y-%m-%d)"
# Transition your applications to use the new key, then delete the old one
slyd api-keys delete --id=old-key-id
Protect your compute instances against unauthorized access and potential vulnerabilities.
Use SSH keys for authentication and disable password-based login.
# When creating a new instance, specify your SSH key
slyd instance create --type=cpu-standard --ssh-key=~/.ssh/id_rsa.pub
# For existing instances, disable password authentication
slyd instance exec my-instance "sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config && sudo systemctl restart sshd"
Consider using SSH certificates for enhanced security and easier key management in larger organizations.
Regularly update the operating system and installed software to patch security vulnerabilities.
# Update all instances in a project
slyd instance exec-all --project=my-project "sudo apt update && sudo apt upgrade -y"
# Or schedule regular updates using the SLYD scheduler
slyd scheduler create --name="weekly-updates" \
--schedule="0 2 * * 0" \
--command="instance exec-all --project=my-project 'sudo apt update && sudo apt upgrade -y'"
Configure firewall rules to restrict traffic to only the necessary ports and sources.
# Allow SSH only from specific IP ranges
slyd firewall create --instance=my-instance \
--allow-ssh-from="192.168.1.0/24,10.0.0.0/8"
# Open specific port for an application
slyd firewall allow --instance=my-instance \
--port=8080 --protocol=tcp --source="0.0.0.0/0"
Use SLYD's secure tunneling feature for sensitive applications rather than exposing them directly to the internet.
Enable disk encryption for instances that store sensitive information.
# Create an instance with encrypted storage
slyd instance create --type=gpu-standard \
--name=ml-training \
--disk-encryption=aes256
Do not store encryption keys or sensitive credentials in your instance's user data or in unencrypted files.
Secure the applications running on your SLYD infrastructure with these best practices.
Integrate security testing into your CI/CD pipeline to catch vulnerabilities before deployment.
Consider implementing a secure code review process for critical components.
Use SLYD's built-in secrets management to securely store and access sensitive information.
# Store a secret
slyd secrets create --name="db-password" --value="my-secure-password"
# Use the secret in your application
slyd instance exec my-instance \
"export DB_PASSWORD=$(slyd secrets get db-password) && ./start-app.sh"
Never hardcode secrets in your application code or store them in configuration files.
Follow container security best practices when deploying containerized applications.
# Deploy a container with security constraints
slyd container deploy --image=my-app:latest \
--non-root --read-only-fs \
--memory-limit=512M --cpu-limit=1.0
Protect your data with proper storage, access controls, and encryption.
Classify your data based on sensitivity and apply appropriate security controls.
Implement encryption for data at rest and in transit.
# Create an encrypted storage volume
slyd storage create --name=sensitive-data \
--size=100G --encryption=aes256 \
--attach-to=my-instance --mount-point=/data
Implement policies for secure data handling throughout its lifecycle.
# Set up automatic data retention policies
slyd storage policy create --volume=sensitive-data \
--retention-period=90d \
--deletion-method=secure-wipe
Remember that proper data deletion is a legal requirement in many jurisdictions, especially for personal data.
Detect security threats early and respond effectively with these practices.
Set up comprehensive monitoring to detect potential security incidents.
# Enable enhanced security monitoring
slyd monitoring create --name=security-alerts \
--type=security --level=enhanced \
[email protected]
Configure detailed logging to support security monitoring and incident investigation.
# Set up centralized logging
slyd logging configure --instance=* \
--level=detailed \
--retention=90d \
--forward-to=log-aggregator
Consider using SLYD's integration with popular SIEM solutions for advanced log analysis.
Develop and practice an incident response plan to handle security breaches.
Develop response procedures, define roles, and set up necessary tools.
Identify and confirm security incidents through monitoring and alerts.
Isolate affected systems to prevent further damage.
# Isolate a compromised instance
slyd network isolate --instance=compromised-instance
# Create a forensic snapshot before remediation
slyd snapshot create --instance=compromised-instance \
--name=forensic-$(date +%Y%m%d) --forensic-mode
Remove the threat and address vulnerabilities.
Restore systems to normal operation.
Review the incident, document lessons learned, and improve security.
Regularly test your incident response plan through simulations or tabletop exercises.
Ensure your SLYD resources meet relevant compliance requirements.
SLYD supports various compliance requirements, but you'll need to configure your resources appropriately.
Use SLYD's compliance templates to quickly configure resources according to specific framework requirements.
# Apply HIPAA compliance template to an instance
slyd compliance apply --template=hipaa --instance=healthcare-app
Maintain thorough documentation and conduct regular security audits.
# Generate a compliance report
slyd compliance report --framework=pci-dss \
--period="last-quarter" --output=pdf \
[email protected]
Explore these resources to further enhance your security posture.
Central hub for security features, best practices, and tools.
Visit Security CenterDetailed documentation on SLYD's security architecture and features.
Read WhitepapersThird-party security tools and services that integrate with SLYD.
Explore PartnersWe're constantly improving our documentation. Let us know how we can make it better!