[Linux]Day23-20180521【SSH端口转发 ;sudo ;TCP_Wrappers】

【本机主题:SSH端口转发 ;sudo ;TCP_Wrappers】

复习:
    (一)CA
        1、创建私钥
        [root@Alvin ~]# (umask 077;openssl genrsa -out private/cakey.pem 4096)
        2、生成自签名证书
        [root@Alvin ~]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
        3、建数据库文件
            [root@Alvin ~]# touch /etc/pki/CA/index.txt
        4、颁发证书的编号,从 0F 开始
            [root@Alvin ~]# echo 0F > /etc/pki/CA/serial
    (二)Client
        1、创建私钥
            [root@Alvin ~]# (umask 077;openssl genrsa -out private/cakey.pem 1024)
        2、利用私钥文件生成申请文件
            [root@Alvin ~]# openssl req -new -key app.key -out app.csr
    (三)CA为Client颁发证书
        [root@Alvin ~]# openssl ca -in app.csr -out cers/app.crt -days 100


SSH端口转发
    (1)开辟一个“隧道”,封装不安全协议的数据流量
    (2)企业外网防火墙只需要打开SSH的22端口即可
        localport:内网不安全的IP和端口
        remotehost:内网不安全的IP和端口
        sshhserver
    (3)会绑定到 127.0.0.1:9527 本地端口上

实验一:借助sshserver,建立client与telnet-server的连接隧道
    一、
        [root@Alvin ~]# iptables -A INPUT 192.168.30.7 -J REJECT
        [root@Alvin ~]# yum install -y telnet-server
        [root@Alvin ~]# systemctl start telnet.socket
    二、
        [root@Alvin ~]# ss -ntl
        [root@Alvin ~]# ssh -L 9527:192.168.30.17 -Nf 192.168.30.6
        //f:后台执行,退出必须靠“杀进程”
    三、
        [root@Alvin ~]# telnet 127.0.0.1 9527

实验二:
    一、
        [root@Alvin ~]# iptables -vnL
        [root@Alvin ~]# ssh -R 9527:192.168.30.17:23:192.168.30.7
        [root@Alvin ~]# ss -ntl
    二、
        [root@Alvin ~]# ?

动态端口转发

实验:
    一、
        [root@Alvin ~]# yum install httpd
        [root@Alvin ~]# echo www.google.com > /var/www/html/index.html
        [root@Alvin ~]# iptables -A INPUT 192.168.30.7 -J REJECT
    二、
        [root@Alvin ~]# 
    三、
        [root@Alvin ~]# curl --socks5 127.0.0.1:1080 192.168.30.17

SSH服务器
    【先制定安全措施,然后再去连接互联网!!!】
    (1)基于安全考虑,只面向局域网开放SSH的22端口
        [root@Alvin ~]# 
            Port 9527
            LinstenAddress 192.168.30.7
            //绑定内网主机
    (2)
        [root@Alvin ~]# ssh 172.20.0.7 -p 9527


实验:
    [root@Alvin ~]# awk '/Failed password/{ip[$(NF-3)]++}END{for(i in ip){if(ip[i]>=3)system("iptables -A INPUT -s " i " -j R REJECT")}}' /var/log/secure

SSH配置:/etc/ssh/sshd_config
    (1)只监听内网IP,拒绝外网IP的连接
        [root@Alvin ~]# iptables -A INPUT -s 192.268.30.0/24 -j ACCEPT
    (2)

    (3)超时连接

    (4)禁用DNS反向解析
        [root@Alvin ~]# sed 's/.*UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
    (5)限制可登录的用户:黑名单和白名单都有(同一用户),默认是拒绝

    (6)日志验证:记录失败连接的日志信息
        [root@Alvin ~]# lassb


实验:编译安装dropbear
    一、
        [root@Alvin ~]# 
        [root@Alvin ~]# .configure --
    二、
        [root@Alvin ~]# make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
        [root@Alvin ~]# make install
    三、
        [root@Alvin ~]# dropbear -p 9527 


AIDE:高级入侵检测环境
    (文件完整性检查、入侵检测)


sudo

    [root@Alvin ~]# vim /etc/sudoers
        root  ALL=(ALL)  ALL
    [root@Alvin ~]# export EDITOR=vim
    [root@Alvin ~]# echo "export EDITOR=vim" >> /etc/profile.d/env.sh
    [root@Alvin ~]# visudo
        wang  192.168.30.7=(root)  /bin/mount /dev/cdrom /mnt/
        //授权的用户 在哪台主机上=代表哪个用户  执行的命令(命令名写完整路径)
    //调用命令时必须精确写明 / 
    [wang@Alvin ~]$ mount /dev/cdrom /mnt/
        [root@Alvin ~]# usermod -aG "wheel" wang
        [root@Alvin ~]# gpasswd -d wheel wang
    [wang@Alvin ~]$ sudo -u root vim /etc/passwd

        CentOS7的wheel组具有管理员权限!!!【/etc/sudoers】
        %wheel  ALL=(ALL)  ALL
        //建议注释此行

    [root@Alvin ~]# cd /etc/sudoers.d/
    [root@Alvin ~]# vim mage
        mage  ALL=(wang)  ALL
        //mage代表wang用户,执行wang用户能够执行的命令
    [root@Alvin ~]# visudo -c
    //检查语法

sudo别名
    [root@Alvin ~]# vim /etc/sudoers.d/mage

TCP_Wrappers
    (1)白名单优先级高于黑名单
    (2)allow文件和deny文件都没有的规则,默认是允许

猜你喜欢

转载自www.cnblogs.com/GymUManAlvin/p/9179466.html