새로운 우분투 서버 보안 [닫기]


답변:


25

우분투 특정 조정은 생각할 수 없지만 다음은 모든 배포판에 적용되는 몇 가지입니다.

  1. 불필요한 모든 패키지 제거
  2. SSH에서 공개 키 전용 인증 사용
  3. SSH를 통한 루트 로그인 비활성화 (우분투에는 적용되지 않음)
  4. PHP 생산 설정 사용 (php.ini 권장)
  5. 소켓 만 사용하도록 MySQL 구성

물론이 목록은 완전하지 않습니다, 당신은 완전히 안전 할 수 없을거야,하지만 모두가 활용 커버 내가 실제 생활에서 볼 수있다.

또한 내가 본 익스플로잇은 거의 안전하지 않은 구성이 아니라 안전하지 않은 사용자 코드와 관련이 있습니다. 최소한의 서버 배포에서 기본 구성은 상당히 안전한 경향이 있습니다.


1
MySQL (소켓 만 사용하도록 구성하는 경우는 제외), FTP (안전하지만 FTP를 전혀 사용하지 않아야 함), SSH 및 모든 종류와 같은 서비스의 포트를 변경하십시오.
Josh Hunt

3
"필요하지 않은 모든 패키지를 제거하십시오". 승인. 꽤 모호합니다. 어떤 '불필요한'패키지?
Luke

2
@Luke : 사용하지 않는 것은 불필요합니다. 기계를 불필요하게 위험에 빠뜨리지 않아도되는보다 구체적이고 실행중인 서비스
Andrioid

@Luke : cat / etc / services는 몇 가지 아이디어를 제공해야합니다.
jeshurun

17

내가 한 빠른 일 중 하나는 DenyHosts 설치 입니다 . 정기적으로 / var / log / secure를 살펴보고 실패한 로그인을 찾고 몇 번의 실패 후 IP를 차단합니다. 첫 번째 사용자가 아닌 사용자, 루트에서 두 번째 시도 및 실제 사용자에 대한 두 번의 시도 후 차단하도록 설정했습니다 (엉망이긴하지만 SSH 공개 키를 사용하여 로그인해야 함).


3
sourceforge 홈페이지에 링크 할 때 denyhosts는 "sudo aptitude install denyhosts"를 통해 저장소 (유니버설)에서도 사용 가능합니다.
Olaf

좋은 지적 @olaf. 내가 설치 한 대부분의 서버는 RHEL이며 DAG의 저장소에 있습니다.
Alister Bulman

+1
거부자

2
DenyHosts는 ssh brute force 공격 만 탐지하고 차단하는 것 같습니다. 더 나은 선택은 fail2ban (repos에서도 사용 가능)이며, 아파치 로그를 포함하여 다양한 것을 모니터링합니다. 의 커뮤니티 위키 확인 help.ubuntu.com/community/Fail2ban
여수 룬

10

우분투는 데비안을 기반으로하고 있으며 데비안 기반 배포판에서 데비안 매뉴얼 배포가 시스템을 완전히 안내하고 모든 부분을 검사하는 데 매우 유용하다는 것을 알았습니다 . 기본적으로 귀하의 질문에 대한 정말, 포괄적 인 답변입니다.


당신은 그것에 대한 링크가 있습니까?
Flame

1
죄송합니다. 링크가 게시물에 있다고 생각했습니다. 그것은에서있다 : debian.org/doc/manuals/securing-debian-howto
마이크 맥 퀘이드

5

나는 보통 RKHunter를 설치합니다.이 키트는 루트킷을 검사하고 다양한 중요한 시스템 바이너리의 무결성 검사를 수행합니다. 표준 저장소에 있으며 매일 cron에서 실행됩니다. 완벽하고 안전하지는 않지만 추가하는 노력이 적고 보호 수단을 제공합니다.


4

logcheck를 설치하십시오. 그러나 정기적 인 이벤트로부터 메시지를받지 않도록 조정하십시오. 그렇지 않으면 이메일을 무시하는 습관이 생깁니다.

netstat를 사용하여 수신중인 프로세스를 확인하고 실행할 필요가없는 프로세스가 없는지 확인하십시오. 모든 데몬 대신 내부 IP (또는 로컬 호스트)에서 수신 대기하도록 많은 데몬을 구성 할 수 있습니다.


3

제안 할 수있는 일을하십시오 ...

호스트를 Nmap하고 필수가 아닌 모든 서비스를 비활성화하십시오. 필요한 경우 iptables를 사용하십시오.


2
인터넷을 통해 액세스 할 수있는 모든 서버에서 항상 iptables가 필요합니다. ;-)
Christopher Cashell

3

서버가있는 인터넷 근처 어디든 갈 경우 snort와 같은 침입 탐지 시스템을 설치하십시오.


3

같은 다양한 디렉토리에 대한 별도의 파티션을 사용 /tmp하거나 /var하고 그들을 마운트 nosuid, nodev그리고 noexec가능하다면.


3

일부 방화벽 제안.

방화벽을 사용하고 상자를 올바르게 잠그는 개념을 배우십시오. 기본 포트를 변경하는 것은 크게 쓸모가 없습니다. 적절한 응용 프로그램 및 방화벽 구성이 훨씬 중요합니다.

둘 다 우분투 저장소에 있습니다.

FireHOL

훌륭한 문서가 있으며 구문을 익히기가 매우 쉽습니다. 20 분 안에 게이트웨이 / 방화벽을 설정할 수있었습니다. 내가 이것을 벗어난 유일한 이유는 유지되지 않는 것입니다 (2 년 전 마지막 릴리스). 작동하지 않는다는 의미는 아니지만 ...

또 하나입니다. 더 iptables와 같은 구문이지만 동일한 개념. FireHOL보다 더 많은 커뮤니티가 유지되지만 픽업하는 데 시간이 더 걸립니다.

쇼어 월

내가 현재 사용하는 것입니다. 설명서는 광범위하며 구성 형식은 표 형식입니다. 작동하는 방화벽 / 게이트웨이 구성을 실행하는 데 필요한 모든 파일 (6)을 이해하는 데 약 1 시간 30 분이 걸렸습니다. 꽤 강력합니다. 팁 : 다른 구성 파일에 대한 매뉴얼 페이지는 정말 유용합니다!

이러한 모든 구성 파일에서 방화벽 구성을로드합니다. iptables보다 매우 효과적이고 사용하기 쉬우 며 ufw보다 사용하기 쉽고 관리하기 쉽습니다.

다른:

  • SSH 키 사용에 대한 권장 사항은 두 번째입니다.

  • IDS를 설정하십시오.

  • AppArmor에 대해 알아보십시오. 실행 파일의 파일 액세스를 지정된 디렉토리 및 필요한 파일로만 제한합니다. RHEL 세계의 SELinux와 유사합니다. 잘 사용되는 많은 프로그램을 위해 사전 구성된 '프로파일'로 설치 및 활성화됩니다.


2

여기에 다른 제안뿐만 아니라 명확하지만 완전성에 대해 언급 할 가치가있는 세 가지를 언급 ​​할 것입니다.

  1. 방화벽이 필요 없다고 생각되면 다시 생각하십시오. ufw는 간단하지만 우분투 용으로 설계되었으며 iptables 기반
  2. 패키지 업데이트 : 최소한 모든 보안 패치를 적용하십시오.
  3. 서버 보안을 위해 수행 한 작업과 그 이유를 문서화하십시오. 로그를 모니터링하고 구성을 테스트하고 필요한 보안 업데이트를보고하는 자동화 된 프로세스 구성을 포함합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.