[ELK] Kibana 웹 인증 구성 ( Auth with Httpd , Active Directory )
ELK 설치 후 Kibana 웹페이지 접근할 때 로그인 인증을 통해서 접속이 가능하도록 보안 기능을 추가할 수 있습니다.
ELK 에서도 X-pack 을 통해 보안, 알림, 모니터링, 그래프 등 추가적인 기능들을 제공을 하고 있지만 유로이기 때문에 패스하고 X-pack 기능없이 아파치 웹서버를 통해서 간단한 보안 인증을 거치도록 구성을 할 수 있습니다.
인증 방법은 htpasswd 를 통해 계정정보 파일을 저장하는 방법도 있고, 간단한 인증용 웹페이지 등을 만들수도 있는데,
저의 경우 현재 윈도우 ActiveDirectory를 사용하고 있어서 AD 계정을 통한 인증 방법에 대해 설명하겠습니다.
1. 아파치 웹서버 및 Ldap 모듈을 설치
[root@localhost ~]# yum install httpd
그리고 웹서버 인증시 ldap을 통한 AD 인증이 필요하여 ldap 모듈을 추가로 설치해 줍니다.
[root@localhost ~]# yum install mod_ldap
2. http 설정 파일 수정.
httpd 설치 후 vi 편집기로 /etc/httpd/conf/httpd.conf 페이지에 아래 내용을 추가해 줍니다.
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin username@domain.com
#ServerName hqsiem
<Location />
Options FollowSymLinks
AuthType Basic
AuthBasicProvider ldap ## Ldap 인증 사용
AuthName "Restricted Login"
AuthLDAPURL "ldap://domain.com:3268/dc=domain,dc=com?sAMAccountName" NONE
## Ldap 서버(AD) 도메인 및 경로 입력.( domain.com )
AuthLDAPBindDN "adminname@domain.com" ## admin 계정정보 입력(도메인네임 포함)
AuthLDAPBindPassword "password" ## admin password 입력
Require ldap-group CN=Network팀,OU=기술본부,OU=Organization,DC=domain,DC=com
## ldap 인증 권한을 허용할 사용자 혹은 그룹 지정.
ProxyPass http://127.0.0.1:5601/ ## Kibana 웹페이지로 Redirect 설정.
#ProxyPassReverse http://127.0.0.1:5601/
</Location>
DocumentRoot /var/www/html
</VirtualHost>
3. 웹서버 재시작 및 서비스 등록.
systemctl enable httpd
systemctl start httpd
4. 방화벽 설정.
1) 80포트에 대해서 외부 포트 오픈.
- Zone 파일 수정.
vi /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="dhcpv6-client"/>
<service name="ssh"/>
<service name="http"/> ## 80 포트 접근 허용
</zone>
- 방화벽 재 기동
firewall-cmd --reload
firewall-cmd --reload
5. Kibana 웹 접속 ( http://ELK_IPAddress )
웹 접속 후 아래와 같이 로그인 창이 나오며, AD에 등록된 계정정보 입력 후 로그인 하면 됩니다.