Lynis를 사용하여 Linux 시스템의 보안을 감사하는 방법

게시 됨: 2022-01-29
Linux 시스템의 터미널 프롬프트.
Fatmawati Achmad Zaenuri/Shutterstock

Lynis를 사용하여 Linux 컴퓨터에서 보안 감사를 수행하면 시스템이 최대한 보호되도록 할 수 있습니다. 보안은 인터넷에 연결된 기기의 모든 것이므로 기기를 안전하게 잠그는 방법은 다음과 같습니다.

귀하의 Linux 컴퓨터는 얼마나 안전합니까?

Lynis는 Linux 운영 체제의 많은 시스템 구성 요소와 설정을 철저히 검사하는 일련의 자동화된 테스트를 수행합니다. 결과를 색상으로 구분된 ASCII 보고서에 등급 경고, 제안 및 취해야 할 조치 목록으로 표시합니다.

사이버 보안은 균형을 유지하는 행위입니다. 노골적인 편집증은 누구에게도 유용하지 않으므로 얼마나 걱정해야 합니까? 평판이 좋은 웹 사이트만 방문하고 원치 않는 이메일의 링크를 따르거나 첨부 파일을 열지 않고 로그인하는 모든 시스템에 대해 서로 다른 강력한 암호를 사용한다면 어떤 위험이 남아 있습니까? 특히 Linux를 사용할 때?

역으로 해결합시다. Linux는 맬웨어에 면역이 아닙니다. 사실 최초의 컴퓨터 웜은 1988년 Unix 컴퓨터를 목표로 설계되었습니다. 루트킷은 Unix 수퍼유저(루트)와 탐지를 피하기 위해 설치되는 소프트웨어(키트) 모음의 이름을 따서 명명되었습니다. 이것은 수퍼유저에게 위협 행위자(즉, 나쁜 사람)에 대한 액세스를 제공합니다.

루트 이름을 따서 지은 이유는 무엇입니까? 첫 번째 루트킷은 1990년에 출시되었고 SunOS Unix를 실행하는 Sun Microsystems를 대상으로 하기 때문입니다.

광고

따라서 맬웨어는 Unix에서 시작되었습니다. Windows가 이륙하고 각광을 받았을 때 울타리를 뛰어 넘었습니다. 그러나 이제 Linux가 세상을 지배하고 돌아왔습니다. macOS와 같은 Linux 및 Unix 계열 운영 체제는 위협 행위자의 완전한 관심을 받고 있습니다.

컴퓨터를 사용할 때 주의하고, 분별 있고, 주의를 기울이면 어떤 위험이 남아 있습니까? 답변이 길고 상세합니다. 요약하자면 사이버 공격은 다양하고 많습니다. 그들은 얼마 전까지만 해도 불가능하다고 여겼던 일을 할 수 있습니다.

Ryuk과 같은 루트킷은 Wake-on-LAN 모니터링 기능을 손상시켜 컴퓨터가 꺼져 있을 때 컴퓨터를 감염시킬 수 있습니다. 개념 증명 코드도 개발되었습니다. Ben-Gurion University of Negev의 연구원들은 공격자가 에어 갭 컴퓨터에서 데이터를 빼낼 수 있도록 하는 성공적인 "공격"을 시연했습니다.

미래에 사이버 위협이 무엇을 할 수 있는지 예측하는 것은 불가능합니다. 그러나 우리는 컴퓨터 방어의 어느 지점이 취약한지 알고 있습니다. 현재 또는 미래 공격의 특성에 관계없이 이러한 격차를 미리 메우는 것이 합리적입니다.

전체 사이버 공격 수 중 소수만이 특정 조직이나 개인을 의식적으로 표적으로 삼고 있습니다. 맬웨어는 사용자가 누구인지 신경 쓰지 않기 때문에 대부분의 위협은 무차별적입니다. 자동화된 포트 스캔 및 기타 기술은 취약한 시스템을 찾아 공격합니다. 당신은 취약함을 통해 자신을 희생자로 지목합니다.

그리고 거기에 린스가 등장합니다.

라이니스 설치

Ubuntu에 Lynis를 설치하려면 다음 명령을 실행합니다.

 sudo apt-get 설치 lynis 

Fedora에서 다음을 입력합니다.

 sudo dnf 설치 lynis 

Manjaro에서는 pacman 을 사용합니다.

 sudo pacman -Sy lynis 

감사 수행

