it-swarm-korea.com

공유 웹 호스팅 서버를 안전하게 유지하는 방법?

모든 사용자가 SSH 액세스를 사용할 수 있다고 가정하고 공유 LAMP 서버를 안전하게 유지하는 방법은 무엇입니까?

편집 : 나는 주로 사용자 자신과 자신 사이에서 서버를 보호하려고 생각합니다.

20
Olivier Lalonde

불가능할 수도 있지만 공격자가 성공하기 어렵게 만들 수 있습니다.

방어 강화 :

시스템 보안 강화 (다음 점검 목록 중 하나를 참조 할 수 있음)

http://iase.disa.mil/stigs/checklist/ (UNIX 보안 점검 목록을 찾으십시오)
https://benchmarks.cisecurity.org/en-us/?route=downloads.multiform

더하다:

grsecurity
보안 강화 Linux
AppArmor

위의 도구에 대한 적절한 비교는 다음과 같습니다. http://www.lifelinux.com/selinux-vs-apparmor-vs-grsecurity-345.html

보안 패치를 최신 상태로 유지하십시오

가시성 확보 :

HIDS (예 : OSSEC )를 배포하면 사용자의 나쁜 행동을 감지 할 수 있습니다.

위의 모든 사항에는 지속적인 노력이 필요합니다. 이것이 보안입니다.

13
Tate Hansen

내 생각에 가장 먼저 할 일은 ssh 포트를 비표준으로 변경하고 fail2ban과 같은 것을 설치하는 것입니다.

또한 외부에서 사용되지 않는 포트로의 액세스를 차단하도록 방화벽을 조정하는 것이 유용 할 수 있습니다 (80, 423, 25 및 ssh 만 허용 할 수 있음)

2
gbr

다른 답변 외에도 :

웹 서버에서 실행되는 프로그램 (cgi, php 등)의 권한은 문제입니다.

웹 서버의 권한으로 실행되면 악의적 인 사용자가 다른 사용자가 제공 한 파일에 액세스 할 수 있습니다. 데이터베이스 자격 증명이있는 구성 파일을 여기에서 생각하고 있습니다.

해당 프로그램이 개별 사용자의 권한으로 실행되면 프로그램 파일 자체를 수정할 수 있습니다. 이렇게하면 응용 프로그램의 보안 문제를 쉽게 악용 할 수 있습니다. 예를 들어 .php 스크립트는 파일을 저장할 때 파일 이름의 유효성을 제대로 검사하지 못할 수 있습니다. 또한 사용자는 웹 디렉토리에 쓰기 권한이 필요하므로 PHP 프로그램에도 쓰기 권한이 있습니다.

SourceForge에는 released Apache 모듈과 더 정밀한 권한을 허용하는 Fuse 파일 시스템이 있습니다.

권한 비트는 "rwx"(읽기/쓰기/실행) 세트의 표준 트리오에 있지만 일반 "사용자"(소유자), "그룹"및 "기타"카테고리는 "프로젝트 멤버"의 트리오로 대체됩니다. "프로젝트 시작 Apache 액세스"및 "모두".

프로젝트 웹 파일 시스템 권한

2

기본적으로 wordpress와 같이 항상 대규모 보안 문제와 PHP 자체 등)으로 보안을 유지하기 위해 할 수있는 일은 없습니다.

확실히 확신 할 수있는 유일한 방법은 각 사이트를 별도의 가상 머신에서 실행하는 것입니다. 이것은 (거의) 한 사이트를 다른 사이트와 완전히 분리 시키지만, 물론 모든 VM을 관리해야하는 오버 헤드가 있으며, 더 많은 메모리 사용량, 더 많은 CPU주기 등이 있습니다.

아 그리고 각각의 VM는 지속적으로 모든 소프트웨어 패치가 필요합니다.

모든 사이트를 유지하는 것보다 훨씬 안전하기 때문에 확실히 고려할 가치가 있습니다.

1
John Hunt