Edit HomeDevelopment

Cybersecurity Best Practices

Cybersecurity is super important at Wiredcraft, that’s why we have clear guidelines here helps our team stay on the same page.

Network Security

Manage and control network traffic using security rules at different levels like VPC, Subnet, and Instance.

cybersecurity-best-practices-network-security

Isolated Environments

Create separate environments for development, staging, and production by isolating them at the VPC level. Each environment has its own network segment to prevent cross-environment issues.

Action
Dedicated VPCs for each environment

Isolation of Critical Components

Keep critical systems like databases in their own subnets with tightly controlled access to prevent unauthorized entry.

Action
Segregate critical components into restricted subnets

Minimal Exposure

Protect critical components by isolating them at the instance level, limiting access to authorized users only.

Action
Expose only necessary ports (80/443) to the Internet
IP whitelisting for critical systems (e.g., admin dashboard)
Minimal exposure of protocols (SSH, ICMP, FTP)
No root access to servers
No password authentication for SSH
Monitor and alert on unusual login attempt activities

Host Security

All servers should be updated with the latest security patches and avoid to use EOL(End of Life) software/OS. Also implement proper monitoring and logging to track user activities.

For complex projects, RBAC(Role-based Access Control) is also a MUST.

Action
Update with the latest security patches
Session recording to capture all user activities

We use Teleport at Wiredcraft to manage all the access to our servers.

Data Security

Protecting data, whether stored or transmitted, is one of the core development concepts at Wiredcraft.

Secrets Management

Securely share sensitive information between teams or individuals. Enable One-Time secret sharing tools( e.g. yopass ) for temporary sharing and password management tools(e.g. bitwarden) for persistent sharing.

On the project side, manage confidential data with proven tools (use HashiCorp Vault for big/medium projects and Ansible Vault for smaller projects). Also, make sure to enable secrets scanning in the code build process and Trivy is a useful tool for that.

Action
Enable proper secrets management tools for sharing sensitive information
Integrate secrets management solutions with HashiCorp Vault or Ansible Vault
Enable secrets scanning in the code build process

Volume Protection

Use strong encryption methods like AES for local data (disk level) and cloud provider encryption features for remote data (e.g., S3 bucket).

cybersecurity-best-practices-volume-protection

Action
Encrypt all data disks for database servers using AES-256 encryption standards
Enable encryption for all data stored in cloud storage services

Data-in-Transit Protection

Use valid SSL/TLS to encrypt data sent across networks. Never use HTTP!

Action
Ensure SSL/TLS is implemented for all web and application servers

Application Security

Manage the requests/vulnerabilities at the application level to prevent unauthorized access and protect against attacks.

Gateway / WAF

Use a gateway(we like Kong) or WAF in front of the application to monitor and block malicious web traffic.

Action
Deploy a Web Application Firewall (WAF) to monitor and block malicious web traffic
Implement rate limiting on APIs to prevent abuse and potential denial-of-service attacks
Use whitelisting to allow traffic from known, secure sources and blacklist known malicious IPs for important systems

Authentication

Avoid using simple password authentication (like HTTP Basic Auth). Instead, use more secure methods like OAuth2 or OpenID Connect, or API keys/JWT tokens for application integration.

Vulnerability

Regularly scan the application for vulnerabilities and fix them in a timely manner. This includes vulnerabilities in the code, dependencies, and Docker images/OS or any other self-hosted services. cybersecurity-best-practices-vulnerability

Action
Integrate vulnerability tool(e.g. Trivy) in the build process to scan all the code
Integrate vulnerability tool in registry( e.g. Harbor ) to scan all the Docker images
Regularly check the latest CVEs and update the dependencies
Use cloud provider security tools to scan the cloud resources

Pen Testing

For all the critical applications, perform regular pen testing to identify and fix security vulnerabilities before they are exploited by attackers. We use HCL AppScan Standard and BurpSuite and following OWASP Top Ten checklist for security testing.