加固Linux服务器:运用命令行工具提高安全性
概述:
在当今的网络环境下,服务器安全性是至关重要的。为了保护服务器免受恶意攻击和未经授权的访问,使用命令行工具来加固Linux服务器是一个必要的步骤。本文将介绍一些常用的命令行工具,以及它们的使用方法和示例代码,帮助您提高服务器的安全性。
SSH加密传输:
SSH(Secure Shell)是一种加密的网络协议,用于远程登录和执行命令。通过使用SSH,可以防止恶意用户截取和窃听传输中的数据。以下是使用SSH生成和使用密钥对的示例代码:
生成SSH密钥对:
ssh-keygen -t rsa -b 4096
将公钥复制到远程服务器:
ssh-copy-id 用户名@IP地址
禁用密码登录(可选):
sudo vi /etc/ssh/sshd_config
找到#PasswordAuthentication yes
这一行,将其改为PasswordAuthentication no
,然后保存并退出。#PasswordAuthentication yes
这一行,将其改为PasswordAuthentication no
,然后保存并退出。
重新启动SSH服务:
sudo systemctl restart sshd
防火墙设置:
防火墙是一种网络安全设备,用于监控和控制网络上的数据流。使用防火墙可以限制服务器上的入站和出站流量,提供对恶意攻击的保护。以下是使用iptables
sudo apt-get install iptables
防火墙是一种网络安全设备,用于监控和控制网络上的数据流。使用防火墙可以限制服务器上的入站和出站流量,提供对恶意攻击的保护。以下是使用iptables
命令设置防火墙规则的示例代码:
安装iptables:
sudo touch /etc/iptables.rules sudo vi /etc/iptables.rules
创建新的防火墙规则文件:
*filter # 默认策略 :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] # 允许本地回环接口的访问 -A INPUT -i lo -j ACCEPT # 允许已经建立的、相关的连接进入 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许SSH连接 -A INPUT -p tcp --dport 22 -j ACCEPT # 允许其他必要的端口 # -A INPUT -p tcp --dport 80 -j ACCEPT # -A INPUT -p tcp --dport 443 -j ACCEPT # 允许ICMP (Ping)请求 -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # 允许限制的IP地址范围 -A INPUT -s 允许连接的IP地址/子网掩码 -j ACCEPT # 允许某个IP地址范围的访问 # -A INPUT -s 允许连接的IP地址/子网掩码 -j ACCEPT # 拒绝所有其他入站流量 -A INPUT -j DROP COMMIT
在文件中添加以下规则:
sudo iptables-restore < /etc/iptables.rules sudo touch /etc/network/if-pre-up.d/iptables sudo chmod +x /etc/network/if-pre-up.d/iptables sudo vi /etc/network/if-pre-up.d/iptables
加载防火墙规则并设置开机启动:
#!/bin/sh /sbin/iptables-restore < /etc/iptables.rules
在文件中添加以下内容:
sudo reboot
sudo tail -f /var/log/syslog
日志记录和监视是服务器安全性的重要组成部分。通过定期审查服务器日志,可以发现异常活动并采取相应措施。以下是使用常用的日志记录和监视工具的示例代码:
查看系统日志:
sudo tail -f /var/log/auth.log
查看授权用户日志:
sudo apt-get install nethogs sudo nethogs
监视网络连接:
sudo apt-get install htop sudo htop
以上是加固Linux服务器:运用命令行工具提高安全性的详细内容。更多信息请关注PHP中文网其他相关文章!