새로운 Joomla 설치를 보호하는 방법은 무엇입니까?


34

새로운 Joomla를 설치 한 후에 안전하게 유지하기 위해 취해야 할 조치는 무엇입니까? 공유 호스팅 서버와 전용 서버 모두에서.


1
@ 관리자 :이 질문에 대한 커뮤니티 위키는 어떻습니까?
MattAllegro

답변:


36

Joomla 웹 사이트 보안 유지

  1. 강력한 비밀번호를 사용하십시오.
  2. 관리자 계정 수를 최소화하십시오.
  3. 사용하지 않는 사용자 계정을 비활성화하거나 제거하십시오.
  4. 타사 확장의 수를 최소화하고 타사 확장이 필요한 경우 신뢰할 수있는 기존 개발자의 잘 지원되는 확장을 사용하십시오.
  5. 해당되는 경우 Joomla EOL 버전 용 보안 핫픽스를 포함하여 Joomla 및 타사 확장 프로그램에 최신 업데이트를 정기적으로 적용하십시오 .
  6. Joomla 보안 뉴스 피드를 구독하면 핵심 Joomla 보안 업데이트에 대한 정보를받을 수 있습니다.
  7. Joomla VEL (Vulnerable Extensions List)을 구독하면 새로운 취약점에 빠르게 대처할 수 있습니다. 서브 스크립 션 링크를 위해 페이지 하단으로 스크롤 하십시오 - 트위터 에서 VEL을 팔로우 할 수도 있습니다 .
  8. suPHP 또는 FastCGI와 같은 적절한 PHP 파일 핸들러와 mod_security와 같은 보안 확장을 포함하여 양질의 보안 웹 호스팅을 사용하십시오. 지원되는 PHP 버전을 사용하십시오 .
  9. 웹 호스팅 회사 백업에만 의존하지 않고 정기적으로 웹 사이트 백업을 수행하고 백업 파일을 오프 사이트로 복사 한 후 정기적으로 테스트 복원을 테스트 위치로 실행하여 백업 품질을 확인하십시오.
  10. https를 활성화하십시오.
  11. Akeeba 관리 도구의 전문가 버전과 함께 제공되는 것과 같은 웹 응용 프로그램 방화벽을 구현하십시오.
  12. 표준 테이블 접두사를 사용하지 마십시오.
  13. 기본 최고 관리자 이름과 ID를 다른 것으로 변경하십시오. Akeeba 관리 도구의 전문가 버전에는 최고 관리자 ID를 변경하는 도구가 있습니다.
  14. IP로 Joomla Admin에 대한 액세스를 제한하십시오. 신뢰할 수있는 IP 만 허용하십시오.
  15. 관리자 계정에 2 단계 인증을 사용합니다 (Joomla 3.2 이상에 적용).
  16. 동일한 호스팅 계정을 공유하거나 이상적으로는 웹 사이트를 자체 웹 호스팅 계정으로 분리하여 교차 오염을 방지하는 다른 웹 사이트에 대해서도 위 단계를 반복하십시오.
  17. 웹 사이트 관리자의 개인용 컴퓨터가 비슷하게 보안되도록하십시오. 예를 들어 양질의 바이러스 및 맬웨어 스캐너를 구현하십시오. 개인용 컴퓨터에 저장된 웹 사이트 자격 증명을 보호합니다. 웹 사이트 및 기타 자격 증명을 저장하기 위해 암호화 도구 또는 응용 프로그램을 사용하는 것이 이상적입니다.
  18. 하지 말아야 할 것에 대한 정보는 가장 어리석은 10 가지 관리자 요령 을 읽으십시오 .

자세한 지침은 공식 보안 점검 사항을 참조하십시오 .


이 목록을 추가 할 수 있습니다 (편집 가능). :)
Neil Robertson

2
"Vulnerable Extensions list"에 링크 할 수 있습니까? (어떤 이유로 답을 편집 할 수없는 것 같습니다. 다른 것을 편집 할 수 있습니까?)
MrWhite

감사합니다 @ w3d-VEL 구독 페이지 및 Joomla 보안 뉴스 피드에 대한 링크도 추가했습니다.
Neil Robertson

14

별도의 서버에 백업을 저장하는 것이 매우 중요합니다. Akeeba Backups를 충실히 실행하고있는 많은 사람들이 같은 루트 디렉토리의 동일한 서버에 저장되어 있습니다. 심각한 방법으로 해킹당한 경우에는 도움이되지 않으며 호스팅 실패를 복구하는 데 도움이되지 않습니다.

Akeeba Backup Pro를 사용하면 Amazon 클라우드와 같은 외부 저장소에 백업 파일을 저장하고 관리 할 수 ​​있습니다.


