본문 바로가기

Node js

openldap with ldapjs

반응형

openldap을 이용해서 인증을 구현한 프로젝트를 진행중입니다.

진행하면서 ldapjs 를 이용해서 ldap서버와 connect, bind, modify 등등을 수행했습니다.

오늘 글에서는 ldapjs 를 이용하여 사용자를 찾고, 비밀번호 수정하는 방법에 대해 작성하겠습니다.

 

Modify

modify를 하기 위해선 ldapadmin 계정으로 ldap 서버에 접속해야합니다.

이렇게 하지 않으려면 각 사용자 계정으로 접속해야하는데, 아직 이 방법은 찾지 못했습니다..ㅠㅠ

저는 admin으로 접속해서 modify를 수행했습니다.

 

이때 생각해야할 것은 암호화 방식입니다.

제가 생각할때, 암호화는 node js 즉, backend 단에서 이뤄지고 나서 openldap 서버로 전송되어 저장되는게 맞다고 생각하는데 openldap자체에서 암호화 방식을 제공해준다는 것이 마음에 걸렸습니다... 왜 제공해주는 걸 안쓰고 직접 암호화를 해야할까 ... 이런생각에 왜 그래야하는지 찾아보았습니다.

 

1) ldap 서버를 이용

제가 사용하는 openldap에서 제공해주는 암호화 방식은 꽤 다양합니다.

ssha, sha512, md5 등등 다양한 암호화 알고리즘을 제공해줍니다.

이 방식을 이용할 때 한가지 걸리는 점은.. 비밀번호를 text plain 그 자체로 넘겨주게 되면 전송 과정에서 과연 보안에 위배되지 않을 것인가.. 라는 점입니다.

이리 저리 구글링해본 결과, TLS 를 적용한 서버라면 전송 과정이 문제가 없다고 합니다.

그렇다면! TLS 를 적용해보는 것이 좋을 듯하네요 :) ... 

아직 한번도 해보지 않았지만, 이번 기회에 한번 적용해보겠습니다.

 

2) back 단에서 암호화 알고리즘을 통해 직접 구현

이 방식은 어찌보면 간단한 방식일 수 있습니다. 직접 구현하고 ldap 에 저장하고 다시 비교하고 등등..

그러나, 제가 원하는 암호화 알고리즘 방식은 salt 를 이용한 방법이였고, 

그러려면 ldap 서버에 salt 값도 같이 저장해야합니다.

 

1번 방식과 2번 방식 둘 다 적용하기 쉽지는 않아 보이지만..

2번방식을 이용해서 적용해보도록 하겠습니다.

반응형

'Node js' 카테고리의 다른 글

HashBang  (0) 2020.08.27
암호화  (0) 2020.08.24
node js 특징  (0) 2020.02.24
node js 01  (0) 2020.02.20
Node js 설치 및 Eclipse plugin 설치  (0) 2020.02.08