Lynis는 터미널 기반이므로 GUI가 없습니다. 감사를 시작하려면 터미널 창을 엽니다. 클릭하고 모니터 가장자리로 끌어 전체 높이로 맞추거나 최대한 높이 늘립니다. Lynis의 출력이 많기 때문에 터미널 창이 높을수록 검토하기가 더 쉽습니다.

광고

또한 Lynis 전용 터미널 창을 열면 더욱 편리합니다. 위아래로 많이 스크롤해야 하므로 복잡한 이전 ​​명령을 처리할 필요가 없으므로 Lynis 출력을 더 쉽게 탐색할 수 있습니다.

감사를 시작하려면 다음과 같이 간단명료한 명령을 입력하십시오.

 sudo lynis 감사 시스템 

범주 이름, 테스트 제목 및 결과는 테스트의 각 범주가 완료되면 터미널 창에서 스크롤됩니다. 감사는 기껏해야 몇 분 밖에 걸리지 않습니다. 완료되면 명령 프롬프트로 돌아갑니다. 결과를 검토하려면 터미널 창을 스크롤하십시오.

감사의 첫 번째 섹션은 Linux 버전, 커널 릴리스 및 기타 시스템 세부 정보를 감지합니다.

검토해야 하는 영역은 주황색(제안)과 빨간색(해결해야 할 경고)으로 강조 표시됩니다.

다음은 경고의 예입니다. Lynis는 postfix 메일 서버 구성을 분석하고 배너와 관련이 있는 플래그를 지정했습니다. 발견한 내용과 문제가 될 수 있는 이유에 대한 자세한 내용은 나중에 얻을 수 있습니다.

아래에서 Lynis는 우리가 사용하는 Ubuntu 가상 머신에 방화벽이 구성되어 있지 않다고 경고합니다.

광고

결과를 스크롤하여 Lynis가 플래그를 지정한 항목을 확인합니다. 감사 보고서 하단에 요약 화면이 표시됩니다.

"경화 지수"는 시험 점수입니다. 우리는 100점 만점에 56점을 얻었습니다. 별로 좋지는 않습니다. 222개의 테스트가 수행되었으며 하나의 Lynis 플러그인이 활성화되었습니다. Lynis Community Edition 플러그인 다운로드 페이지로 이동하여 뉴스레터를 구독하면 더 많은 플러그인에 대한 링크를 받게 됩니다.

GDPR, ISO27001 및 PCI-DSS와 같은 표준에 대한 감사를 위한 플러그인을 포함하여 많은 플러그인이 있습니다.

녹색 V는 확인 표시를 나타냅니다. 호박색 물음표와 빨간색 X가 표시될 수도 있습니다.

방화벽과 맬웨어 스캐너가 있으므로 녹색 확인 표시가 있습니다. 테스트 목적으로 루트킷 탐지기인 rkhunter도 설치하여 Lynis가 탐지할 수 있는지 확인했습니다. 위에서 볼 수 있듯이 그렇게 했습니다. "Malware Scanner" 옆에 녹색 체크 표시가 있습니다.

감사에서 규정 준수 플러그인을 사용하지 않았기 때문에 규정 준수 상태를 알 수 없습니다. 이 테스트에서는 보안 및 취약성 모듈을 사용했습니다.

광고

로그 및 데이터 파일의 두 파일이 생성됩니다. "/var/log/lynis-report.dat"에 있는 데이터 파일은 우리가 관심을 갖고 있는 파일입니다. 여기에는 터미널 창에서 볼 수 있는 결과 사본(색상 강조 표시 없이)이 포함됩니다. . 이는 경화 지수가 시간이 지남에 따라 어떻게 향상되는지 확인하는 데 유용합니다.

터미널 창에서 뒤로 스크롤하면 제안 목록과 경고 목록이 표시됩니다. 경고는 "큰 티켓" 항목이므로 이를 살펴보겠습니다.