4
호스팅 디렉토리에서 전송 한 후 백업에 손상된 압축이 있는지 검사하는 것도 중요합니다. 손상된 백업은 백업이 아닙니다. Akeeba, CPanel 등 모든 백업 시스템에 적용됩니다.
UhlBelk

7

.htaccess 파일의 대안이나 IP로 파일을 잠그는 대신 jSecure를 사용하여 관리자 로그인을 보호 할 수도 있습니다.

언급되지 않은 한 가지는 평판 좋은 호스팅 공급자를 사용하는 것입니다. 보안을 유지하는 것뿐만 아니라 해킹 당했거나 문제가있는 경우 (예 : 데이터베이스가 손상 될 수있는) 것도 필요합니다. 아이디어는 사이트를 정리하면서 사이트의 손상을 제한하는 것입니다.

기본 아이디어, 당신은 누군가를 원합니다 ..

  • 주변에있을 것이다
  • 야간 작업이 아님
  • 당신과 함께 일할 것입니다
  • 견고한 환경을 제공합니다.

호스트에게 더 나은 느낌을 요청하는 질문 목록을 원하는 경우 알려주십시오.

이것이 도움이되기를 바랍니다.


6

이것도 시도해보십시오

  • Joomla를 확장 기능과 함께 최신 상태로 유지하십시오.
  • 클라우드에 사이트를 정기적으로 백업하십시오 .
  • robots.txt보안 폴더를 열지 마십시오 .
  • 최신 Joomla 버전의 경우 2 단계 인증을 사용하는 것이 더 안전합니다.
  • 폴더와 파일에 올바른 권한이 허용되어 있는지 확인하십시오.
  • Joomla에 Cloudfare를 사용하십시오 .

도움이 되길 바랍니다 ..


5

기본적으로 내 경험상 Joomla의 크기를 사용하면 완전히 확보 할 수있는 방법이 없습니다. 따라서 모든 것을 막는 완벽한 보안 정책으로, 전반적인 피해를 시도하고 낮추는 데 대한 기대치를 낮추는 것이 가장 좋습니다.

이는 매우 빈번한 백업 정책으로 수행 할 수 있으므로 침입시 사이트를 롤백하고 맬웨어 검사를 수행 할 수 있습니다. 지금까지 우리가 가진 한 가지 해킹은 관리자 패널이 무차별 적 인 것 때문이었습니다.

우리가 보는 대부분의 해킹은 타사 구성 요소 또는 Joomla 코어에서 비롯된 것으로, 최신 버전의 Joomla도 해킹 할 수 있습니다. 해킹은 일반적으로 잘못된 필터링을 사용하여 파일을 서버로 푸시하는 일반적인 요청처럼 보일 수 있기 때문입니다. 파일이 서버에 있으면 모든 것이 공정한 게임이므로 전체 공유 서버의 모든 사이트에 있을 수 있으며 여전히 귀하에게 영향을 미치므로 공유 서버의 한 사람이 최신 상태를 유지하지 않으면 사용자에게 영향을 줄 수 있습니다.

이것은 약간 극단적 일 수 있지만, 개인적인 경험에 기초하여 최악의 상황에 대비하는 것이 가장 좋으며, 귀하의 정책이 모든 것을 막을 것이라는 확신이 있습니다.

따라서 새로운 Joomla 설치를 보호하는 가장 좋은 방법은 자주 백업하고 맬웨어 검사를 활성화하는 것입니다. 맬웨어 스캐너가 무언가를 발견하자마자 이메일을 보내면 아주 짧은 시간 내에 최신 백업으로 롤백 할 수 있습니다.


"표준을 낮추십시오"??? 아마도 "표준을 향상시켜야했을까요?"
chesedo

이것이 다운 투표권을 얻을 것이라고 생각했는데, 나는 지침을 따르면 안전하다고 생각하는 사람을 원하지 않습니다. Meant는 해킹 당하지 않기를 기대하지 말고 표준에 대비하십시오. 내가 아는 대부분의 사람들은 일주일에 한 번 또는 한 달에 한 번은 해킹당하는 느낌이 드물기 때문에 백업 할 수 있습니다.
Jordan Ramstad

그렇다면 "해킹을 당하지 않기 위해" " 당신의 기대를 낮추십시오"를 사용했을 것입니다 :)
chesedo

참고로 편집했습니다. 감사합니다. Joomla에 대해 나쁜 말을하지 않고, 나는 그것을 좋아합니다. 해킹과의 싸움은 결코 사라지지 않을 것이므로 최선을 다해 준비하십시오 :).
Jordan Ramstad

아주 정확합니다-때로는 도움이되는 가장 좋은 방법은 일직선입니다 :).
chesedo

