问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

CentOS端口安全攻略:从基础配置到最佳实践

创作时间:
作者:
@小白创作中心

CentOS端口安全攻略:从基础配置到最佳实践

引用
CSDN
12
来源
1.
https://blog.csdn.net/weixin_55159054/article/details/145205633
2.
https://blog.csdn.net/weixin_40833770/article/details/140861644
3.
https://blog.csdn.net/mshxuyi/article/details/136321043
4.
https://blog.csdn.net/qq_38935727/article/details/142780236
5.
https://blog.csdn.net/hjx020/article/details/125045937
6.
https://blog.csdn.net/wangji5487/article/details/102620015
7.
https://blog.csdn.net/m0_51195633/article/details/137019093
8.
https://idevebi.com/docs/centos9/ssh-service-configuration-and-usage.html
9.
https://www.zhujipingjia.com/centos-firewalld.html
10.
https://help.fanruan.com/finereport-tw/doc-view-235.html
11.
https://www.cnblogs.com/huangjiabobk/p/18123389
12.
https://developer.aliyun.com/article/1478048

随着互联网的快速发展,服务器安全问题日益凸显。作为Linux发行版中的佼佼者,CentOS凭借其稳定性和安全性,成为众多服务器管理员的首选。然而,即便是CentOS,也需要合理的安全配置才能抵御日益复杂的网络攻击。本文将从端口安全的角度,为您详细介绍如何在CentOS系统中进行端口管理和防火墙配置,帮助您构建一个更加安全的网络环境。

01

端口安全基础

在讨论端口安全配置之前,我们先来了解一下什么是端口以及为什么需要关注端口安全。

什么是端口?

在网络通信中,端口是应用程序访问传输协议(如TCP/IP)进行数据传输的逻辑通道。每个端口都有一个编号,范围从0到65535。其中,0-1023的端口是系统保留端口,通常用于标准服务,如HTTP(80)、HTTPS(443)、SSH(22)等。

为什么需要关注端口安全?

端口是黑客入侵服务器的重要入口。通过扫描开放的端口,黑客可以发现服务器上运行的服务类型,进而寻找漏洞进行攻击。因此,合理配置端口访问权限,关闭不必要的端口,是保障服务器安全的第一步。

常见的端口扫描工具

Nmap是一款广泛使用的开源网络扫描工具,可以用来检测目标主机的开放端口。以下是Nmap的一些基本用法:

  • 扫描单个主机的所有TCP端口:
nmap -sS <主机IP>
  • 扫描单个主机的特定端口:
nmap -p <端口号> <主机IP>
  • 扫描整个网络中的存活主机:
nmap -sP <网络地址>/24

02

防火墙配置

防火墙是保护服务器安全的重要屏障,它可以监控和控制进出服务器的网络流量。CentOS 6及更早版本使用iptables,而CentOS 7及以上版本则使用firewalld。

iptables配置

iptables是一个强大的防火墙工具,通过设置规则链来控制网络流量。以下是一些基本的iptables命令:

  • 查看当前防火墙规则:
iptables -L
  • 清除所有规则:
iptables -F
  • 开放指定端口:
iptables -A INPUT -p tcp --dport <端口号> -j ACCEPT
  • 屏蔽特定IP:
iptables -I INPUT -s <IP地址> -j DROP

firewalld配置

firewalld是CentOS 7及更高版本的默认防火墙管理工具,它提供了更灵活的区域(zones)和服务(services)管理功能。

  • 启动并启用firewalld服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
  • 查看当前防火墙状态:
sudo firewall-cmd --state
  • 添加端口规则:
sudo firewall-cmd --zone=public --add-port=<端口号>/tcp --permanent
sudo firewall-cmd --reload
  • 添加富规则(允许特定IP访问特定端口):
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="<代理IP>" port protocol="tcp" port="<端口号>" accept' --permanent
sudo firewall-cmd --reload

03

SSH服务安全配置

SSH(Secure Shell)是用于远程管理Linux服务器的常用协议,默认使用22端口。为了提高安全性,建议对SSH服务进行以下配置:

修改默认端口

将SSH服务的默认端口从22更改为其他端口,可以有效减少自动化攻击的风险。编辑SSH配置文件:

sudo vim /etc/ssh/sshd_config

找到以下行并修改端口号:

#Port 22
Port 2222

保存并重启SSH服务:

sudo systemctl restart sshd

禁用root登录

直接使用root账户登录存在较大风险,建议禁用root登录并使用普通用户通过sudo获取管理员权限。编辑SSH配置文件:

sudo vim /etc/ssh/sshd_config

找到以下行并修改:

#PermitRootLogin yes
PermitRootLogin no

保存并重启SSH服务:

sudo systemctl restart sshd

配置密钥认证

使用SSH密钥认证可以提高安全性。首先在客户端生成SSH密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

然后将公钥复制到服务器:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_address

最后,禁用密码认证。编辑SSH配置文件:

sudo vim /etc/ssh/sshd_config

找到以下行并修改:

#PasswordAuthentication yes
PasswordAuthentication no

保存并重启SSH服务:

sudo systemctl restart sshd
04

其他安全措施

除了上述端口管理和SSH配置外,还有一些其他的安全措施值得推荐:

  1. 设置密码复杂度策略:编辑/etc/pam.d/system-auth文件,添加或修改密码复杂度要求。

  2. 监控系统日志:定期检查/var/log/secure/var/log/messages等日志文件,及时发现异常登录尝试。

  3. 最小化安装原则:只安装必要的软件包,减少潜在的安全漏洞。

  4. 定期更新系统:及时应用系统补丁和安全更新。

05

最佳实践总结

为了帮助您更好地实施CentOS端口安全配置,以下是一个简要的安全配置检查清单:

  1. 使用Nmap等工具定期扫描开放端口,确保没有意外开放的端口。

  2. 根据实际需求配置防火墙规则,只开放必要的端口。

  3. 将SSH服务端口更改为非标准端口,并禁用root登录。

  4. 使用SSH密钥认证替代密码认证。

  5. 设置合理的密码复杂度策略。

  6. 定期检查系统日志,监控异常登录尝试。

  7. 遵循最小化安装原则,只安装必要的软件包。

  8. 定期更新系统,应用最新安全补丁。

通过以上配置和措施,您可以显著提高CentOS系统的安全性,降低被黑客入侵的风险。记住,安全是一个持续的过程,需要定期检查和更新您的安全策略。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号