프로덕션 용 보안 LAMP 서버


10

프로덕션 용도로 Linux, Apache, MySQL, PHP 서버 (또는 Perl)를 보호하는 절차는 무엇입니까?

Linux에서 MySQL 비밀번호와 루트 비밀번호를 설정하는 것 외에 다른 단계는 무엇입니까?

또한 추가 편집증 환자라면 일반적으로 필요하지 않을 수있는 단계는 무엇입니까?

기본 단일 사이트 용이지만 안전해야합니다.


자매 사이트의 Apache Hardening .
Marcin

답변:


13

이러한 권장 사항은 내 머리 꼭대기에서 벗어난 것이며 포괄적 인 것은 아닙니다.

Linux에서 모범 사례를 구현하는 일련의 스크립트 인 Bastille을 확인하십시오.

일반 텍스트 프로토콜을 통해 인증 데이터를 보내지 마십시오. 예를 들어, FTP를 비활성화하십시오. Apache를 통해 인증 데이터를 보내는 경우 SSL을 사용하십시오.

GUI 인터페이스를 포함하여 불필요한 소프트웨어를 비활성화하고 제거하십시오.

SUID 비트가 설정된 파일을 감사하고 제거하십시오. (이것은 비 루트 능력을 심각하게 제한 할 것입니다. 각 개별 변화에 대한 의미를 이해하십시오.)

쓰기 가능한 공개 디렉토리를 감사하고 쓰기 가능한 비트를 제거하십시오. (/ tmp 만 그대로 두십시오.)

데몬을 루트로 실행하지 마십시오.

보안 모범 사례를 위해 소켓에서 수신 대기하는 모든 다중 사용자 소프트웨어를 조사하십시오.

시스템에 사용자를 추가하지 않는 것이 가장 좋은 방법 중 하나입니다. 다중 사용자 시스템은 세부 사항에 더주의를 기울여야합니다.

비밀번호 표준을 시행하십시오. 예 : 문자와 숫자를 사용하는 영숫자가 아닌 문자 10 자 이상. 암호 파일이 손상된 경우 무차별 강제 실행을보다 어렵게 만듭니다. 시스템을 통해이를 시행하십시오.

최소 10 분의 잠금으로 5 번의 인증 시도 실패 후 사용자를 잠급니다. 사용자가 과거 5 개의 암호를 사용할 수 없도록 암호 기록을 유지하십시오.

더 큰 환경에서는 여러 서브넷으로 네트워크 분리를 사용하여 위험을 격리해야합니다. 소규모 환경 인 경우 로컬 시스템에서 방화벽을 실행하여 노출을 제한하는 것이 좋습니다. 예를 들어 IP에 SSH 만 허용합니다. 추가 레이어에도 tcpwrapper를 사용할 수 있습니다. (/etc/hosts.allow, /etc/hosts.deny)

물론 모든 소프트웨어를 최신 상태로 유지하십시오. 특히 공개 데몬.

SSH로 :

  • SSH 프로토콜 1 비활성화
  • 루트 인증 만 허용 without-password(키 쌍만)

아파치와 함께 :

  • 필요하지 않은 모듈 비활성화
  • .htaccess 및 공용 디렉토리 비활성화
  • FollowSymlink 및 불필요한 옵션 비활성화
  • 필요하지 않은 경우 PHP를 설치하지 마십시오.

MySQL의 경우 :

  • 기본 사용자를 비활성화합니다.
  • 와일드 카드 호스트를 사용하지 마십시오.
  • 모든 사용자에 대해 고유 한 호스트를 설정하십시오.
  • 필요한 경우가 아니면 tcp를 듣지 마십시오. (보통 피할 수 없습니다.)
  • 응용 프로그램 사용자 권한을 최대한 제한하십시오. (쓰기에 이상적인 SELECT, INSERT, UPDATE, DELETE 및 읽기에 대한 SELECT)

보안을 위해 php.ini 튜닝을 연구하는 것이 좋습니다. 기본적으로 더 위험한 소프트웨어입니다.

바스티유 감옥



2

다음은 설정의 기반으로 사용할 수 있고 배포에 따라 변경 될 수있는 좋은 기사입니다. http://it.toolbox.com/blogs/rayheffer/how-to-build-a-secure-lamp-web- 서버와 센 토스 -5-36786


그러나 기본적으로 명시 적으로 필요하지 않은 모듈을로드하지 말고 모든 버전 번호와 디버그 / 정보 페이지를 숨기고 암호가 강화 된 각 응용 프로그램마다 mysql 사용자를 만들고 항상 일반 사용자 계정을 사용하여 서버에서 작업하도록하고 사람들을 sudo로 설정하십시오 루트 권한이 필요한 경우 iptables와 같은 방화벽을 사용하고 상자 안에 꼭 들어올 필요가있는 포트만 열면됩니다. 최신 패치와 함께 이미 매우 안전한 설정을 제공합니다.
Alexandre Nizoux

이 기사는 좋지 않습니다. selinux를 비활성화하고, mysql을 강화하고, 불필요한 아파치 모듈을 비활성화하는 것에 대해 아무 것도 ...
sumar

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