it-swarm-ko.tech

서버를 어떻게 보호해야합니까?

서버 에디션 인 Ubuntu 10.04와 관련하여 서버를 보호하기 위해 어떤 도구/실습을 권장하십니까?

22
Grant Palin

이것은 약간 비특이적이지만 일반적으로

  • iptables 또는 fw와 같은 방화벽을 실행하여 열린 포트에 대한 연결을 관리하십시오.

  • 필요한 소프트웨어 만 설치하십시오.

  • 서버 실행에 필수적인 서비스 만 실행하십시오.

  • 모든 보안 패치로 해당 소프트웨어를 최신 상태로 유지하십시오.

  • 업무 수행에 필요한 최소한의 권한으로 새 사용자를 설정하십시오.

  • denyhosts 또는 fail2ban을 실행하여 무차별 대입 공격을 확인하십시오.

  • logwatch를 실행하여 로그 파일의 이상을 이메일로 보냅니다.

  • 의심스러운 활동이 있는지 로그를 자주 확인하십시오.

  • 항상 Sudo를 사용하고 강력한 암호를 사용하십시오.

  • Apache, exim, proftpd, dovecot 등을 위해 SSL에서 약한 및 중간 강도의 암호를 비활성화합니다.

  • 로컬 호스트 만 청취하도록 서비스를 설정하십시오 (적절한 경우).

  • chkrootkit 매일 실행하십시오.

  • Windows 바이러스를 확인하는 데 필요한만큼 clamscan을 실행하십시오 (적절한 경우).

  • 주의를 기울이고 서버를 알고 서버가해야 할 일과하지 말아야 할 일을 알고 있어야합니다.

지속적으로 점검하고 보안을 유지하여 사물을 안전하게 유지해야합니다. 무엇을하는지, 어떻게, 왜, 왜 의심 스러운지 모르는 경우 다른 사람에게 조언을 구하십시오.

25
Richard Holloway

Richard Holloway의 멋진 답변입니다. 특정 단계별 가이드를 찾고 있다면 Slicehost 라이브러리에서 다음 2 개 파트 가이드를 확인하십시오.

  1. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-1
  2. http://articles.slicehost.com/2010/4/30/ubuntu-lucid-setup-part-2

우분투 서버 인스턴스를 설정해야 할 때 거의 모든 곳에서 사용합니다. 나는 당신이 그것을 좋아할 것이라고 확신합니다.

다른 훌륭한 소스는 http://library.linode.com/ 의 Linode Library입니다.

두 곳에서 기사를 확인하십시오. 많은 정보가 여기에 있으며 서버를 잘 처리 할 수있는 충분한 지식을 갖추고 있습니다.

추신 : 라이브러리가 훌륭한 시스템 관리자의 직관, 통찰력 및 의사 결정 기능을 대신 할 수는 없습니다.

9
Mir Nazim

내가 언급하지 않은 것은 "64 비트 사용"입니다. 이를 통해 무엇보다도 NX 메모리 보호 기능을 사용할 수 있습니다.

2
Kees Cook

내가 추천하는 세 가지 사항은 다음과 같습니다.

  • 전역 적으로 쓸 수있는 모든 영역 (/ tmp,/var/tmp)을 'noexec'로 마운트 : 시스템 업그레이드를 선택하지 않는 한 (필요한 경우를 제외하고) 별다른 문제없이 안전합니다. 자세한 내용은 Launchpad에서 버그 # 572723을 참조하십시오.

  • 꼭 필요한 경우가 아니면 컴파일러 또는 어셈블러를 설치하지 마십시오.이 설명은 필요하다고 생각합니다.

  • AppArmor 시작 : AppArmor는 SELinux의 대안으로 볼 수 있으며 Ubuntu의 뛰어난 기능으로 실행중인 응용 프로그램을 샌드 박스 처리하여 필요한 것보다 더 이상 액세스 할 수 없도록합니다. 관심이 있으시면 포럼에서 가이드를 검토하는 것이 좋습니다. http://ubuntuforums.org/showthread.php?t=1008906

1
ibuclaw
  • 환경에 적합한 규칙 세트를 사용하여 iptables를 설치하고 구성하십시오. 인바운드 및 아웃 바운드 트래픽을 모두 필터링합니다.
  • psad 시스템에 대한 모든 포트 스캔을 감지하고 경고합니다.
  • SSH에 대한 무차별 강제 로그인 시도를 방지하려면 fail2ban을 사용하십시오.
  • 루트 계정을 사용한 원격 액세스를 허용하지 않습니다. 이는 무엇보다도 공격자가 서버에 대한 강제 액세스를 시도 할 경우 사용자 이름과 암호를 모두 사용해야합니다.
  • 모든 사용자 계정에 강력한 암호를 사용하십시오.
  • 가능하면 특정 IP 주소에서만 SSH 액세스를 사용할 수 있도록 제한하십시오.
  • 다른 호스트 기반 침입 탐지 시스템의 Tripwire를 사용하십시오.
  • Nagios와 같은 네트워크 모니터링 프로그램으로 서버를 모니터링하십시오.
1
Mark Davidson

방화벽의 경우 gufw 로 @ Firestarter 또는 fw 를 볼 수 있습니다.

0
ssanj