4
  1. 사용자 이름을 변경하고 관리자 비밀번호를 강력하게 유지하려면 2 단계 인증을 사용하십시오 (3.3 이상에 내장, 기타는 http://www.readybytes.net/labs/two-factor-authentication.html )

  2. kSecure 설치 ( http://extensions.joomla.org/extensions/access-a-security/site-security/login-protection/12271 )

  3. 이 htaccess http://docs.joomla.org/Htaccess_examples_(security)를 사용하여 다양한 공격으로부터 웹 사이트를 보호하십시오


3

블로그에서 찾은 백서 "Joomla 사이트 펜 테스트"에서이 목록을 빌립니다. 이 목록은 Joomla 보안의 기본에 대한 철저한 지침이라고 생각합니다.

  1. 항상 Joomla를 최신 상태로 유지하십시오. 업그레이드가 릴리스되는 즉시 최신 업그레이드를 설치하십시오.
  2. 어떤 확장을 사용하든 최신 업그레이드 릴리스로 올바르게 패치해야합니다. 오래된 확장 프로그램은 공격자에게 사이트를 손상시킬 수있는 방법을 제공 할 수 있습니다.
  3. 사용하지 않았거나 올바르게 테스트되지 않은 확장을 사용하지 마십시오.
  4. 모든 사용자 입력은 올바르게 검증되어야합니다. 이러한 입력은 양식, URI, 이미지 업로드 등의 입력이 될 수 있습니다. BROWSE 버튼을 사용하여 이미지를 업로드 할 수 있으면 나중에 백도어처럼 작동 할 수있는 PHP 셸이 아니라 이미지 만 업로드 할 수 있어야합니다. 서버.
  5. 모든 로그인에 강력한 비밀번호를 사용하십시오. 8 자 이상, 하나의 특수 문자, 하나의 숫자 및 하나의 대소 문자 구분 문자. 무차별적인 설치로부터 설치를 보호합니다.

  6. 웹 서버의 로그 파일에서“최신 방문자”를 추적하여 잠재적 인 공격을 포착하십시오. 로그 파일을 정보로만 고려하지 마십시오. 사용자 추적 및 모니터링에 매우 유용합니다.

  7. Joomla 기반 사이트가 호스팅되는 전체 서버에 더 많은 보안을 구현하기 위해 약간의 스트레스를가하십시오. 공유 서버 또는 전용 서버에서 호스팅되고 있습니다.

  8. 사용하는 모든 확장명 목록을 작성하고 계속 모니터링하십시오.

  9. 다양한 보안 권고에서 최신 취약성 및 공개를 확인하십시오. Exploit-db, osvdb, CVE 등은 좋은 리소스 중 일부입니다.

  10. 기본적으로 쓰기 권한을 사용하여 .htaccess 파일에 대한 권한을 변경하십시오 (Joomla가 업데이트해야 함). 가장 좋은 방법은 444 (r-xr-xr-x)를 사용하는 것입니다.

  11. 악성 파일을 업로드하거나 실행하지 않도록 공개 디렉토리에 대한 적절한 파일 권한을 부여해야합니다. 이 맥락에서 가장 좋은 방법은 766 (rwxrw-rw-)입니다. 즉, 소유자 만 읽고 쓰고 실행할 수 있습니다. 다른 사람들은 읽고 쓸 수만 있습니다.

  12. 아무도 서버의 PHP 파일에 쓸 수있는 권한이 없어야합니다. 모두 444 (r—r—r--)로 설정해야하며 누구나 읽을 수 있습니다.

  13. 역할을 위임하십시오. 관리자 계정이 안전 해집니다. 누군가 귀하의 컴퓨터를 해킹 할 경우, 관리자 계정이 아닌 해당 사용자에게만 액세스 할 수 있어야합니다.

  14. 데이터베이스 사용자에게는 INSERT, UPDATE 및 DELETE 행과 같은 명령을 제공 할 수있는 권한 만 있어야합니다. 테이블을 DROP 할 수 없어야합니다.

  15. 백엔드 폴더의 이름을 변경하십시오. 예를 들어, / administrator를 / admin12345로 변경할 수 있습니다. 16. 마지막으로 최신 취약점으로 업데이트하십시오.


추가 제안 광고 12 : 웹 서버를 제외하고 아무도 서버에서 PHP 파일을 읽을 수있는 권한이 없어야합니다. 사용자를 웹 서버의 사용자 (www-data 또는 http)로 설정하고 백엔드 (css, ...)를 통해 편집 가능한 파일의 경우 400 또는 600으로 설정하십시오.
Tom Kuschel

3

첫 번째 방어선은 호스팅 서비스입니다

  • 안정적인 호스팅 서비스에서 전용 서버 임대
  • 서버에서 2FA를 활성화하고 'VERY STRONG'비밀번호를 사용하십시오
  • 서버에 안정적인 방화벽을 설치하십시오-ConfigServer를 사용합니다
  • 안티 바이러스 프로그램 설치 / 구성, ClamAV 사용
  • 각 웹 사이트 사용자 이름이 도메인 이름의 첫 8자를 사용하지 않고 'VERY STRONG'비밀번호를 사용하는지 확인하십시오
  • 각 웹 사이트에 SSL 인증서가 설치되어 있는지 확인
  • 각 웹 사이트가 '감옥에 있음'인지 확인하면 서버 루트에 액세스 할 필요가없는 한 루트 액세스 권한이 없습니다. 이 경우 SSH (Secure Shell)가 설치 및 구성되어 있는지 확인하십시오. 내 서버 도메인 웹 사이트를 사용하지만 다른 모든 웹 사이트는 '감옥'입니다.
  • 모든 서버 업데이트가 즉시 설치되었는지 확인하십시오 !!!!

다음 방어선은 cPanel입니다

  • "VERY STRONG"비밀번호 사용
  • 사용자를위한 사용자 비밀번호 강도 구성
  • cPanel 전체 백업을 수행하고 외부 소스에 저장하도록 cron 작업 설정
  • cPanel이 액세스에 SSL을 사용하도록 설정되어 있는지 확인하십시오.
  • '사이트 보안 검사'를 실행하여 다른 조정이 필요한지 확인하십시오.
  • 모든 cPanel 업데이트가 즉시 설치되었는지 확인하십시오 !!!!

다음 방어선은 관리자 패널입니다

  • 암호 형식 요구 사항을 편집하여 강력한 암호 (대문자, 소문자, 숫자 및 최소 18 자 이상의 구두점 1 개 이상)를 보장하십시오.
  • 사용자를위한 2FA 활성화-수퍼 유저 및 관리자 계정에 사용
  • 수퍼 유저 계정 수 제한 (하나만있는 것이 가장 좋습니다)
  • 관리자 계정 수 제한 (더 적을수록 좋음)
  • 관리자가 액세스 할 수있는 영역 제한
  • 출판사, 편집자 및 저자가 액세스 할 수있는 영역을 제한하십시오.
  • AdminTools 설치 및 구성
  • AdminTools를 통해 관리자 URL 비밀번호 설정
  • 중요한 파일 (HTACCESS, ROBOTS.TXT, WEBCONFIG, INDEX.PHP (루트 및 템플릿 모두)이 444로 설정되어 있는지 확인하십시오. 여전히 cPanel pr Plesk 제어판 파일 관리자를 통해 파일을 편집 할 수 있습니다.
  • AkeebaBackup 설치 및 구성
  • 외부, 외부에서 백업을 저장하도록 AkeebaBackup 구성
  • Joomla 확장 프로그램 페이지를 통해서만 애드온을 설치하고 Joomla 확장 프로그램 페이지에 나열되지 않은 타사의 애드온을 설치하지 마십시오.
  • Joomla 기능에 필요하지 않은 추가 기능을 비활성화 및 / 또는 제거
  • Joomla 및 애드온 업데이트를 즉시 설치하십시오 !!!

다른 단계가 있다고 확신하지만 전국 70 개 이상의 웹 사이트를 호스팅하는 서버에서 사용하는 주요 단계입니다. 최근에 DDoS 공격과 유사한 대규모 공격을 받았으며 한 웹 사이트에 액세스하지 않았습니다. 나는 키가 10 피트 인 느낌과 방탄이 있었지만 내일이 또 다른 날이기 때문에 만족할 수 없다는 것을 안다! 롤


-4
  1. 저는 2 단계 인증의 팬이 아닙니다

  2. Akeeba 관리 도구 설치, 고급 htaccess 활성화, 옵션 및 소프트웨어 방화벽 확인

https://www.akeebabackup.com/download/admin-tools.html

  1. 백엔드 URL 비밀번호 사용

1
2 단계 인증의 팬이 아닌 이유를 공유 하시겠습니까?
chesedo

2
알겠습니다. 그러나 왜 보안에 도움이되는 시점에 사용하지 않는가? 당신이 당신의 게시물에 그것을 원한다면 왜 이유와 함께 부수적 인 메모로하지 않습니까?
chesedo

1
네 말이 맞아 나는 단지 여기에 질문에 대답하는 방법을 배우고있다 ;-) BTW이 답변은 -2 :-(
Anibal

4
이 저자의 시스템에 대한 최초의 순진한 대답으로 남겨 두겠습니다. 자체 방식으로 매력이 있습니다.
Anibal

1
헤헤! 실제로 SE 시스템의 요점은 '최고의 답변을 얻거나'더 나은 답변을 얻는 것입니다. 나는 설명과 함께 귀하의 답변을 삭제하고 주석으로 추가 할 수 있다고 제안합니다. 보안 문제를 해결할 때 2 단계 인증의 영향.
NivF007
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.