jenkins反向代理整合ldap数据header认证

    xiaoxiao2021-04-16  29

    1  jenkins用apache作为反向代理,添加报文头

    浏览器-反代-apache(添加报文头),REMOTE_USER,在jenkins服务器上去抓包,即

    tcpdump -i eth0  port 8080 -w jenkins.cap

    -i    指定监听的网络接口;

    其中:eth0为网卡

    -w    直接将包写入文件中,并不分析和打印出来

     

    对于eth0,可以通过ifconfig查看网卡的ip信息

     

    如果中间出现,cpdump报错:Permission denied

     

    则查看tcpdump运行模式:

    grep tcpdump/sys/kernel/security/apparmor/profiles

    /usr/sbin/tcpdump (enforce)

    上面显示是enforce模式,所以有这个问题,把它改成complain模式:

    aa-complain /usr/sbin/tcpdump                     

    再次使用tcpdump 并写文件的时候就没问题了。

    想在转换成enforce模式时:

    aa-enforce /usr/sbin/tcpdump            

     

    之后通过 Wireshark去查看该cap文件,找到get请求,之后双击,即可看到包的信心。

    注:apache配置如下:/etc/apache2/sites-enabled目录下的000-default.conf文件

    即:  <LocationMatch "(/jenkins/.*$)">                    Authtype CAS                    CASAuthNHeader  REMOTE_USER                   require valid-user            </LocationMatch>            <Proxy *>                  Order deny,allow                    Allow from all            </Proxy>         ProxyPass /jenkins http://ip:8080/jenkins          ProxyPassReverse /jenkins http://ip:8080/jenkins

    之后重启apache2,  service apache2 restart

    2 jenkins配置反向代理(使用ldap)

        jenkins安装新插件Reverse Proxy Auth Plugin,之后重启jenkins,service jenkins restart

       配置为:系统管理-Configure Global Security-》HTTP Header by reverse proxy

    Header User Name:  REMOTE_USER  (apache返回的报文头)

    Header Groups Name: 返回的组

    Header Groups Delimiter Name:|          (默认)

    点击高级后,可以配置ldap中信息(中间可能有ERROR,404类的,不影响提取ldap中数据)

    Server:ldap服务器ip:389

    root DN:根dn

    下面为对用户的组的搜索,按以前博客写的ldap进行配置即可。

    注:最下的

    Display Name LDAP attribute:displayname

    Email Address LDAP attribute:mail

    转载请注明原文地址: https://ju.6miu.com/read-672844.html

    最新回复(0)