我是靠谱客的博主 认真寒风,最近开发中收集的这篇文章主要介绍关闭不必要的端口和服务-CentOS,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先要检测一下哪些端口是开放的:

运行: netstat -tunlp

在我的CentOS 6主机上的结果如下:

1Active Internet connections (only servers)
2Proto Recv-Q Send-Q Local Address Foreign Address State    PID/Program name
3tcp   0 0           0.0.0.0:3306  0.0.0.0:*       LISTEN   1760/mysqld
4tcp   0 0           0.0.0.0:22    0.0.0.0:*       LISTEN   907/sshd
5tcp   0 0           127.0.0.1:25  0.0.0.0:*       LISTEN   983/master
6tcp   0 0           0.0.0.0:21    0.0.0.0:*       LISTEN   2280/vsftpd
7tcp   0 0           :::80         :::*            LISTEN   28671/httpd
8tcp   0 0           :::22         :::*            LISTEN   907/sshd
9tcp   0 0           ::1:25        :::*            LISTEN   983/master
10tcp   0 0           :::21         :::*            LISTEN   2280/vsftpd

可以看到这个linux服务器上4个端口是开放的。– 前4条是IPv4的表示, 后面4条是给IPv6用的。
其中25号端口只有本地(127.0.0.1)才可以连接。
sshd 当然不能关闭,否则无法ssh登录了。
mysqld也不可一关闭,否则数据库就无法连接了。

但FTP(vsftp)应该是不需要的, 几乎在所有的情况下,都可以用SFTP (SSH FTP)来代替传统的FTP。因此我们需要把ftp服务关闭。

1chkconfig vsftp off
2 
3/etc/init.d/vsftp stop

如果你的列表中有服务是你不希望开放的,你可以通过service xxx stop 以及 chkconfig来关闭这些服务

但有个问题,我希望mysql只接收localhost的连接,拒绝任何外部连接。如何设置呢?
最简单的方法: 通过设置/etc/my.cnf来实现:
在my.cnf配置文件中[mysqld]部分加上

1bind-address=127.0.0.1

然后 重新启动mysqld 的服务。

1sudo /etc/init.d/mysqld restart

我们再次运行 netstat -tunlp ,结果如下

查看源代码
 
打印 帮助
1Active Internet connections (only servers)
2Proto Recv-Q Send-Q Local Address Foreign Address State    PID/Program name
3tcp   0 0           127.0.0.1:3306  0.0.0.0:*       LISTEN   1760/mysqld
4tcp   0 0           0.0.0.0:22    0.0.0.0:*       LISTEN   907/sshd
5tcp   0 0           127.0.0.1:25  0.0.0.0:*       LISTEN   983/master
6tcp   0 0           :::80         :::*            LISTEN   28671/httpd
7tcp   0 0           :::22         :::*            LISTEN   907/sshd
8tcp   0 0           ::1:25        :::*            LISTEN   983/master

这表明Mysql目前确实只监听 来自localhost(127.0.0.1)的请求了。

是不是这样可以了呢? 那防火墙还有没有必要设置了呢?
事实上,这样设置并没有彻底向外界关闭3306端口, 一些端口探测工具仍然会检测到你的服务器上的3306端口是OPEN的,并可以向这个端口发包,只是这些试图连接和攻击的数据包会被mysql服务拒绝而已。 因此我们还是需要配置相应的防火墙来彻底阻断外界的攻击。

转载于:https://www.cnblogs.com/Bob-zwj/p/8194299.html

最后

以上就是认真寒风为你收集整理的关闭不必要的端口和服务-CentOS的全部内容,希望文章能够帮你解决关闭不必要的端口和服务-CentOS所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部