服务器 频道

如何构建安全的远程登录服务器(中)

    (5)管理SSH监听端口

    在Linux上使用广泛的SSH服务器软件sshd也提供相应的监听端口控制选项。在sshd_config(默认路径是/etc/ssh/sshd_config)文件中,Port 22是sshd监听的端口,即为连接到主机时需要使用的端口。使用以下代码可以指定sshd监听的接口地址:

    ListenAddress 192.168.0.254

    (6)关闭telnet服务

    在OPENSSH服务器一定要关闭telnet服务。如果有人通过Telnet攻击你的网络,端口号为23,SSH就不能提供安全保护,因为SSH运行在另外一个端口。一般新的Linux发行版本已经自动关闭这个服务。查看方法如下:

#cat /etc/xinetd.d/telnet
service telnet
{       disable = yes     #yes即表示关闭#
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID }


    (7)禁止 root 用户的登录SSH服务器:

    任何时候,不许 root用户 以远程联机的方式登入,所以这里建议大家直接将 root 的登入权限拿掉。所以,可以修改 /etc/ssh/sshd_config 这个档案的内容为:

[root@test root]# vi /etc/ssh/sshd_config
PermitRootLogin no      #将其改成 no  #
[root@test root]# /etc/rc.d/init.d/sshd restart  #重新启动 #

    (8)启用防火墙保护OPENSSH服务器

    SSH 和 CIPE 之类的安全服务可以用于到 LAN 服务的加密远程连接。对于拥有基于 PPP 资源(如调制解调器池或批量 ISP 帐号)的管理员来说,拨号进入可以被用来安全地避开防火墙,因为调制解调器连接是直接连接,通常位于防火墙/网关之后。 然而,对于有宽带连接的远程用户来说,你就需要制定些特殊规定。你可以配置 IPTables 接受来自远程 SSH 和 CIPE 客户的连接。例如,要允许远程 SSH 访问,你可以使用以下规则:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p udp --sport 22 -j ACCEPT

    (9)使用Protocol 2 

    如果你没有使用SSH protocol (协议)1的机会, 这里建议你关闭protocol 1的使用,因为ssh protocol 1不如protocol 2安全, 还可以有效的阻止攻击者通过修改包携带的版本banner来劫持(hijacking)启动 会话进程并降级你到protocol 1,理论上可以迫使使用ssh 1 协议来通信。你必须注释掉Protocol 2,1而使用下面的一行来代替: 

    Protocol 2 

0
相关文章