다음은 다섯 가지 경고입니다.

  • "Lynis의 버전은 매우 오래되었고 업데이트해야 합니다.": 이것은 실제로 Ubuntu 리포지토리에 있는 최신 버전의 Lynis입니다. 4개월 밖에 안됐지만 Lynis는 이것을 매우 오래된 것으로 간주합니다. Manjaro 및 Fedora 패키지의 버전은 최신 버전이었습니다. 패키지 관리자의 업데이트는 항상 약간 뒤쳐질 수 있습니다. 최신 버전을 원하면 GitHub에서 프로젝트를 복제하고 동기화된 상태로 유지할 수 있습니다.
  • "단일 모드에 대한 암호 설정 없음": 단일은 루트 사용자만 작동하는 복구 및 유지 관리 모드입니다. 기본적으로 이 모드에는 암호가 설정되어 있지 않습니다.
  • "응답하는 네임서버 2개를 찾을 수 없음": Lynis가 2개의 DNS 서버와 통신을 시도했지만 실패했습니다. 이것은 현재 DNS 서버가 실패하면 다른 서버로 자동 롤오버되지 않는다는 경고입니다.
  • "SMTP 배너에서 일부 정보 공개 발견": 정보 공개는 응용 프로그램이나 네트워크 장비가 표준 응답에서 제조업체 및 모델 번호(또는 기타 정보)를 제공할 때 발생합니다. 이를 통해 위협 행위자 또는 자동화된 맬웨어가 확인할 취약점 유형에 대한 통찰력을 얻을 수 있습니다. 연결한 소프트웨어나 장치를 식별하면 간단한 조회를 통해 악용할 수 있는 취약점을 찾을 수 있습니다.
  • "iptables 모듈이 로드되었지만 활성 규칙이 없습니다.": Linux 방화벽이 실행 중이지만 규칙이 설정되어 있지 않습니다.

경고 지우기

각 경고에는 문제와 해결 방법을 설명하는 웹 페이지에 대한 링크가 있습니다. 링크 중 하나 위에 마우스 포인터를 놓고 Ctrl 키를 누르고 클릭하기만 하면 됩니다. 해당 메시지 또는 경고에 대한 기본 브라우저가 웹페이지에서 열립니다.

이전 섹션에서 다룬 네 번째 경고에 대한 링크를 Ctrl+클릭하면 아래 페이지가 열립니다.

Lynis 감사 경고 웹 페이지.

이들 각각을 검토하고 해결할 경고를 결정할 수 있습니다.

위의 웹 페이지는 원격 시스템이 Ubuntu 컴퓨터에 구성된 postfix 메일 서버에 연결할 때 원격 시스템으로 전송되는 기본 정보 조각("배너")이 너무 장황하다고 설명합니다. 너무 많은 정보를 제공하는 것은 아무런 이점이 없습니다. 사실, 이는 종종 귀하에게 불리하게 사용됩니다.

광고

웹 페이지는 또한 배너가 "/etc/postfix/main.cf"에 있다고 알려줍니다. "$myhostname ESMTP"만 표시되도록 다시 다듬어야 한다고 조언합니다.

Lynis가 권장하는 대로 다음을 입력하여 파일을 편집합니다.

 sudo gedit /etc/postfix/main.cf 

배너를 정의하는 파일에서 라인을 찾습니다.

Lynis가 추천한 텍스트만 표시하도록 편집합니다.

변경 사항을 저장하고 gedit 를 닫습니다. 이제 변경 사항을 적용하려면 postfix 메일 서버를 다시 시작해야 합니다.

 sudo systemctl 다시 시작 접미사 

이제 Lynis를 한 번 더 실행하여 변경 사항이 적용되었는지 확인하겠습니다.

광고

"경고" 섹션에는 이제 4개만 표시됩니다. postfix 를 참조하는 것은 사라졌습니다.

하나는 다운되고 4개의 경고와 50개의 제안만 남았습니다!

당신은 얼마나 멀리 가야합니까?

컴퓨터에서 시스템 강화 작업을 한 번도 수행한 적이 없다면 거의 같은 수의 경고 및 제안이 표시될 것입니다. 그것들을 모두 검토하고 각각에 대한 Lynis 웹 페이지의 안내에 따라 문제를 해결할지 여부에 대한 판단을 내려야 합니다.

물론 교과서적인 방법은 그것들을 모두 지우려고 할 것입니다. 하지만 말처럼 쉽지 않을 수 있습니다. 또한 일부 제안은 일반 가정용 컴퓨터에 과도할 수 있습니다.

사용하지 않을 때 USB 액세스를 비활성화하기 위해 USB 커널 드라이버를 블랙리스트에 올리시겠습니까? 민감한 비즈니스 서비스를 제공하는 미션 크리티컬 컴퓨터의 경우 이것이 필요할 수 있습니다. 그러나 Ubuntu 가정용 PC의 경우? 아마 아닐 것입니다.