워드 프레스 (이미 저장된) 비밀번호의 장점을 찾는 방법은 무엇입니까?


10

많은 공유 호스팅 서버의 보안을 책임집니다. 그들 대부분은 워드 프레스 웹 사이트를 가지고 있습니다. 각 서버에는 적어도 500 개의 WordPress 웹 사이트가 있습니다.

내 경험상 WordPress의 문제는 약한 암호로 시작됩니다. 대부분의 웹 사이트 관리자 암호는 매우 약하며 취약한 암호 웹 사이트 사용은 다양한 악의적 활동에 악용되고 사용됩니다.

이제 내 계획은 WordPress 웹 사이트의 약한 암호를 찾아서 관리자 암호를 다른 강한 암호로 강제 변경하는 것입니다. 따라서 WordPress를 보호하고 서버에 문제가 발생하지 않습니다.

저장된 워드 프레스 암호의 강도를 아는 방법은 무엇입니까?

답변:


8

Bruteforce 해시

데이터베이스에 저장된 해시를 무차별 처리 할 수 ​​있습니다.

워드 프레스는 해싱에 phpass를 사용합니다. 기본적으로 WordPress는 복어 또는 유사 항목을 사용하지 않고 반복 횟수가 8192 인 md5 만 사용합니다. 실제로 잘못된 암호를 찾으려면 무차별 처리가 가능합니다.

그러나 나는 이것이 사용자가 당신에게 넣은 신뢰를 다소 위배한다고 생각 하므로이 접근법을 권장하지 않습니다.

로그인 할 때 비밀번호 분석

WordPress 로그인 스크립트에 대한 모든 요청을 가로채는 스크립트를 추가하고 해당 시점의 일반 텍스트처럼 비밀번호를 기록하거나 분석 할 수 있습니다.

물론 사용자가 실제로 로그인 한 후에는 취약한 암호 만 포착합니다. 사이트를 포기했거나 비활성 상태 인 경우 취약한 암호를 사용하고 있음을 발견하는 데 시간이 걸릴 수 있습니다.

나는 이것을 해시를 무차별 처리하는 것보다 훨씬 더 큰 위반으로 간주하고 보안에 대한 우려도 제기합니다 (암호를 일반 텍스트로 저장하면 분명히 우려 할 것이지만 그렇지 않은 경우에도 실수로 일부 정보를 저장할 수 있습니다 공격자를 도울 수있는 분석).

비밀번호 정책을 구현하고 사용자가 비밀번호를 변경하도록합니다.

비밀번호 정책을 구현할 수 있습니다. 사용자가 새 비밀번호를 제출하면 비밀번호가 정책을 준수하는지 여부를 확인합니다 (이상적으로는 JavaScript를 통해 클라이언트 측이 아니라 서버 측에서 발생 함).

올바른 비밀번호 정책을 작성하는 것은 어렵 기 때문에 여기에서 도움이되는 기존 정책을 살펴보십시오.

물론 이전 비밀번호는 정책의 영향을받지 않으므로 정책을 준수하도록 사용자가 이전 비밀번호를 변경하도록해야합니다.

피해 제한

강력한 암호를 사용하는 것이 좋은 아이디어 일 수 있지만 해킹 된 WordPress 인스턴스가 웹 마스터로서 실제로 영향을 미치지 않아야합니다.

공격자가 WordPress 설치에 액세스 한 후에는 피해를 제한해야합니다. 이상적으로는 전체 서버가 아닌 하나의 인스턴스 만 영향을 받기를 원할 것입니다. 따라서 공격자가 유효한 사용자와 마찬가지로 음란 한 콘텐츠를 웹 사이트에 올리는 것에 대해 걱정할 수 있지만 코드 실행 또는 기타 악의적 인 것은 아닙니다. 활동).

이것은 다소 광범위한 주제이지만 다음과 같은 점이 있습니다. DISALLOW_FILE_EDIT, 플러그인 사용 제한 (워드 프레스 자체보다 훨씬 덜 안전하게 코딩 됨), JavaScript 허용 (예 : 다중 사이트의 경우 최고 관리자 만 JavaScript를 게시 할 권한이 없음) 관리자 등)


