HCRM博客

CentOS系统下PPTP服务关闭指南

如何安全关闭CentOS上的PPTP服务

PPTP(点对点隧道协议)因其已知的安全漏洞(如MS-CHAPv2的缺陷),已不再被视为安全的VPN解决方案。 若您的CentOS服务器仍在运行PPTP服务,出于安全加固的考虑,立即关闭它是非常必要的操作,以下是清晰、安全的关闭步骤:


第一步:停止正在运行的PPTP服务

  1. 连接到您的CentOS服务器
    使用SSH工具(如PuTTY、OpenSSH客户端)以管理员权限(root或具有sudo权限的用户)登录服务器。

    CentOS系统下PPTP服务关闭指南-图1
  2. 停止pptpd服务
    PPTP服务在CentOS上通常由pptpd守护进程提供,执行以下命令立即停止它:

    sudo systemctl stop pptpd

    或(对于较旧的SysVinit系统):

    sudo service pptpd stop

第二步:禁止PPTP服务开机自启

仅停止服务不会防止它在下次服务器重启时自动运行,需禁用其自启:

sudo systemctl disable pptpd

或(SysVinit):

sudo chkconfig pptpd off

验证是否禁用成功:

sudo systemctl is-enabled pptpd

如果输出是 disabled,表示设置成功。

CentOS系统下PPTP服务关闭指南-图2

第三步:检查并终止相关进程(可选但推荐)

有时服务停止后,残留进程可能仍在监听端口,彻底检查:

sudo netstat -tulnp | grep ':1723\b'

sudo ss -tulnp | grep ':1723\b'

查找仍在监听TCP 1723端口(PPTP默认控制端口)的进程,如果发现进程ID(PID),使用kill命令终止:

sudo kill -9 <PID>

第四步:配置防火墙阻止PPTP流量(关键步骤)

即使服务停止,防火墙若开放端口,外部仍可尝试连接。必须封锁相关端口:

  1. 如果使用firewalld (CentOS 7/8/Stream 默认):

    sudo firewall-cmd --permanent --remove-service=pptp  # 移除预定义的pptp服务规则
    sudo firewall-cmd --permanent --remove-port=1723/tcp # 直接移除TCP 1723端口
    sudo firewall-cmd --permanent --remove-port=47/tcp   # 移除GRE协议对应的端口(协议号47,常被误标为TCP/UDP端口,实际是IP协议)
    sudo firewall-cmd --reload  # 重载防火墙配置使更改生效

    重要提示:firewalldpptp服务定义通常同时包含1723/tcpgre协议(IP协议47),上述命令确保两者均被移除。

    CentOS系统下PPTP服务关闭指南-图3
  2. 如果使用iptables (CentOS 6 或 显式使用): 查找并删除允许PPTP的规则(通常涉及TCP 1723和GRE协议47):

    sudo iptables -L INPUT -nv --line-numbers  # 仔细查看INPUT链规则

    找到目标为ACCEPT且涉及dpt:1723proto gre的规则,记录其行号,然后删除:

    sudo iptables -D INPUT <行号>

    永久生效: 修改/etc/sysconfig/iptables文件(CentOS 6)或使用iptables-save > /etc/sysconfig/iptables(CentOS 7+ 如使用iptables服务)保存规则。操作防火墙规则前务必备份!


第五步:确认PPTP服务已彻底关闭

执行最终检查:

  1. 检查服务状态:
    sudo systemctl status pptpd

    应显示 inactive (dead)disabled

  2. 检查端口监听:
    sudo netstat -tulnp | grep -E ':1723|pptpd'
    sudo ss -tulnp | grep -E ':1723|pptpd'

    应无任何与1723端口或pptpd进程相关的输出。

  3. 测试外部连接(谨慎):
    从外部网络尝试连接服务器的公网IP地址的1723端口(可使用telnet <your-server-ip> 1723),如果连接被拒绝或超时,说明端口已成功关闭。测试后请结束telnet会话。

常见问题解答 (Q&A)

  • Q:关闭PPTP后,现有的VPN连接会怎样?
    A:当pptpd服务被停止时,所有通过该服务建立的现有PPTP VPN连接将立即中断。

  • Q:我需要卸载pptpd软件包吗?
    A:停止并禁用服务、封锁防火墙端口后,服务已不可用,卸载可进一步减少潜在攻击面(sudo yum remove pptpd),但如果您未来可能临时需要,保留软件包但确保服务彻底关闭也是可接受的。

  • Q:关闭后如何重新启用PPTP?
    A:强烈不建议重新启用。 若必须:1) sudo systemctl enable pptpd 2) sudo systemctl start pptpd 3) 在防火墙重新开放TCP 1723端口和GRE协议(IP 47)。请务必评估安全风险!

  • Q:PPTP关闭了,我应该用什么替代?
    A:强烈建议迁移到更安全的VPN协议:

    • OpenVPN: 开源、灵活、强加密,配置稍复杂但社区支持完善。
    • IPsec (L2TP/IPsec 或 IKEv2): 标准协议,现代操作系统原生支持,安全性好。
    • WireGuard: 新兴协议,高性能、代码简洁、加密先进,配置相对简单。

维护服务器安全是持续的过程,及时淘汰已知存在严重缺陷的服务(如PPTP),迁移至经过严格验证的现代替代方案(如OpenVPN, WireGuard, IPsec),是保障服务器与用户数据免受威胁的基础措施。 定期审查运行中的服务与开放的端口,是每个负责任的系统管理员工作的重要部分。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/35365.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~