一、设置ssh服务
SSH是一种加密的网络传输协议,可以确保数据在网络中的传输过程中是安全的。设置SSH服务可以大大提高服务器的安全性。
1、禁用root用户远程登录
# 修改/etc/ssh/sshd_config文件将PermitRootLogin yes改为PermitRootLogin no PermitRootLogin no
2、修改默认SSH端口号
# 修改/etc/ssh/sshd_config文件将#Port 22改为Port 2222 Port 2222
3、启用ssh服务
# CentOS系统上的命令 systemctl start sshd.service systemctl enable sshd.service # Ubuntu系统上的命令 sudo service ssh restart
二、安装fail2ban
fail2ban是一款可以保护 SSH 服务器,邮件服务器和其他服务,防止被暴力破解的工具。如果某个 IP 地址在短时间内多次尝试连接服务器,fail2ban会自动封锁它的访问。
1、安装fail2ban
# CentOS系统上的命令 yum update yum install epel-release yum install fail2ban # Ubuntu系统上的命令 sudo apt update sudo apt install fail2ban
2、修改fail2ban配置文件
# 修改/etc/fail2ban/jail.conf文件将ignoreip前面的#号去掉,并加上你的IP地址,以允许自己的IP访问。 [DEFAULT] ignoreip = 127.0.0.1 192.168.1.1
3、启用fail2ban服务
# CentOS系统上的命令 systemctl start fail2ban systemctl enable fail2ban # Ubuntu系统上的命令 sudo service fail2ban restart
三、设置iptables
iptables是Linux下的防火墙软件,可以设置各种规则,来对服务器进行网络访问控制。
1、禁止不必要的端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp --dport 2222 -j ACCEPT iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -j DROP
2、保存iptables规则
# CentOS系统上的命令 service iptables save # Ubuntu系统上的命令 sudo apt install iptables-persistent iptables-save > /etc/iptables/rules.v4
四、设置SELinux
SELinux是Linux内核中的一项安全模块,可以提供强制访问控制(MAC)安全机制。
1、查看SELinux状态
sestatus -v
2、禁用SELinux
# 修改/etc/sysconfig/selinux文件将SELINUX=enforcing改为SELINUX=disabled SELINUX=disabled
五、其他建议
1、定期更新软件包和系统内核
2、使用强密码,并周期性更换密码
3、不使用FTP服务,改为使用SFTP或SCP进行文件传输
4、禁止root用户通过SSH登录,普通用户可以登录后再升级到root用户进行操作