4

이것이 가능한지 확실하지 않습니다. 비밀번호를 선택하면 데이터베이스에 해시로 저장됩니다. 해시 알고리즘에 관해서는 리버스 엔진 링이 없습니다.

내 경험에 의하면, 암호 strenght에 대한 스크립트의 위치 www.example.com/wp-admin/js/password-strength-meter.js, 그리고 그것에 링크입니다.

여기에서 비밀번호의 레벨과 백분율을 변경할 수 있으므로 필수 비밀번호 강도를 100/100으로 설정할 수 있습니다.

그리고 클라이언트가 비밀번호 강도를 확인하도록하려면 여기에 비밀번호를 줄 수있는 귀여운 응용 프로그램 이 있습니다.

여기에서 약간의 리버스 엔진 링을 수행하는 것은 불가능하며, 또한 사용자가 강력한 암호를 얻도록 강제하는 플러그인이 거의 없습니다.


1
이것은 웹 호스트와 사이트 소유자가 스스로를 보호하기 위해 할 수있는 간단한 일처럼 보입니다. 아주 좋은 질문과 답변! 나는 그것이 전에 여기에서 언급 된 적이 있는지 확신하지 못한다. 최소한 오랫동안 해결되지 않았습니다. 건배!!
closetnoc

1
위의 답변은 좋지만 내 문제를 해결하지는 못합니다. 대부분의 WordPress 웹 사이트가 이미 설치되어 있거나 하루에 100 대의 WP 설치가 서버에 진행됩니다. password-strength-meter.js를 사용하여 비밀번호의 강도를 변경한다고 가정하면 여전히 유용하지 않습니다. Bcoz, 암호는 이미 설정되어 있습니다. 이것은 이미 설정된 암호가 아닌 새 암호에만 유용합니다.
마니

1
그러나 데이터베이스에서 모든 비밀번호를 찾을 수있는 방법은 없습니다. 해시이기 때문입니다. 이를 설정 한 다음 모든 사용자에게 다시 비밀번호를 변경하여 강력한 비밀번호를 가질 수 있도록 다시 보낼 수 있습니다. 나는 이것에 대한 다른 방법을 보지 못했다. 아래 답변도 확인하십시오.
Josip Ivic

2
@Josip Ivic의 유일한 방법은 pwd를 재설정하고 관리자가 말한대로 관리자에게 알리는 것입니다.
마니

1
새 사용자의 경우 서버의 wp에서 스크립트를 조정하여 강력한 암호를 가져와야하며, 오래된 사용자의 경우 암호를 강력한 암호로 변경할 수 있도록 메일을 다시 보내야합니다. 내가 말했듯이, 이것을하는 쉬운 방법은 없지만 할 수 있습니다. :)
Josip Ivic

3

좋은 소식은 사용자 비밀번호를 변경할 수 있다는 것입니다. 나쁜 소식은 비밀번호를 볼 수 없다는 것입니다.
심지어 데이터베이스에 하나의 방식으로 암호화와 암호를 저장하는 강력한 그것은 당신이 변환 할 수 있습니다 단지 MD5 해시하지 그래서 워드 프레스는 암호, 심지어 데이터를 직렬화 아니에요이며, test123당신이 뭔가를 얻을 것 $P$BjW8o9Dm1vC5bwAcP1iAdNVm0lbvn암호 필드를 변경하는 경우에도 또한, 암호화를 사용하지 않고 데이터베이스에서 작동하지 않습니다.

비밀번호 변경 방법

나는 당신이 이것을 알고 있다고 생각하지만 나는 여기에 남겨 둘 것입니다. 관리자 권한으로 워드 프레스 대시 보드를 입력하고 사용자로 이동하여 사용자를 찾을 수 있으며이 부분은 새로운 비밀번호 생성을 클릭해야하기 때문에 목적에 맞지 않습니다. 임의의 문자와 기호가 무작위로 표시됩니다. 자신의 암호로 편집해도 암호를 볼 수 없습니다.


