2009-08-22 3 views
2

나는 오픈 소스가 프로그램을 폐쇄 소스보다 더/덜 안전하게 만들지는 않는다는 것을 알고있다. (이 중립성을 가정하고,이 게시물에서 화염을 지키기 위해) 사실 : 소스 코드가 열려 있기 때문에 모든 사용자가 기본 URL, 기본 관리자 로그인 등을 알고 있습니다.오픈 소스 CMS 설치에 추가로 추가하는 증권은 무엇입니까?

저는 고객의 일부 프로젝트에서 Wordpress와 Joomla를 사용하고 있으며, 보안. 항상 최신 버전으로 파일을 업데이트하는 것을 제외하고,이 시나리오에서 더 많은 보안을 추가하기 위해 일반적으로 무엇을합니까? 내 생각 중 일부 :

  • 해당하는 경우 항상 "admin"이름을 변경합니다.

  • 나는 어떤 기술을 사용하고 있는지 밝히고 싶지는 않지만, 내가 CMS를 홍보하고 싶기 때문에 (나는 최소한 내가해야한다고 생각한다.) 나는 정확한 버전을 그렇게 말하지 않는다. 공격자는 그들이 공격 할 수있는 정확한 취약점을 알지 못합니다 (예 : Wordpress 2.8.4 "를 말하는 html로 자동으로 메타 태그를 생성합니다).

  • 올바른 사용 권한을 디렉토리에 설정하고 매일 서버가 0h로 설정되어있는 서버에서 bash 스크립트를 사용하여 하루 동안 775로 변경되었을 수도있는 디렉토리로 755를 되돌려 놓는 것을 잊었습니다. 적용, 내가 IP를 제한하는 아파치 구성을 설정

  • .

그 밖의 어떤 조치를 취해야합니까? 귀하는 일반적으로 귀하의 설비에 "상자에 든"솔루션을 무엇을합니까? 당신은 슈퍼 편집증 경우

답변

3

mod_security 또는 mod_evasive과 같은 것을 사용하면 아파치의 모듈도 좋은 아이디어가 될 수 있습니다. 그리고 프로덕션 서버에서 웹 사이트를 사용하기 전에 여전히 웹 사이트를 테스트해야합니다.
아파치의 모듈이기 때문에 새로운 아파치의 모듈을 설치할 수 있어야합니다. 즉, 서버의 관리자 여야합니다.


순수 PHP 수준에서는 PHP-IDS이라는 도구가 있습니다. 웹 사이트 인용 :

PHPIDS (PHP-침입 탐지 시스템은) 잘 구조, 당신의 PHP에 대한 신속하고 최첨단 보안 계층 ​​기반의 웹 응용 프로그램을 사용하기 간단합니다. IDS는 은 악의적 인 입력을 삭제하거나 걸러 내지 않으며 공격자가 공격자가 사이트를 해독하려고 시도하고 이 정확히 원하는 방식으로 반응 할 때이를 인식합니다. . 승인 된 및 매우 엄격한 테스트를 거친 필터 규칙을 기반으로 공격 에 이라는 숫자의 영향 등급이 부여되어 해킹 시도를 따라야하는 행동을 결정할 수 있습니다. 이것은 간단한 로그에서 응급 메일을 개발 팀으로 보내거나 공격자에 대한 경고 메시지를 표시하거나 심지어 사용자의 세션을 종료 할 수도 있습니다.

내가 사용하고있는 CMS 앞에 "연결"할 수 있다고 생각합니다. 입력 지점에 몇 줄을 추가하여 입력 할 수 있습니다. 일반적인 입력 지점이나 식별 할 수있는 파일이있는 경우 각 페이지의 시작 부분에 한 번 포함됩니다.
"내 응용 프로그램에서 사용하는 방법"이 있습니다. 항목은 FAQ입니다.


그리고 앞에서 말한 것처럼 서버를 안전하게 유지하는 것이 좋습니다. 예를 들어 원격 SQL 액세스가 없습니다. 시스템상의 각 사용자의 프로파일을 검사하는 것; 소프트웨어를 최신 상태로 유지하십시오 ...

3

는 설정에 샌드 박스에서 응용 프로그램하고 그것을 통해 아파치 프록시있을 것입니다. 그러나 민감한 데이터가 많이 있거나 실제로 편집증에 빠지거나 이전에 손상된 경우가 아니라면 이는 거의 과용됩니다.

응용 프로그램은 관리자의 경로를 변경 허용하는 경우

은 일반적으로 너무 좋은 생각입니다. 예를 들어, Wordpresses 기본 관리자를/wp-admin에서 완전히 다른 것으로 변경하는 검색 교체 (예 :/my-admin)를 사용하면 매우 쉽습니다. 이것은 항상 가능하지는 않습니다.

또한 응용 프로그램에서 설정할 수있는 사용자 역할과 권한을 철저히 검사하고 싶을 것입니다. 예를 들어, Drupal은 매우 강력한 사용자 액세스 시스템을 갖추고 있습니다. 하지만 사용자에게 액세스 권한을 부여하지 않도록해야합니다.

시스템 작동에 100 % 필요하지 않은 모듈/확장 프로그램/플러그인을 사용 중지하거나 삭제하는 것이 여기에 포함됩니다. 개인적으로 모든 MySQL 사용자를 검사하여 아무도 서버에 원격으로 연결할 수 없도록하십시오. 또한 서버의 모든 사용자 (루트를 제외하고)에 대한 chroot jail을 설정하여 디렉토리에 잠겨 빠져 나올 수 없습니다.

3

wordpress.org codex에서 Hardening WordpressHardening Wordpress with htaccess을 참조하십시오.

워드 프레스에서

, header.php에 wp_head에 의해 출력되는에서 WP 버전을 제거 테마의 functions.php 파일이

function remove_header_info() { 

remove_action('wp_head', 'wp_generator'); 
} 

add_action('init', 'remove_header_info'); 

을 넣어.

2

Joomla에서는 데이터베이스 접두어를 jos_와 다른 것으로 변경했습니다.

0

저는 Wordpress에 대한 정보를 추가 할 수있는 두 가지 흥미로운 링크를 발견했습니다.

이 첫 번째 것은 Wordpress blog itself입니다. 모든 보안 수정 사항을 항상 최신 상태로 유지해야한다고 말합니다.

두 번째 것은 내가 실제로 잘 쓰여지고 많은 흥미로운 충고 (2 부분으로 나뉘어 짐)가 있다고 믿는 많은 단계 (구성에서 pugins까지)의 great list입니다.