Server Guides: Difference between revisions
Initial |
fixed formatting Tag: wikieditor |
||
Line 5: | Line 5: | ||
== Community Server Guides == | == Community Server Guides == | ||
* [[matrix-server-guide|Matrix Server Guide]] | |||
* [[ssh-keys|Create SSH Keys]] | |||
* [[Service%20-%20storage%20-%20Nextcloud|Service - Storage - Nextcloud]] | |||
* [[Authentik%20Installation|Authentik Installation]] | |||
* [[setting%20up%20cryptpad%20server|Setting Up Cryptpad Server]] | |||
<span id="best-practices-to-secure-servers-in-2024"></span> | <span id="best-practices-to-secure-servers-in-2024"></span> | ||
== Best Practices to Secure Servers in 2024 == | == Best Practices to Secure Servers in 2024 == | ||
Source: | Source: | ||
* [https://www.reddit.com/r/linuxadmin/comments/1an0vqp/best_practice_to_secure_servers_in_2024/ Best practice to secure servers in 2024] | |||
* [https://madaidans-insecurities.github.io/guides/linux-hardening.html Madaidans Insecurities Linux Hardening Guide] | |||
* [https://www.cyberciti.biz/tips/linux-security.html Cyberciti Linux Security Tips] | |||
<span id="general-security-practices"></span> | <span id="general-security-practices"></span> | ||
=== General Security Practices === | === General Security Practices === | ||
* '''No Root Login''': Disable root login to enhance security. | |||
* '''SSH Keys with Password''': Use SSH keys with a passphrase and disable password login. | |||
* '''VPN Access''': Require VPN access to reach the SSH server. | |||
* '''Firmware and Auto Updates''': Enable automatic updates for both firmware and software. | |||
* '''Firewall''': Configure a firewall to control incoming and outgoing traffic. | |||
* '''Regular Updates''': Ensure the server and all software are regularly updated. | |||
* '''Split Disks''': Separate <code>/tmp</code> and <code>/var</code> partitions with <code>noexec</code> flag. | |||
* '''Log Monitoring''': Regularly monitor server logs for suspicious activities. | |||
* '''Privilege Escalation Mitigation''': Use <code>sysctl</code> variables and kernel parameters to mitigate privilege escalation. | |||
* '''Audit''': Regularly audit the server using tools like <code>rkhunter</code> and <code>debsecan</code>. | |||
* '''Open Ports''': Only open necessary ports (e.g., 80, 443, 22). | |||
<span id="detailed-security-measures"></span> | <span id="detailed-security-measures"></span> | ||
=== Detailed Security Measures === | === Detailed Security Measures === | ||
* '''Data Encryption''': Encrypt all data communication. | |||
1. Use <code>scp</code>, <code>ssh</code>, <code>rsync</code>, or <code>sftp</code> for file transfer. | |||
2. Consider VPNs like OpenVPN or tinc for secure connections. | |||
* '''Service Management''': | |||
1. Avoid using insecure services like FTP, Telnet, and Rsh. | |||
2. Minimize installed software to reduce vulnerability. | |||
* '''Kernel and Software Updates''': | |||
1. Apply all security patches promptly. | |||
2. Consider using tools like <code>apticron</code> for Debian-based systems. | |||
* '''Linux Security Extensions''': | |||
1. Enable SELinux or other security extensions to enforce limitations on applications. | |||
* '''User Accounts and Password Policies''': | |||
1. Enforce strong password policies. | |||
2. Use tools like <code>pam_cracklib</code> to enforce password strength. | |||
3. Set up password aging policies using <code>chage</code>. | |||
* '''Fail2ban''': | |||
1. Install and configure Fail2ban to block IP addresses after failed login attempts. | |||
* '''Disable Unwanted Services''': | |||
1. Disable unnecessary services and daemons. | |||
2. Use <code>systemctl</code> to manage services on modern Linux distributions. | |||
* '''Network Security''': | |||
1. Use <code>iptables</code> or <code>firewalld</code> to manage firewall rules. | |||
2. Use tools like <code>nmap</code> to scan open ports. | |||
* '''File System Security''': | |||
1. Separate critical file systems into different partitions with appropriate mount options (<code>noexec</code>, <code>nodev</code>, <code>nosuid</code>). | |||
* '''Regular Backups''': | |||
1. Implement regular, encrypted backups to an offsite location. | |||
* '''Intrusion Detection Systems (IDS)''': | |||
1. Use tools like AIDE and RKHunter for host-based intrusion detection. | |||
* '''Secure SSH Configuration''': | |||
1. Configure SSH for maximum security (e.g., disabling root login, using SSH keys, configuring fail2ban). |
Revision as of 00:18, 10 September 2024
Server Guides
Community Server Guides
- Matrix Server Guide
- Create SSH Keys
- Service - Storage - Nextcloud
- Authentik Installation
- Setting Up Cryptpad Server
Best Practices to Secure Servers in 2024
Source:
- Best practice to secure servers in 2024
- Madaidans Insecurities Linux Hardening Guide
- Cyberciti Linux Security Tips
General Security Practices
- No Root Login: Disable root login to enhance security.
- SSH Keys with Password: Use SSH keys with a passphrase and disable password login.
- VPN Access: Require VPN access to reach the SSH server.
- Firmware and Auto Updates: Enable automatic updates for both firmware and software.
- Firewall: Configure a firewall to control incoming and outgoing traffic.
- Regular Updates: Ensure the server and all software are regularly updated.
- Split Disks: Separate
/tmp
and/var
partitions withnoexec
flag. - Log Monitoring: Regularly monitor server logs for suspicious activities.
- Privilege Escalation Mitigation: Use
sysctl
variables and kernel parameters to mitigate privilege escalation. - Audit: Regularly audit the server using tools like
rkhunter
anddebsecan
. - Open Ports: Only open necessary ports (e.g., 80, 443, 22).
Detailed Security Measures
- Data Encryption: Encrypt all data communication.
1. Usescp
,ssh
,rsync
, orsftp
for file transfer. 2. Consider VPNs like OpenVPN or tinc for secure connections.
- Service Management:
1. Avoid using insecure services like FTP, Telnet, and Rsh. 2. Minimize installed software to reduce vulnerability.
- Kernel and Software Updates:
1. Apply all security patches promptly.
2. Consider using tools like apticron
for Debian-based systems.
- Linux Security Extensions:
1. Enable SELinux or other security extensions to enforce limitations on applications.
- User Accounts and Password Policies:
1. Enforce strong password policies. 2. Use tools likepam_cracklib
to enforce password strength. 3. Set up password aging policies usingchage
.
- Fail2ban:
1. Install and configure Fail2ban to block IP addresses after failed login attempts.
- Disable Unwanted Services:
1. Disable unnecessary services and daemons.
2. Use systemctl
to manage services on modern Linux distributions.
- Network Security:
1. Useiptables
orfirewalld
to manage firewall rules. 2. Use tools likenmap
to scan open ports.
- File System Security:
1. Separate critical file systems into different partitions with appropriate mount options (noexec
,nodev
,nosuid
).
- Regular Backups:
1. Implement regular, encrypted backups to an offsite location.
- Intrusion Detection Systems (IDS):
1. Use tools like AIDE and RKHunter for host-based intrusion detection.
- Secure SSH Configuration:
1. Configure SSH for maximum security (e.g., disabling root login, using SSH keys, configuring fail2ban).