iThemes와 같은 플러그인을 사용하여 사용자가 강력한 암호를 입력하도록 요구할 수 있으며, 무차별 강제 보호 및 기타 멋진 기능을 사용할 수 있습니다.
knif3r

3

암호가 해시되므로 보안을 테스트하는 유일한 방법은 암호를 무차별 처리하는 것입니다. 일반적으로 사용되는 취약한 암호 목록을 수집하여 데이터베이스에 저장된 해시와 비교하여 테스트하십시오.

매우 철저한 암호 목록을 사용하지 않으면 약한 암호가 모두 잡히지는 않지만 가장 약한 암호는 필터링됩니다.


이것은 많은 시간이 필요한 솔루션입니다.
Josip Ivic

이것이 무지개 테이블을 만드는 것입니다.
Ashfame

@Ashfame 아니오, 그렇지 않습니다. 레인보우 테이블은이 시나리오에 가장 적합한 것은 아니지만 훨씬 더 정교한 접근 방식입니다.
Tom van der Zanden

@TomvanderZanden 적절한 접근 방법이 아닐 수도 있지만 이것이 무지개 테이블이 아닌 방법은 무엇입니까?
Ashfame

@Ashfame 레인보우 테이블은 "데이터베이스에 대한 비밀번호 목록 확인"보다 훨씬 정교하기 때문입니다. 예를 들어, 레인보우 테이블은 해시 체인 및 축소 기능을 사용합니다. 또한 레인보우 테이블을 작성하는 것은 데이터베이스에서 모든 비밀번호를 확인하는 것보다 시간이 더 걸립니다. 사전 계산 된 레인보우 테이블을 사용하는 것이 이치에 맞지만이 상황에서는 너무 과도 할 수 있습니다.
Tom van der Zanden

1

phpmyadmin에 저장된 각 워드 프레스 데이터베이스에 대한 제어 권한이 없으면 wp 관리자 비밀번호를 강제로 변경할 수 없습니다.

그리고 500 WordPress 사이트에서 주 암호를 찾는 빠른 방법은 없습니다. Josip은 비밀번호 강도를 확인하기위한 하나의 링크를 언급했지만 해당 사이트는 비밀번호 강도를 확인하기 위해 md5 crypto algo를 사용하지 않았습니다.

SO Link ( MD5를 사용하는 Wordpress )를 확인하면 출력이 해당 앱과 다릅니다. 보시 다시피 p#aSS*Word14안전 Dance With Me Tonight하지 않습니다. 따라서 암호 강도를 확인 / 가정하기 위해 다른 암호화 알고리즘을 사용하고 있기 때문에 thirt party 앱을 사용하여 Wordpress 비밀번호를 확인하지 마십시오.

또한 모든 비밀번호를 가지고 하나씩 하나씩 테스트해야합니다. 신속하게 알아낼 마술은 없습니다.

또 다른 것은 한 WordPress 사이트가 해킹되면 동일한 서버의 다른 wp 사이트에 영향을 미치지 않았다는 것입니다 (DOS 공격 제외). 많은 사람들이 공유 호스팅에서 wp를 시작하는 것을 보았고 사이트가 해킹 당했지만 각 wp는 phpmyadmin에 자체 데이터베이스가 있기 때문에 여전히 이웃 사이트가 제대로 실행되고 있습니다.


Didn't affect other WP site on same server:우연의 일치! 해커 / 봇의 공격 / 해킹 및 의도의 유형에 따라 다릅니다.
Ashfame

나는 루트 수준의 보안이 아니라 워드 프레스 보안에 대해 이야기하고 있습니다. 그러나 샌드 박스 메커니즘을 사용하는 대부분의 모든 호스팅 제공 업체는 동일한 서버의 다른 웹 사이트에 영향을 미치지 않았습니다.
Goyllo

1

