今天本打算练练防火墙iptables的东西,本想拿telnet的23号端口练手,没想到在敲实验的时候遇到了些曲折,经过一番努力,把本次实验过程生成文档。

实验环境:rhel5.6及系统盘

实验目的:通过iptables对telnet服务23号端口禁用与放行

实验过程:

1.首先关掉selinux与停止iptables服务,搭建与配置telnet。

wKioL1NWD67zcr-GAAMf37Wo82Q133.jpg

本次实验telnet服务器地址是192.168.65.129,如上图显示。

安装telnet软件包,在服务器上一定要安装telnet-server,通常安装两个:一个是telnet(或者telnet-client)另一个是telnet-server。

wKioL1NWEHGj4mG1AADHWEgLUaA510.jpg

如上图,经过查询本linux系统没有安装telnet-server

wKioL1NWEOKSdfbeAAJZDpUrS4U367.jpg

telnet服务和其他服务(比如http)有点区别,在开启telnet时不可以这样 service telnet start打开,telnet服务是在xinetd.d服务里面的,由于xinetd.d服务是系统自启动的,所以只需重启即可,但是到这里重启xinet.d服务没用,需要做个简单的设置一下,也就是编辑/etc/xinetd.d/telnet文件,将里面的disable=yes改成disable=no即可,或者使用ntsysv,在出现的窗口中,将telnet前面*加上,点确定也可以。

wKiom1NWExnBBVhcAAGt2JZFSvY221.jpg

# service xinetd restart        //重启xinetd服务,这里就是打开激活telnet服务

在本telnet服务器上新建账户test做测试用

wKiom1NWFEKwWDotAAFLaWoK4I0621.jpg

在另外一台机器上测试telnet服务:

wKioL1NWFGrj6rHVAAFGf7MUP4k308.jpg

测试成功。要注意:telnet不是很安全,默认不允许root以telnet进入linux主机,若要允许root用户直接登入,可以这样操作:在telnet服务器linux主机上执行:#mv /etc/securetty /etc/securetty.bak,这样root就可以直接以telnet进入linux主机了。但是,不建议这么做,因为普通用户telnet后,可以切换到root,同样拥有root权限。

默认只允许普通用户用telnet登入。

设置telnet端口:

#vi /etc/services      //进入编辑模式后找到telnet,将23修改成未使用的端口号(比如3000),退出vi重启telnet,telnet默认的端口号就被修改了。

wKioL1NWFuaDgmLfAACPt9_OK9Y581.jpg

对telnet服务进行限制:

telnet是明文传送口令和数据的,如果对默认的设置不满意,可以对其服务范围进行限制,在这里我的telnet服务器住址ip是192.168.65.129,现做如下设置:

# vi /etc/xinetd.d/telnet

wKiom1NWGGqxxKMgAAGYnqSf7TI128.jpg

上图下面两行的bind和only_from是我添加的,意思就是只允许192.168.65.151telnet,别的机器无法telnet,如下图:

wKiom1NWGRHS2cyGAAMd6l88k-c328.jpg

即客户机192.168.65.151可以telnet,再看:

wKioL1NWGezw3MJ2AAH1ILHgewg648.jpg

如上图,我又在telnet服务器编辑了/etc/xinetd.d/telnet文件,编辑只允许192.168.65.1telnet,别的机器无法telnet,上图绿色终端ip为192.168.65.1,黑色终端ip为192.168.65.151,结果表明192.168.65.151无法telnet,而192.168.65.1可以telnet。

也可以对/etc/xinetd.d/telnet文件做如下配置:


#vi /etc/xinetd.d/telnet

service telnet

{

disable     = no #激活 telnet 服务,no

bind       = 210.45.160.17 #your ip

only_from    = 210.45.0.0/16 #只允许 210.45.0.0 ~ 210.45.255.255 这个网段进入

only_from    = .edu.cn #只有教育网才能进入!

no_access    = 210.45.160.{115,116} #这两个ip不可登陆

access_times  = 8:00-12:00 20:00-23:59 # 每天只有这两个时间段开放服务

......

}

到这里,telnet服务已经配置完成,下面打开linux防火墙,对telnet进行过滤,现在将/etc/xinetd.d/telnet文件恢复默认设置。
2、打开iptables服务,对telnet进行过滤:

# service iptables start

查看当前防火墙规则:

wKioL1NWHh7AdromAAPKyM7Jdec319.jpg

查看telnet端口号,发现是本地是23,远程是107,都将其开启:

wKioL1NWHoiid8zVAALIHwliGGk668.jpg

#iptables -A INPUT -p tcp --dport 107 -j ACCEPT

#iptables -A OUTPUT -p tcp --sport 107 -j ACCEPT

#iptables -A INPUT -p tcp --dport 23 -j ACCEPT

#iptables -A OUTPUT -p tcp --sport 23 -j ACCEPT

#service iptables save        //保存规则