외부 공격으로부터 홈 서버를 보호하십시오.

오늘은 더 안전한 홈 서버 (또는 조금 더 큰 서버)를 만드는 방법에 대한 몇 가지 팁을 알려 드리겠습니다. 그러나 그들이 나를 산채로 찢어 버리기 전에.

완전히 안전한 것은 없습니다

이 잘 정의 된 예약으로 계속합니다.

나는 부분별로 갈 것이고 각 과정을 매우 신중하게 설명하지 않을 것입니다. 나는 그것을 언급하고 하나 또는 다른 작은 것을 명확히 할 것이므로 그들이 찾고있는 것에 대한 더 명확한 아이디어로 Google에 갈 수 있습니다.

설치 전 및 설치 중

  • 서버는 가능한 "최소"로 설치하는 것이 좋습니다. 이렇게하면 서비스가 존재하는지 또는 그 용도가 무엇인지 알지 못하는 서비스가 실행되는 것을 방지 할 수 있습니다. 이렇게하면 모든 설정이 자체적으로 실행됩니다.
  • 서버를 일상적인 워크 스테이션으로 사용하지 않는 것이 좋습니다. (이 게시물을 읽고 있습니다. 예)
  • 서버에 그래픽 환경이 없기를 바랍니다.

파티셔닝.

  • "/ home /" "/ tmp /" "/ var / tmp /" "/ opt /"와 같이 사용자가 사용하는 폴더는 시스템 파티션과 다른 파티션에 할당하는 것이 좋습니다.
  • "/ var / log"(모든 시스템 로그가 저장되는 위치)와 같은 중요한 폴더는 다른 파티션에 배치됩니다.
  • 이제 서버 유형에 따라 예를 들어 메일 서버 인 경우. 폴더 "/var/mail 및 / 또는 /var/spool/mail»별도의 파티션이어야합니다.

암호.

시스템 사용자 및 / 또는이를 사용하는 다른 유형의 서비스의 암호가 안전해야한다는 것은 누구에게도 비밀이 아닙니다.

권장 사항은 다음과 같습니다.

  • 다음은 포함되지 않습니다. 귀하의 이름, 애완 동물 이름, 친척 이름, 특별 날짜, 장소 등 결론적으로. 비밀번호에는 귀하와 관련된 어떤 것도 포함되어서는 안되며, 귀하 또는 귀하의 일상 생활을 둘러싼 어떤 것도 포함되어서는 안되며, 계정 자체와 관련된 것도 없어야합니다.  예 : 트위터 # 123.
  • 암호는 대문자, 소문자, 숫자 및 특수 문자 결합과 같은 매개 변수도 준수해야합니다.  예 : DiAFsd · $ 354 ″

시스템 설치 후

  • 개인적인 것입니다. 하지만 ROOT 사용자를 삭제하고 모든 권한을 다른 사용자에게 할당하는 것을 좋아하므로 해당 사용자에 대한 공격을 피합니다. 매우 흔합니다.
/ etc / sudoers 파일을 편집해야합니다. 여기에서 ROOT가되고 싶은 사용자를 추가 한 다음 이전 슈퍼 사용자 (ROOT)를 삭제합니다.
  • 사용하는 배포판의 보안 버그가 발표되는 메일 링리스트에 가입하는 것은 매우 실용적입니다. 가능한 버그에 대해 경고 할 수있는 블로그, bugzilla 또는 기타 인스턴스 외에도.
  • 항상 그렇듯이 시스템과 구성 요소를 지속적으로 업데이트하는 것이 좋습니다.
  • 어떤 사람들은 Grub 또는 LILO와 BIOS를 암호로 보호 할 것을 권장합니다.
  • 사용자가 암호를 변경하기 위해 기다려야하는 최소 시간 및 기타 옵션 외에도 사용자가 X 회마다 암호를 변경하도록하는 "chage"와 같은 도구가 있습니다.

PC를 보호하는 방법에는 여러 가지가 있습니다. 위의 모든 사항은 서비스를 설치하기 전입니다. 그리고 몇 가지만 언급하십시오.

읽을만한 가치가있는 매우 방대한 매뉴얼이 있습니다. 이 엄청난 가능성의 바다에 대해 배우기 위해 .. 시간이 지남에 따라 당신은 하나 또는 다른 것을 배웁니다. 그리고 당신은 그것이 항상 빠졌다는 것을 깨닫게 될 것입니다 .. 항상 ...

이제 조금 더 확인합시다 서비스. 나의 첫 번째 추천은 항상 : «기본 구성을 유지하지 마십시오». 항상 서비스 구성 파일로 이동하여 각 매개 변수가 수행하는 작업에 대해 약간 읽고 설치 한 그대로 두지 마십시오. 항상 문제가 발생합니다.

하나:

SSH (/ etc / ssh / sshd_config)

SSH에서는 위반하기가 쉽지 않도록 많은 일을 할 수 있습니다.

예를 들면 다음과 같습니다

-ROOT 로그인 허용 안함 (변경하지 않은 경우) :

"PermitRootLogin no"

-비밀번호를 비워 두지 마십시오.

"PermitEmptyPasswords no"

-청취하는 포트를 변경하십시오.

"Port 666oListenAddress 192.168.0.1:666"

-특정 사용자 만 인증합니다.

"AllowUsers alex ref me@somewhere"   me @ 어딘가는 해당 사용자가 항상 동일한 IP에서 연결하도록 강제하는 것입니다.

-특정 그룹을 승인합니다.

"AllowGroups wheel admin"

팁.

  • chroot를 통해 ssh 사용자를 감금하는 것은 매우 안전하며 거의 필수입니다.
  • 파일 전송을 비활성화 할 수도 있습니다.
  • 실패한 로그인 시도 횟수를 제한합니다.

거의 필수 도구.

Fail2ban : repos에있는이 도구를 사용하면 "ftp, ssh, apache ... etc"서비스 유형에 대한 액세스 수를 제한하여 시도 제한을 초과하는 IP를 금지 할 수 있습니다.

경화제 : 이는 방화벽 및 / 또는 기타 인스턴스로 설치를 "강화"하거나 오히려 무장시킬 수있는 도구입니다. 그들 중 "Harden 및 Bastille Linux«

침입자 탐지기 : 로그 및 경고를 통해 공격을 방지하고 보호 할 수있는 NIDS, HIDS 및 기타 도구가 많이 있습니다. 다른 많은 도구 중에서. 존재 "OSSEC«

결론적으로. 이것은 보안 매뉴얼이 아니라 상당히 안전한 서버를 갖기 위해 고려해야 할 일련의 항목이었습니다.

개인적인 조언으로. LOGS를보고 분석하는 방법에 대해 많이 읽고 Iptables 전문가가되자. 또한 서버에 더 많은 소프트웨어가 설치 될수록 취약 해집니다. 예를 들어 CMS를 잘 관리하고 업데이트하고 어떤 종류의 플러그인을 추가하는지 잘 살펴 봐야합니다.

나중에 특정 사항을 확인하는 방법에 대한 게시물을 보내고 싶습니다. 더 자세한 정보를 제공하고 연습을 할 수 있다면 거기에서.


Google에서 선호하는 검색 엔진으로 추가