이전 답변에서 지적했듯이 저장된 비밀번호를 읽을 수 없습니다.

다른 해결책은 다음과 같습니다.

  1. 강력한 암호를 적용하기 위해 Josip Ivic 의 제안을 구현하십시오 .
  2. 모든 비밀번호 (또는 특정 권한이있는 사용자의 비밀번호 만)를 삭제하십시오.
  3. 마지막으로, 영향을받는 사용자에게 새 비밀번호 정책이 적용되고 있음을 알리고 /wp-login.php?action=lostpassword비밀번호를 재설정하도록 지시하십시오 .

1

일반 텍스트 비밀번호를 저장하는 것은 사용자가 사용하는 다른 서비스 (gmail 생각)와 동일한 비밀번호를 가질 수 있기 때문에 비밀번호를 저장할 때 합리적인 애플리케이션과 마찬가지로 WordPress 비밀번호는 해시됩니다.

해시를 비밀번호로 다시 변환 할 수 없으며, 그렇지 않으면 일반 텍스트로 저장해야합니다. 암호는 이전에 해시 MD5되었지만 보안 팀에 의해 안전하지 않은 것으로 입증되었으므로 해싱 알고리즘이로 업데이트되었습니다 phpass.

팁 : MD5 (% password %)를 SQL 열로 업데이트 한 경우에도 WordPress에서 계속 올바르게 해시 할 수 있습니다.

이제 단일 사이트에서 수행하려는 작업에 접근하는 실질적인 방법은 실제로 열을 다른 것으로 변경하고 비밀번호를 업데이트하려는 페이지에서 비밀번호 강도 요구 사항을 적용하여 비밀번호를 강제로 변경하는 것입니다. 그러나 유스 케이스는 많은 WP 설치 에서이 작업을 수행해야하며 사이트 소유자는 동의 없이이 작업을 수행하지 않아도됩니다. 따라서 행동의 영향 범위를 분명히 제한해야합니다.

1) 관리자, 편집자에 대해서만 비밀번호를 업데이트하지만 해당 사용자가 누구인지 찾아야합니다. 이메일을 보낸 다음 비밀번호 재설정 페이지 / 등록 페이지 등에서 비밀번호 제한을 적용하십시오. 다른 사람이 사이트의 다른 곳에 해당 양식을 가질 수 있음을 기억하십시오 (AJAX 양식도 생각하십시오). WP 환경을로드하고 스크립트를 실행하지 않고이 계획을 실행하는 데 도움이되는 WP-CLI 명령 작성.

2) 알려진 문자열 (암호)의 해시 암호로 구성된 무지개 테이블 생성. 그런 다음 기본적으로 해싱을 특정 사용자의 비밀번호와 일치시키고 해당 비밀번호의 강도를 평가해야합니다. 가능한 각 암호를 해시하고 디스크에 저장하고 (암호 길이 및 암호 조합에 따라 몇 GB) 결과를 처리해야하기 때문에 테이블 생성은 가장 느린 단계입니다. 99 %는 고객의 요구에 따른 과도한 솔루션입니다.

팁 : 당신은 우리가 가지고있는 소금과 비밀을 알고 wp-config.php있습니다. 이를 변경하면 필요할 때를 대비하여 로그인 된 세션이 무효화됩니다.


1

사전 공격을 사용하여 무차별 대입

암호의 강도를 평가하는 더 좋은 방법은 무엇입니까? :-) 예, 알고 있습니다. 시간이 좀 걸릴 것입니다 ...

그렇지 않으면 모든 비밀번호가 약하다고 가정하고 ( 정확한 가정이 될 것이라고 생각합니다 ) 비밀번호를 직접 작성하고 데이터베이스에 해시를 저장 한 다음 "보안"을 사용하여 관리자에게 일반 텍스트 비밀번호를 제공하십시오. 채널

그렇지 않으면 모든 암호가 약하다고 가정하고 관리자가 강제로 암호를 변경하도록하고 웹 사이트 자체에서 매우 까다로운 암호 강도 검사기를 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.