当前位置 主页 > 服务器问题 > Linux/apache问题 >

    linux远程访问控制怎么操作

    栏目:Linux/apache问题 时间:2021-01-22 16:01

        SSH协议(SecureShell)
     
        是一种安全通道协议,对通信数据进行了加密处理,用于远程管理。SSH是建立在应用层基础上的安全协议,较可靠,专为远程登录会话和其他网络服务提供安全性的协议。通过用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。
     
        OpenSSH服务器
     
        OpenSSH
     
        ·服务名称:sshd
     
        ·服务端主程序:/usr/sbin/sshd
     
        ·服务的配置文件:/etc/ssh/sshd_config
     
        服务监听选项
     
        ·端口号、协议版本、监听IP地址
     
        ·禁用反向解析
     
        [root@localhost~]#vi/etc/ssh/sshd_config
     
        …
     
        Port22
     
        LinstenAddress192.168.10.11(这里的IP填管理平面的IP)
     
        Protocol2
     
        UseDNSno
     
        用户登录控制
     
        ·禁用root用户、空密码用户
     
        ·限制登录验证时间、重试次数
     
        ·AllowUsers、DenyUsers
     
        sshd服务默认允许root用户登录,但在Internet中使用时是非常不安全的。普遍做法:先以普通用户远程登入,进入安全Shell环境后,根据实际需要使用su命令切换为root用户。
     
        另外,可以限制登录验证的时间及最大重试次数,若超过限制后仍未能登录则断开连接。
     
        [root@localhost~]#vi/etc/ssh/sshd_config
     
        LoginGraceTime2m
     
        MaxAuthTries6
     
        PermitEmptyPasswordsno
     
        …
     
        AllowUsersjerryadmin@61.23.24.25
     
        (AllowUsers不要与DenyUsers同时用)
     
        [root@localhost~]#systemctlrestartsshd
     
        登录验证方式
     
        ·密码验证:核对用户名、密码是否匹配
     
        ·密钥对验证:核对客户的私钥、服务端公钥是否匹配
     
        [root@localhost~]#vi/etc/ssh/sshd_config
     
        …
     
        PasswordAuthenticationyes
     
        PubkeyAuthenticationyes
     
        AuthorizedKeysFile.ssh/authorized_keys
     
        (启用密码验证、密钥对验证、指定公钥库位置)
     
        ssh命令
     
        sshuser@host远程安全登录
     
        scp远程安全复制
     
        ·scpuser@host:file1file2
     
        ·scpfile1user@host:file2
     
        sftpuser@host安全FTP上下载
     
        Xshell
     
        Window下的一款SSH客户端软件,中文。
     
        密钥对验证的SSH体系
     
        整体实现过程
     
        第一步:创建密钥对
     
        私钥文件:id_rsa
     
        公钥文件:id_rsa.pub
     
        (由客户端的用户zhangsan在本地创建密钥对)
     
        第二步:上传公钥文件id_rsa.pub
     
        第三步:导入公钥信息
     
        公钥库文件:~/.ssh/authorized_keys
     
        (导入到服务端用户lisi的公钥数据库)
     
        第四步:使用密钥对验证方式
     
        (以服务端的用户lisi的身份进行登录)
     
        在客户机中创建密钥对
     
        ·ssh-keygen命令
     
        ·可用的加密算法:RSA、ECDSA或DSA
     
        [root@localhost~]#ssh-keygen-tecdsa
     
        Generatingpublic/privateecdsakeypair.
     
        Enterfileinwhichtosavethekey(/home/zhangsan/.ssh/id_ecdsa);
     
        Createddirectory‘/home/zhangsan/.ssh’.
     
        Enterpassphrase(emptyfornopassphrase):
     
        Entersamepassphraseagain:
     
        Youridentificationhasbeensavedin/home/zhangsan/.ssh/id_ecdsa.(私钥文件位置)
     
        Yourpublickeyhasbeensavedin/home/zhangsan/.ssh/id_ecdsa.pub.(公钥文件位置)
     
        …
     
        在服务器中导入公钥文本
     
        ·将公钥文本添加至目标用户的公钥库
     
        ·默认公钥库位置:~/.ssh.authorized_keys
     
        [root@localhost~]#mkdir/home/lisi/.ssh/
     
        [root@localhost~]#cat/tmp/id_ecdsa.pub>>/home/lisi/.ssh/authorized_keys
     
        [root@localhost~]#tail-1/home/.ssh/authorized_keys
     
        ecdsa-sha2-nistp256
     
        AAAA2VjZHnLXNoYTlybmlzdHAyNTYAAAAlbmlzdHAyNTYAAABBBLJSnBhscY
     
        BfnnHxSYAJEBD4sNkTLMF7itcFGM33RdeXU89QNQkNmCrCJHzAIZURrzpXG6M
     
        p62mz9gRUXnARk8s=zhangsan@localhost
     
        验证密码后,会将公钥自动添加到目标主机user宿主目录下的.ssh/authorized_keys文件结尾
     
        [zhangsan@localhost~]#ssh-copy-id~/.ssh/id_rsa.publisi@172.16.16.22
     
        ssh服务支持两种验证方式——密码验证、密码对验证,可以设置只使用其中一种方式,也可以两种方式都启用。
     
        ·密码验证:对服务器中本地系统也能够的登录名称、密码进行验证。这种方式最为简单,但从客户端角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时防御能力比较弱。
     
        ·密钥对验证:要求提供相匹配的秘钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,大大增强了远程管理的安全性,该方式不易被假冒,且可以免交互登录,在Shell中被广泛使用。
     
        TCPWrappers
     
        保护机制的实现方式
     
        ·方式一:通过tcpd程序对其他服务程序进行包装
     
        ·方式二:由其他服务程序调用libwrap.so.*链接库
     
        访问控制策略的配置文件
     
        ·/etc/hosts.alow
     
        ·/etc/hosts.deny
     
        设置访问控制策略
     
        ·策略格式:服务程序列表:客户端地址列表
     
        ·服务程序列表:多个服务以逗号分隔,ALL表示所有服务
     
        ·客户端地址列表:
     
        多个地址以逗号分隔,ALL表示所有地址;
     
        允许使用通配符?和*;
     
        网段地址,如192.168.4.或者192.168.4.0/255.255.255.0;
     
        区域地址,如.benet.com
     
        策略应用顺序
     
        1.检查hosts.allow,找到匹配则允许访问
     
        2.再检查hosts.deny,找到则拒绝访问
     
        3.若两个文件中均无匹配策略,则默认允许访问
     
        策略应用实例
     
        ·仅允许从以下地址访问sshd服务
     
        主机61.63.65.67
     
        网段192.168.2.0/24
     
        ·禁止其他所有地址访问受保护的服务
     
        [root@localhost~]#vi/etc/hosts.allow
     
        ssd:61.63.65.67,192.168.2.*
     
        [root@localhost~]#vi/etc/hosts.deny
     
        sshd:ALL