안전하지 않은 인증 x 창 우분투. 위험한 Linux 취약점. 핵심 애플리케이션의 취약점

물론 우리는 이렇게 말할 수 있습니다. 리눅스안전한(보호) Windows보다. 안전 V 리눅스내장되어 있으며 Windows에서 구현되는 것처럼 측면 어딘가에 나사로 고정되어 있지 않습니다. 안전시스템 리눅스커널부터 데스크탑까지의 영역을 다루지만 해커가 홈 디렉토리(/home)를 손상시킬 가능성이 있습니다.

사진, 홈 비디오, 문서, 신용 카드 또는 지갑 데이터 등의 바이트 데이터는 컴퓨터에 포함된 가장 귀중한 정보입니다. 물론, Linux는 Windows용 모든 종류의 인터넷 웜 및 바이러스에 취약하지 않습니다. 그러나 공격자가 홈 디렉터리에 있는 데이터에 액세스하는 방법을 찾을 수도 있습니다.

기존 컴퓨터를 준비했거나 HDD판매하기 전에 포맷하면 충분할 것 같나요? 데이터 복구를 위한 최신 도구가 많이 있습니다. 해커가 쉽게 데이터를 복구할 수 있습니다. 하드 드라이브, 작업한 OS에 관계없이.

이 주제에 관해 나는 중고 컴퓨터와 디스크를 재구매한 한 회사의 경험을 기억합니다. 활동 과정에서 그들은 컴퓨터의 이전 소유자 중 90%가 저장 매체를 판매하기 전에 제대로 청소하지 않았다는 평결을 내렸습니다. 그리고 그들은 매우 민감한 데이터 바이트를 추출했습니다. 하드 드라이브 어딘가에 온라인 은행이나 온라인 지갑에 로그인할 수 있는 정보가 있을 것이라고 상상하기조차 어렵습니다.

Linux 보안 기본 사항 시작하기

거의 모든 것에 적합한 기본 ()으로 넘어 갑시다.
리눅스 배포판.

보다 완벽한 Linux 보안을 위해 Linux에서 파일 시스템을 암호화합시다

누구도 홈 디렉토리(/home)나 특정 바이트 크기를 읽을 수 없도록 하고 싶지 않은 이상 사용자 정의 비밀번호는 문제를 해결하지 못합니다. 가장 높은 루트 권한을 가진 사용자라도 코를 찔러넣을 수 없는 방식으로 이를 수행할 수 있습니다.

다른 사람이 복구할 수 없도록 중요한 파일을 삭제하세요.

컴퓨터나 저장 매체를 판매하거나 양도하기로 결정한 경우 단순히 포맷한다고 해서 파일이 영구적으로 삭제될 것이라고 생각하지 마십시오. 파일을 안전하게 삭제하기 위한 srm 유틸리티가 포함된 보안 삭제 도구를 Linux에 설치할 수 있습니다.

또한 Linux 커널의 방화벽을 잊지 마십시오. 모두 포함됨 리눅스 배포판코어의 일부인 lptables가 포함되어 있습니다. Lptables를 사용하면 네트워크 패킷을 필터링할 수 있습니다. 물론 이 유틸리티는 터미널에서 구성할 수 있습니다. 하지만 이 방법은 나를 포함한 많은 사람들의 능력을 넘어서는 것입니다. 그래서 마치 게임을 하는 것처럼 쉽게 설치하고 구성합니다.

모든 운영 체제와 마찬가지로 Linux는 다양한 응용 프로그램을 실행할 때 온갖 종류의 정크가 축적되기 쉽습니다. 브라우저, 텍스트 편집기, 심지어 비디오 플레이어와 같은 다양한 애플리케이션이 커널 수준에서 작동하지 않고 임시 파일을 축적하지 않기 때문에 이는 Linux의 잘못이 아닙니다. 범용 쓰레기 제거를 위해 BleachBit 유틸리티를 설치할 수 있습니다.

익명 서핑, IP 숨기기 - Linux에서 신원 보안에 매우 중요합니다.


마지막으로 익명 웹서핑에 대해 말씀드리고 싶습니다. 때로는 아내로부터 비밀리에 에로틱한 콘텐츠가 있는 사이트를 방문할 때처럼 필요한 경우가 있습니다. 물론 농담이었습니다.

공격자가 사용자의 위치를 ​​확인할 수 없으면 공격자가 사용자에게 접근하기 어려울 것입니다. 우리는 privoxy와 tor라는 두 가지 유틸리티가 함께 작동하는 간단한 설정으로 트랙을 다룹니다.

제 생각에는 이러한 모든 규칙을 따르고 구성하면 귀하와 귀하의 컴퓨터가 90% 안전해질 것입니다.

추신 저는 dropbox라는 클라우드를 사용하고 있습니다. 나는 아직 게시되지 않은 이전 기사와 새 기사를 저장합니다. 전 세계 어디에서나 모든 컴퓨터에서 파일에 액세스하는 것이 편리합니다. 웹사이트에 기사를 쓸 때 텍스트 에디터, 나는 내 것을 구한다 텍스트 문서비밀번호를 입력한 후에야 Dropbox 서버에 업로드합니다. 귀하의 손에만 작용할 추가 보안을 결코 무시해서는 안됩니다.

안녕하세요 여러분... Ubuntu의 모든 초보 관리자는 네트워크 인터페이스(네트워크, 네트워크 카드)를 설정하는 작업을 수행합니다. 이 기사에서는 이 작업을 수행하는 방법을 보여 드리겠습니다... 매우 간단하게 수행됩니다...

네트워크 설정을 놓쳤거나 배포판 설치에 어려움이 있었다면 이제 수동으로 설치하겠습니다. 그래서 우리는 배포판을 설치했고 공격에서 우리를 기다리고 있습니다... 네트워크 카드 2개를 구성해야 합니다..... 우리 중 한 명은 공급자를 향하고 다른 한 명은 공급자를 향하고 있습니다. 지역 네트워크. 바로 동의하고 인터페이스와 주소를 지정해 보겠습니다.

eth0— 192.168.0.1 (공급자가 발급한 주소라고 가정) 인터넷(공급자)을 조회하는 인터페이스
eth1— 10.0.0.1 (이 인터페이스에 제공하려는 주소) 로컬 네트워크를 향한 인터페이스

우선, 다음 명령으로 이미 어떤 인터페이스를 시작했는지 확인해 보겠습니다. ifconfig다음과 같은 내용이 표시됩니다(xxxxx 대신 데이터만 사용).

Eth0 링크 캡슐:Ethernet HWaddr хх:хх:хх:хх:хх:хх inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxxx.xxx 마스크:255.255.255.252 inet6 addr: xxx::xxx:xxx :xxx:xxxx/64 범위:링크 UP 브로드캐스트 실행 중 멀티캐스트 MTU:1500 측정항목:1 RX 패킷:31694097 오류:0 삭제됨:0 오버런:0 프레임:0 TX 패킷:15166512 오류:0 삭제:0 오버런:0 반송파: 0 충돌:0 txqueuelen:100 RX 바이트:2215593127(2.2GB) TX 바이트:1577680249(1.5GB) 메모리:b8820000-b8840000 eth1 링크 encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:10.0. 0.1 Bcast:10.0.0.255 마스크:255.255.255.0 inet6 xxxx: xxxx::xxxx:xxxf:xxx:xxx/64 범위:링크 업 브로드캐스트 실행 중 멀티캐스트 MTU:1500 메트릭:1 RX 패킷:11352041 오류:0 삭제:0 오버런 :0 프레임:0 TX 패킷:21539638 오류:0 삭제:0 오버런:0 캐리어:0 충돌:0 txqueuelen:100 RX 바이트:1262641422(1.2GB) TX 바이트:1922838889(1.9GB) 메모리:b8800000-b8820000 lo 링크 encap:Local loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 범위:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX 패킷:3823 오류:0 삭제:0 오버런: 0 프레임: 0 TX 패킷:3823 오류:0 삭제:0 오버런:0 반송파:0 충돌:0 txqueuelen:0 RX 바이트:717663(717.6KB) TX 바이트:717663(717.6KB)

인터페이스 중 하나가 표시되지 않으면 괜찮습니다. 그냥 비활성화되어 있습니다. 명령을 사용하여 활성화해 보겠습니다. sudo ifconfig eth1 위로(eth1 대신 인터페이스를 입력합니다. 네트워크 카드가 2개라면 인터페이스는 eth0과 eth1 2개만 있습니다.) 따라서 인터페이스를 활성화합니다.

sudo ifconfig eth1 위로

이제 설정을 시작해 보겠습니다.

다음 명령을 사용하여 공급자가 발급한 IP 주소를 eth0 인터페이스에 할당해 보겠습니다.

sudo ifconfig eth1 inet 192.168.0.2

그리고 네트워크 마스크를 지정합니다.

sudo ifconfig eth0 넷마스크 255.255.255.0

이렇게 설정한 내용은 서버를 재부팅한 후 재설정됩니다.
이런 일이 발생하지 않도록 하려면 설정을 변경해야 합니다. 구성 파일네트워크 인터페이스. 이를 위해서는 루트 권한이 필요합니다. 권리를 가지자 뿌리다음 명령을 사용하십시오.

sudo su

네트워크 인터페이스 구성 파일은 다음 위치에 있습니다. /etc/네트워크/인터페이스편집하려면 Nano 편집기를 사용합니다(자신의 편집기를 사용할 수 있음). 마음에 듭니다. 나노

나노 /etc/네트워크/인터페이스

우리는 다음을 봅니다:

# 이 파일은 시스템에서 사용할 수 있는 네트워크 인터페이스를 설명합니다. # 활성화 방법. 자세한 내용은 인터페이스(5)를 참조하세요. # 루프백 네트워크 인터페이스 자동 로 iface lo inet 루프백 # 기본 네트워크 인터페이스//기본 네트워크 인터페이스 자동 eth0//네트워크 인터페이스에 다음 속성 할당 iface eth0 inet 정적//네트워크 인터페이스를 자동으로 활성화합니다. 주소 192.168.0.2//네트워크 카드의 IP 주소(공급업체에서 발급) 넷마스크 255.255.255.0//우리 IP가 위치한 네트워크 마스크 네트워크 192.168.0.0//전체 범위의 네트워크 방송 192.168.0.255//최대. 주소 수 게이트웨이 192.168.0.1//게이트웨이 # dns-* 옵션은 resolvconf 패키지에 의해 구현됩니다(설치된 경우).

다음과 같은 형태로 줄여야 합니다.

# 이 파일은 시스템에서 사용할 수 있는 네트워크 인터페이스와 # 활성화 방법을 설명합니다. 자세한 내용은 인터페이스(5)를 참조하세요. # 루프백 네트워크 인터페이스 auto lo iface lo inet loopback # 기본 네트워크 인터페이스 auto eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 network 192.168.0.0 Gateway 192.168.0.1 # dns-* 옵션은 resolvconf 패키지에 의해 구현됩니다. dns-nameservers가 설치된 경우 192.168.22.22 192.168.33.33 #로컬 네트워크를 들여다보는 인터페이스 자동 eth1 iface eth1 inet 정적 주소 10.0.0.1 넷마스크 255.255.255.0

클릭하여 변경 사항을 저장합니다. Ctrl 키+ O 및 Ctrl + X를 눌러 종료합니다.

DNS 서버 주소는 /etc/network/interfaces 파일에서 설정할 수 있지만 Ubuntu의 DNS 서버 주소는 /etc/resolv.conf 파일을 통해 관리됩니다.

네임서버 xx.xx.xx.xx 네임서버 xx.xx.xx.xx

DNS를 구성해 보겠습니다. 이렇게 하려면 해당 줄에 다음 명령을 입력하세요.

Sudo nano /etc/resolv.conf # 공급자 DNS 서버의 IP 주소 네임서버 хх.ххх.ххх.ххх 네임서버 ххх.ххх.хх.ххх

저장하자 Ctrl + O그리고 우리는 나가 Ctrl +x또한 다음 명령을 사용하여 네트워크를 재부팅해야 합니다.

수술실은 다들 아시죠? 리눅스 시스템많이 윈도우보다 안전하다아키텍처와 사용자 간 액세스 분배를 위한 특수 시스템 덕분입니다. 하지만 프로그래머도 사람이기 때문에 아무리 좋아해도 실수를 하기 마련입니다. 그리고 이러한 오류로 인해 공격자가 보안 시스템을 우회할 수 있는 구멍이 시스템에 나타납니다.

이러한 오류를 취약점이라고 하며 다음에서 발생할 수 있습니다. 다양한 프로그램심지어 시스템의 핵심까지도 보안을 약화시킵니다. 뒤에 지난 몇 년 Linux의 인기가 높아지기 시작했으며 보안 연구자들은 이 시스템에 더 많은 관심을 기울이고 있습니다. 점점 더 많은 취약점이 발견되고 있으며 오픈 소스 코드 덕분에 매우 빠르게 제거할 수 있습니다. 이 기사에서는 지난 몇 년 동안 발견된 가장 위험한 Linux 취약점을 살펴보겠습니다.

취약점 목록으로 이동하기 전에 취약점이 무엇인지, 무엇인지 이해하는 것이 중요합니다. 내가 말했듯이, 취약점은 개발자가 의도하지 않은 방식으로 사용자가 프로그램을 사용할 수 있도록 허용하는 프로그램의 버그입니다.

이는 수신된 데이터의 정확성 확인, 데이터 소스 확인, 가장 흥미로운 데이터 크기 확인이 부족할 수 있습니다. 가장 위험한 취약점은 임의 코드 실행을 허용하는 취약점입니다. 안에 랜덤 액세스 메모리모든 데이터는 특정 크기를 가지며 프로그램은 특정 크기의 사용자로부터 데이터를 메모리에 쓰도록 설계되었습니다. 사용자가 더 많은 데이터를 전달하면 오류가 발생합니다.

그러나 프로그래머가 실수하면 데이터가 프로그램 코드를 덮어쓰고 프로세서가 이를 실행하려고 시도하므로 버퍼 오버플로 취약점이 발생합니다.

또한 모든 취약점은 로컬 취약점으로 분할될 수 있으며 이는 해커가 액세스할 수 있는 경우에만 작동합니다. 로컬 컴퓨터인터넷을 통한 액세스로 충분할 경우 원격으로 사용할 수 있습니다. 이제 취약점 목록으로 넘어가겠습니다.

1. 더러운 소

목록의 첫 번째 항목은 올 가을에 발견된 새로운 취약점입니다. Dirty COW라는 이름은 Copy on Write를 의미합니다. 쓰기 중 복사 중에 파일 시스템에 오류가 발생합니다. 이는 권한이 없는 사용자가 시스템에 대한 전체 액세스 권한을 얻을 수 있게 하는 로컬 취약점입니다.

간단히 말해서, 취약점을 악용하려면 두 개의 파일이 필요합니다. 하나는 슈퍼유저를 대신해서만 쓸 수 있고 다른 하나는 우리를 위해 쓸 수 있습니다. 우리는 다음을 통해 파일에 데이터를 여러 번 쓰고 슈퍼유저 파일에서 읽기 시작합니다. 특정 시간두 파일의 버퍼가 혼합되어 사용자가 쓸 수 없는 파일에 데이터를 쓸 수 있게 되어 시스템에 대한 루트 권한을 갖게 되는 때가 올 것입니다.

이 취약점은 약 10년 동안 커널에 존재했지만 발견 후 빠르게 수정되었습니다. 하지만 여전히 커널이 업데이트되지 않고 생각하지도 않는 수백만 대의 Android 장치가 있으며 이 취약점을 악용할 수 있습니다. 취약점 코드는 CVE-2016-5195였습니다.

2. Glibc 취약점

취약점 코드는 CVE-2015-7547입니다. 이는 오픈 소스 프로젝트에서 가장 많이 언급되는 취약점 중 하나입니다. 2016년 2월, Glibc 라이브러리에는 공격자가 원격 시스템에서 자신의 코드를 실행할 수 있는 매우 심각한 취약점이 있다는 사실이 발견되었습니다.

Glibc는 대부분의 언어에서 사용되는 표준 C 및 C++ 라이브러리의 구현이라는 점에 유의하는 것이 중요합니다. 리눅스 프로그램, PHP, Python, Perl과 같은 서비스 및 프로그래밍 언어를 포함합니다.

DNS 서버 응답을 구문 분석하는 코드에 오류가 발생했습니다. 따라서 이 취약점은 취약한 시스템에서 DNS에 액세스하는 해커와 MITM 공격을 수행하는 해커에 의해 악용될 수 있습니다. 그러나 취약점으로 인해 시스템에 대한 완전한 제어권이 부여되었습니다.

이 취약점은 2008년부터 라이브러리에 존재했지만 발견 후 패치가 상당히 빨리 출시되었습니다.

3.심혈

2014년에는 규모와 결과 측면에서 가장 심각한 취약점 중 하나가 발견되었습니다. 이는 OpenSSL 프로그램의 heartdead 모듈에 있는 버그로 인해 발생하므로 Heartbleed라는 이름이 붙었습니다. 이 취약점으로 인해 공격자는 64KB의 서버 RAM에 직접 액세스할 수 있었으며 모든 메모리를 읽을 때까지 공격이 반복될 수 있었습니다.

수정 사항이 매우 빠르게 출시되었음에도 불구하고 많은 사이트와 응용 프로그램이 영향을 받았습니다. 실제로 트래픽 보안을 위해 HTTPS를 사용한 모든 사이트는 취약했습니다. 공격자는 사용자 비밀번호, 개인 데이터 및 공격 당시 메모리에 있던 모든 것을 얻을 수 있습니다. 취약점 코드는 CVE-2014-0160입니다.

4.무대공포증

취약점에 코드명이 부여된 경우 이는 주의를 기울일 가치가 있음을 의미합니다. Stagerfight 취약점도 예외는 아닙니다. 사실, 이것은 실제로 Linux 문제가 아닙니다. Stagefright는 Android에서 멀티미디어 형식을 처리하기 위한 라이브러리입니다.

이는 C++로 구현되므로 모든 Java 보안 메커니즘을 우회합니다. 2015년에는 시스템에서 임의의 코드를 원격으로 실행할 수 있는 전체 취약점 그룹이 발견되었습니다. 여기에는 CVE-2015-1538, CVE-2015-1539, CVE-2015-3824, CVE-2015-3826, CVE-2015-3827, CVE-2015-3828 및 CVE-2015-3829가 있습니다.

공격자가 해야 할 일은 특별히 수정된 미디어 파일이 포함된 MMS를 취약한 스마트폰에 보내는 것뿐이었습니다. 그러면 공격자는 메모리 카드에서 데이터를 쓰고 읽을 수 있는 기능을 통해 장치에 대한 모든 권한을 얻게 됩니다. 이 취약점은 Android 개발자에 의해 수정되었지만 수백만 대의 장치는 여전히 취약한 상태로 남아 있습니다.

5. 커널 제로데이 취약점

이는 권한 상승을 허용하는 로컬 취약점입니다. 현재 사용자메모리에 저장된 커널 암호화 데이터 작업을 위한 시스템 오류로 인해 루팅되었습니다. 2016년 2월에 발견되었으며 3.8부터 모든 커널을 다루었습니다. 즉, 해당 취약점이 4년 동안 존재했다는 의미입니다.

해당 오류는 해커나 악의적인 사용자에 의해 사용될 수 있습니다. 소프트웨어시스템에서 권한을 높이기 위해 노력했지만 매우 빠르게 수정되었습니다.

6. MySQL의 취약점

이 취약점은 코드 CVE-2016-6662를 수신했으며 모든 항목에 영향을 미쳤습니다. 사용 가능한 버전데이터베이스 서버 MySQL 데이터(5.7.15, 5.6.33 및 5.5.52), Oracle 데이터베이스, MariaDB 및 PerconaDB 클론.

공격자는 다음을 통해 시스템에 대한 전체 액세스 권한을 얻을 수 있습니다. SQL 쿼리 my.conf를 해당 버전으로 바꾸고 서버를 재부팅할 수 있는 코드가 전송되었습니다. 슈퍼유저 권한으로 악성코드 실행도 가능했다.

MariaDB 및 PerconaDB 솔루션은 매우 빠르게 패치를 출시했으며 Oracle은 이에 대응했지만 훨씬 늦었습니다.

7. 쉘쇼크

이 취약점은 2014년에 발견되어 22년 동안 지속되었습니다. CVE-2014-6271이 할당되었으며 코드명은 Shellshock이었습니다. 이 취약점은 우리가 이미 알고 있는 Heartbleed와 유사한 위험을 가지고 있습니다. 이는 대부분의 Linux 배포판의 기본 명령 해석기인 Bash 명령 해석기의 버그로 인해 발생합니다.

Bash를 사용하면 다음을 선언할 수 있습니다. 환경 변수사용자 인증 없이도 함께 모든 명령을 실행할 수 있습니다. 이는 대부분의 사이트에서 지원되는 CGI 스크립트에서 특히 위험합니다. 서버가 취약할 뿐만 아니라, 개인용 컴퓨터사용자, 라우터 및 기타 장치. 실제로 공격자는 모든 명령을 원격으로 실행할 수 있는데, 이는 인증 없이도 본격적인 원격 제어가 가능합니다.

4.3을 포함한 모든 버전의 Bash가 영향을 받았지만 문제가 발견된 후 개발자는 신속하게 수정 사항을 출시했습니다.

8. 쿼드루터

이는 2016년 8월에 발견된 일련의 Android 취약점입니다. 이 취약점은 CVE-2016-5340, CVE-2016-2059, CVE-2016-2504, CVE-2016-2503 코드를 받았습니다. 9억 명 이상이 이 오류로 인해 영향을 받았습니다. 안드로이드 기기. Qualcomm ARM 프로세서 드라이버에서 모든 취약점이 발견되었으며 모두 사용 가능합니다. 뿌리 내리기장치에 대한 액세스.

DirtyCOW와 마찬가지로 여기서는 어떤 권한도 필요하지 않습니다. 악성 애플리케이션을 설치하기만 하면 모든 데이터를 획득하여 공격자에게 전송할 수 있습니다.

9. OpenJDK의 취약점

이는 코드 CVE-2016-0636을 사용하는 OpenJDK Java 시스템의 매우 심각한 Linux 2016 취약점으로, Windows, Solaris, Linux 및 Mac OS X용 Oracle Java SE 7 업데이트 97 및 8 업데이트 73 및 74를 실행하는 모든 사용자에게 영향을 미칩니다. 이 취약점으로 인해 취약한 Java 버전이 설치된 브라우저에서 특정 페이지를 열면 공격자가 Java 시스템 외부에서 임의의 코드를 실행할 수 있습니다.

이를 통해 공격자는 귀하의 비밀번호, 개인 데이터에 접근하고 귀하의 컴퓨터에서 프로그램을 실행할 수도 있습니다. 전체적으로 자바 버전이 오류는 매우 빠르게 수정되었으며 2013년부터 존재했습니다.

10. HTTP/2 프로토콜 취약점

이는 2016년 HTTP/2 프로토콜에서 발견된 일련의 취약점입니다. 이들은 CVE-2015-8659, CVE-2016-0150, CVE-2016-1546, CVE-2016-2525, CVE-2016-1544 코드를 받았습니다. Apache, Nginx Microsoft, Jetty 및 nghttp2에서 이 프로토콜의 모든 구현은 취약했습니다.

이들 모두는 공격자가 웹 서버 속도를 크게 저하시키고 서비스 거부 공격을 수행하도록 허용합니다. 예를 들어, 오류 중 하나는 서버에서 기가바이트 단위로 압축이 풀린 작은 메시지를 보낼 가능성으로 이어졌습니다. 버그는 매우 빠르게 수정되었으므로 커뮤니티에 큰 소음을 일으키지 않았습니다.

괜찮아?

이 기사에서는 2016년, 2015년, 2014년에 가장 위험한 Linux 취약점을 살펴보았습니다. 대부분은 제때에 수정되지 않으면 시스템에 심각한 피해를 줄 수 있습니다. 오픈 소스 코드 덕분에 이러한 Linux 취약점은 효과적으로 감지되고 신속하게 수정됩니다. 시스템을 업데이트하는 것을 잊지 마십시오. 문제는 Android에만 남아 있습니다. 일부 장치는 더 이상 업데이트를 받지 못하며 아직 이 문제에 대한 해결책이 없습니다.

Linux OS를 실행하는 서버가 가장 안전하고 외부 침입으로부터 보호된다는 일반적인 오해가 있습니다. 불행하게도 이는 사실이 아니며 모든 서버의 보안은 이를 보장하기 위한 다양한 요소와 조치에 따라 달라지며 실제로 사용되는 운영 체제와는 독립적입니다.

우리는 Ubuntu Server를 사용한 네트워크 보안에 관한 일련의 기사를 시작하기로 결정했습니다. 왜냐하면 이 플랫폼의 솔루션은 독자들에게 큰 관심을 갖고 있고 많은 사람들이 Linux 솔루션 자체가 안전하다고 믿기 때문입니다.

동시에, 전용 IP 주소를 가진 라우터는 로컬 네트워크에 대한 "게이트"이며, 이 게이트가 신뢰할 수 있는 장벽이 될지 아니면 폐쇄된 국가 게이트로 판명될지는 관리자에게만 달려 있습니다. 못.

또 다른 일반적인 오해는 "누가 그것을 필요로 하는지, 우리 서버는 흥미롭지 않습니다."라는 스타일로 추론하는 것입니다. 실제로, 로컬 네트워크는 공격자에게 아무런 관심이 없을 수도 있지만 해킹된 서버를 사용하여 스팸을 보내고 다른 서버에 대한 공격, 즉 익명 프록시를 음흉한 거래의 출발점으로 사용할 수 있습니다.

그리고 이것은 이미 불쾌하며 공급자부터 법 집행 기관에 이르기까지 다양한 문제의 원인이 될 수 있습니다. 그리고 바이러스 확산, 도난, 파괴에 대해 중요한 정보또한 기업의 가동 중지 시간으로 인해 상당한 손실이 발생한다는 사실도 잊어서는 안됩니다.

이 기사가 Ubuntu Server에 관한 것이라는 사실에도 불구하고 먼저 모든 플랫폼에 동일하게 적용되고 기본인 일반적인 보안 문제를 살펴보겠습니다. 이 문제가 없으면 문제를 더 자세히 논의할 필요가 없습니다.

안전은 어디에서 시작되나요?

아니요, 보안은 방화벽으로 시작되지 않습니다. 전혀 방화벽으로 시작되지 않습니다. 기술적 수단, 보안은 사용자로부터 시작됩니다. 결국, 주인이 열쇠를 양탄자 아래에 남겨둔다면 최고의 전문가가 설치한 가장 멋진 금속 문이 무슨 소용이 있을까요?

따라서 가장 먼저 해야 할 일은 보안 감사를 실시하는 것입니다. 이 단어에 겁먹지 마십시오. 모든 것이 그렇게 복잡하지는 않습니다. 안전 구역, 잠재적 위험 구역 및 고위험 구역을 표시하는 개략적인 네트워크 계획을 그리고 다음과 같은 사용자 목록을 작성하십시오. 액세스) 이 영역에 액세스합니다.

안전지대에는 다음이 포함되어야 합니다. 내부 자원외부에서 접근할 수 없고 낮은 수준의 보안이 허용되는 네트워크. 워크스테이션, 파일 서버 등이 될 수 있습니다. 액세스가 기업 로컬 네트워크로 제한되는 장치.

잠재적인 위험 영역에는 외부 네트워크에 직접 액세스할 수 없지만 개별 서비스를 외부에서 액세스할 수 있는 서버 및 장치가 포함됩니다. 예를 들어 방화벽 뒤에 있는 웹 및 메일 서버는 여전히 외부 네트워크의 요청을 처리합니다.

위험 구역에는 외부에서 직접 접근할 수 있는 장치가 포함되어야 하며, 이상적으로는 하나의 라우터여야 합니다.

가능하다면 잠재적으로 위험한 구역은 별도의 서브넷, 즉 추가 방화벽으로 주 네트워크와 분리된 비무장지대(DMZ)에 배치해야 합니다.

LAN 장치는 DMZ에서 필요한 서비스(예: SMTP, POP3, HTTP 등)에만 액세스할 수 있어야 하며 기타 연결은 차단되어야 합니다. 이를 통해 비무장지대에 있는 별도 서비스의 취약점을 이용하는 공격자나 악성 코드를 안정적으로 격리하여 주 네트워크에 대한 액세스를 거부할 수 있습니다.

물리적으로는 별도의 서버/하드웨어 방화벽을 설치하거나 방화벽을 추가하여 DMZ를 구성할 수 있습니다. 네트워크 카드하지만 후자의 경우에는 라우터 보안에 세심한 주의를 기울여야 합니다. 그러나 어떤 경우에도 서버 그룹보다 단일 서버의 보안을 보장하는 것이 훨씬 쉽습니다.

다음 단계는 사용자 목록을 분석하여 DMZ 및 라우터(공용 서비스 제외)에 모두 액세스해야 하는지 여부를 분석하는 것입니다. 외부에서 연결하는 사용자에게는 특별한 주의를 기울여야 합니다.

일반적으로 이를 위해서는 비밀번호 정책을 시행하는 매우 인기 없는 단계가 필요합니다. 중요한 서비스에 접근할 수 있고 외부에서 연결할 수 있는 사용자의 모든 비밀번호는 6자 이상이어야 하며 다음을 포함해야 합니다. 소문자, 대문자, 숫자, 알파벳이 아닌 문자 등 세 가지 범주 중 두 가지 범주의 문자입니다.

또한 비밀번호에는 사용자 로그인이나 그 일부가 포함되어서는 안 되며, 사용자와 연관될 수 있는 날짜나 이름도 포함되어서는 안 되며, 사전에 나오는 단어가 아니어야 합니다.

30~40일마다 비밀번호를 변경하는 습관을 들이는 것이 좋습니다. 이러한 정책으로 인해 사용자가 거부할 수 있다는 점은 분명하지만 다음과 같은 비밀번호는 항상 기억해야 합니다. 123 또는 쿼티양탄자 밑에 열쇠를 두는 것과 같습니다.

서버 보안 - 추가 사항은 없습니다.

이제 우리가 무엇을 보호하고 싶은지, 무엇으로부터 보호하고 싶은지 생각하고 서버 자체로 넘어 갑시다. 모든 서비스 및 서비스 목록을 작성한 다음 이 특정 서버에 모두 필요한지 아니면 다른 곳으로 이동할 수 있는지 생각해 보세요.

서비스 수가 적을수록 보안을 보장하기가 더 쉽고 서비스 중 하나의 심각한 취약점으로 인해 서버가 손상될 가능성이 줄어듭니다.

로컬 인터페이스에서만 요청을 수락하도록 로컬 네트워크(예: squid)를 제공하는 서비스를 구성합니다. 외부에서 사용 가능한 서비스가 적을수록 좋습니다.

취약점 스캐너는 보안을 보장하는 데 유용한 보조 도구이므로 서버의 외부 인터페이스를 스캔하는 데 사용해야 합니다. 우리는 가장 유명한 제품 중 하나인 XSpider 7.7의 데모 버전을 사용했습니다.

스캐너가 보여줍니다 열린 포트, 실행 중인 서비스 유형을 확인하고 성공할 경우 해당 서비스의 취약점을 확인하려고 시도합니다. 보시다시피 올바르게 구성된 시스템은 매우 안전하지만 키를 러그 아래에 두어서는 안 됩니다. 열린 포트 1723(VPN) 및 3389(RDP, 다음으로 전달됨) 터미널 서버)은 비밀번호 정책에 대해 생각해 볼 좋은 이유입니다.

SSH 보안에 대해서도 이야기해야 합니다. 이 서비스는 일반적으로 관리자가 다음 용도로 사용합니다. 리모콘서버이며 공격자의 관심이 높아졌습니다. SSH 설정은 파일에 저장됩니다. /etc/ssh/sshd_config, 아래에 설명된 모든 변경 사항이 적용됩니다. 우선 루트 사용자의 인증을 비활성화해야 합니다. 이렇게 하려면 다음 옵션을 추가하세요.

PermitRoot로그인 없음

이제 공격자는 비밀번호뿐만 아니라 로그인 정보도 추측해야 하며 여전히 슈퍼유저 비밀번호를 알 수 없습니다(귀하의 비밀번호와 일치하지 않기를 바랍니다). 외부에서 연결할 때 모든 관리 작업은 아래에서 수행해야 합니다. sudo권한이 없는 사용자로 로그인합니다.

허용된 사용자 목록을 명시적으로 지정하는 것이 좋습니다. 다음과 같은 항목을 사용할 수 있습니다. 사용자@호스트, 지정된 사용자가 지정된 호스트에서만 연결할 수 있도록 허용합니다. 예를 들어, 사용자 ivanov가 집(IP 1.2.3.4)에서 연결하도록 허용하려면 다음 항목을 추가해야 합니다.

허용사용자 [이메일 보호됨]

또한 오래되고 덜 안전한 SSH1 프로토콜의 사용을 비활성화하여 프로토콜의 두 번째 버전만 허용합니다. 이렇게 하려면 다음 줄을 형식으로 변경합니다.

프로토콜 2

모든 조치를 취했음에도 불구하고 여전히 SSH 및 기타 공용 서비스에 연결하려는 시도가 있을 것입니다. 비밀번호 추측을 방지하려면 유틸리티를 사용하세요. 실패2금지, 여러 번의 로그인 시도 실패 후 사용자를 자동으로 차단할 수 있습니다. 다음 명령을 사용하여 설치할 수 있습니다.

Sudo apt-get 설치 실패2반

이 유틸리티는 설치 후 즉시 작동할 준비가 되어 있지만 일부 매개변수를 즉시 변경하는 것이 좋습니다. 이렇게 하려면 파일을 변경하십시오. /etc/fail2ban/jail.conf. 기본적으로 SSH에 대한 액세스만 제어되며 금지 시간은 10분(600초)입니다. 다음 옵션을 변경하여 이를 늘릴 가치가 있다고 생각합니다.

반타임 = 6000

그런 다음 파일을 스크롤하고 해당 섹션 이름 뒤에 매개변수를 설정하여 시스템에서 실행 중인 서비스에 대한 섹션을 활성화합니다. 활성화됨상태에서 진실, 예를 들어 서비스의 경우 proftpd다음과 같이 보일 것입니다:


활성화 = 사실

또 다른 중요한 매개변수 최대 재시도, 최대 연결 시도 횟수를 담당합니다. 설정을 변경한 후 서비스를 다시 시작하는 것을 잊지 마세요.

Sudo /etc/init.d/fail2ban 다시 시작

다음에서 유틸리티 로그를 볼 수 있습니다. /var/log/fail2ban.log.

cvedetails.com에 따르면 1999년 이후 Linux 커널에서 1,305개의 취약점이 발견되었으며, 그 중 68개가 2015년에 발견되었습니다. 대부분은 특별한 문제를 일으키지 않으며 로컬 및 낮음으로 표시되며 일부는 특정 응용 프로그램이나 OS 설정에 연결되어야만 호출할 수 있습니다. 원칙적으로 숫자는 작지만 커널이 전체 OS는 아닙니다. 취약점은 GNU Coreutils, Binutils, glibs는 물론 사용자 애플리케이션에서도 발견됩니다. 가장 흥미로운 것들을 살펴 보겠습니다.

리눅스 커널의 취약점

운영체제:리눅스
수준:중간, 낮음
벡터:원격
CVE: CVE-2015-3331, CVE-2015-4001, CVE-2015-4002, CVE-2015-4003
악용하다:개념, https://lkml.org/lkml/2015/5/13/740, https://lkml.org/lkml/2015/5/13/744

6월에 3.19.3 이전 Linux 커널의 Arch/x86/crypto/aesni-intel_glue.c에 있는 __driver_rfc4106_decrypt 함수에서 발견된 취약점은 AES 명령어 세트 확장 AES-NI(제안됨)를 지원하는 x86 프로세서용 RFC4106 구현으로 인해 발생합니다. Intel, Intel Advanced Encryption Standard Instructions)에서는 경우에 따라 버퍼 주소를 올바르게 계산하지 않습니다. IPsec 터널이 이 모드(AES 알고리즘 - CONFIG_CRYPTO_AES_NI_INTEL)를 사용하도록 구성된 경우 취약점으로 인해 메모리 손상, 충돌 및 원격 CryptoAPI 코드 실행이 발생할 수 있습니다. 더욱이 가장 흥미로운 점은 문제가 외부 개입 없이 완전히 합법적인 트래픽에서 자체적으로 발생할 수 있다는 것입니다. 게시 당시 문제가 해결되었습니다.

실험적 상태인 Linux 4.0.5 ozwpan 드라이버에서 5가지 취약점이 확인되었으며, 그 중 4개는 특별히 설계된 패킷을 보내 커널을 충돌시켜 DoS 공격을 구성할 수 있습니다. 문제는 부호 있는 정수의 잘못된 처리로 인한 버퍼 오버플로와 관련이 있습니다. 이 경우 memcpy의 필수 크기와 오프셋 사이의 계산이 음수를 반환하여 결과적으로 데이터가 힙에 복사됩니다.

drivers/staging/ozwpan/ozhcd.c의 oz_hcd_get_desc_cnf 함수와 drivers/staging/ozwpan/ozusbsvc1.c 파일의 oz_usb_rx 및 oz_usb_handle_ep_data 함수에서 발견됩니다. 다른 취약점에는 0으로 나누기, 시스템 루핑 또는 할당된 버퍼 범위 외부 영역에서 읽는 기능이 포함되어 있습니다.

Linux에 새로 추가된 ozwpan 드라이버는 Ozmo Devices 기술( Wi-Fi 다이렉트). USB 호스트 컨트롤러의 구현을 제공하지만 물리적 연결 대신 주변 장치가 Wi-Fi를 통해 통신한다는 점이 트릭입니다. 드라이버는 유형(ethertype) 0x892e의 네트워크 패킷을 받아들인 다음 이를 구문 분석하고 이를 다양한 USB 기능으로 변환합니다. 현재로서는 드문 경우에 사용되므로 ozwpan.ko 모듈을 언로드하여 비활성화할 수 있습니다.

리눅스 우분투

운영체제: 리눅스 우분투 4/12~04/15(2015년 6월 15일까지 핵심)
수준:비판적인
벡터:현지의
CVE: CVE-2015-1328
악용하다: https://www.exploit-db.com/exploits/37292/

OverlayFS 파일 시스템의 심각한 취약점으로 인해 권한이 없는 사용자가 OverlayFS 파티션을 마운트할 수 있는 Ubuntu 시스템의 루트 액세스가 허용됩니다. 취약점을 악용하는 데 필요한 기본 설정은 Ubuntu 12.04~15.04의 모든 분기에서 사용됩니다. OverlayFS 자체는 비교적 최근에 Linux 커널에 등장했습니다. 3.18-rc2(2014)부터 시작하여 UnionFS 및 AUFS를 대체하기 위한 SUSE 개발입니다. OverlayFS를 사용하면 가상 다중 레이어를 생성할 수 있습니다. 파일 시스템, 다른 파일 시스템의 여러 부분을 결합합니다.

파일 시스템은 하위 계층과 상위 계층에서 생성되며 각각은 별도의 디렉터리에 연결됩니다. 맨 아래 계층은 네트워크 계층을 포함하여 Linux에서 지원되는 모든 파일 시스템의 디렉터리에서만 읽는 데 사용됩니다. 상단 레이어는 일반적으로 쓰기 가능하며 파일이 복제되면 하단 레이어의 데이터를 재정의합니다. 라이브 배포, 컨테이너 가상화 시스템 및 일부 데스크톱 애플리케이션의 컨테이너 운영 구성에 수요가 있습니다. 사용자 네임스페이스를 사용하면 컨테이너에 고유한 사용자 및 그룹 ID 집합을 만들 수 있습니다. 이 취약점은 기본 파일 시스템의 디렉터리에 새 파일을 생성할 때 액세스 권한을 잘못 확인하여 발생합니다.

커널이 CONFIG_USER_NS=y(사용자 네임스페이스 활성화)로 빌드되고 마운트 시 FS_USERNS_MOUNT 플래그가 지정된 경우 일반 사용자가 다른 네임스페이스에 OverlayFS를 마운트할 수 있습니다. 루트 권한. 이 경우 해당 네임스페이스에서 수행되는 루트 권한이 있는 파일 작업은 기본 파일 시스템으로 작업을 수행할 때 동일한 권한을 받습니다. 따라서 모든 FS 파티션을 마운트하고 파일이나 디렉터리를 보거나 수정할 수 있습니다.

출판 당시 Ubuntu의 고정 OverlayFS 모듈이 포함된 커널 업데이트가 이미 사용 가능했습니다. 그리고 시스템이 업데이트되면 문제가 없을 것입니다. 같은 경우에도 업데이트가 불가능할 경우 임시조치로 overlayfs.ko 모듈을 제거하여 OverlayFS 사용을 중단하셔야 합니다.

주요 애플리케이션의 취약점

운영체제:리눅스
수준:비판적인
벡터:로컬, 원격
CVE: CVE-2015-0235
악용하다: https://www.qualys.com/research/security-advisories/exim_ghost_bof.rb

위험한 취약점 표준 라이브러리 Linux OS의 핵심 부분인 GNU glibc는 Qualys 해커의 코드 감사 중에 발견되었으며 Oracle Communications Application 및 Oracle Pillar Axiom의 일부 버전에서 발견되었습니다. 코드명 GHOST를 받았습니다. 이는 gethostbyname() 및 gethostbyname2()와 같은 glibc 함수에서 호스트 이름(따라서 GetHOST라는 이름)을 가져오는 데 사용되는 __nss_hostname_digits_dots() 함수 내부의 버퍼 오버플로입니다. 취약점을 악용하려면 DNS를 통해 이름 확인을 수행하는 애플리케이션에 잘못된 호스트 이름 인수를 사용하여 버퍼 오버플로를 발생시켜야 합니다. 즉, 이론적으로 이 취약점은 어느 정도 네트워크를 사용하는 모든 애플리케이션에 적용될 수 있습니다. 로컬 및 원격으로 호출하여 임의의 코드를 실행할 수 있습니다.

가장 흥미로운 점은 2013년 5월에 오류가 수정되었고 glibc 2.17과 2.18 릴리스 사이에 패치가 제시되었지만 문제가 보안 ​​패치로 분류되지 않아 아무런 관심도 받지 못했다는 것입니다. 결과적으로 많은 배포판이 취약한 것으로 나타났습니다. 최초의 취약한 버전은 2000년 11월 10일자 2.2인 것으로 당초 보고되었으나, 2.0까지 나타날 가능성이 있다. 그 중에서도 RHEL/CentOS 5.x–7.x, Debian 7 및 Ubuntu 12.04 LTS 배포판이 영향을 받았습니다. 현재 핫픽스를 사용할 수 있습니다. 해커들은 취약점의 본질을 설명하고 시스템을 점검할 수 있는 유틸리티를 제안했습니다. Ubuntu 12.04.4 LTS에서는 모든 것이 정상입니다.

$ wget https : //goo.gl/RuunlE

$gcc gistfile1. c - o CVE - 2015 - 0235

$. / CVE - 2015 - 0235

취약하지 않음

GHOST에서 시스템 확인하기

거의 즉시 x86 및 x86_64 Linux에서 작동하는 코드를 원격으로 실행할 수 있는 모듈이 출시되었습니다. 메일 서버 Exim(helo_try_verify_hosts 또는 helo_verify_hosts 활성화). 나중에 WordPress에서 블로그를 확인하기 위한 Metasploit 모듈과 같은 다른 구현이 나타났습니다.

조금 뒤인 2015년에는 원격 사용자가 DoS 공격을 수행하거나 스택 경계 외부의 메모리 셀을 덮어쓸 수 있도록 허용하는 GNU glibc에서 세 가지 취약점이 더 발견되었습니다: CVE-2015-1472, CVE-2015-1473, CVE-2015- 1781.

운영체제:리눅스(GNU Coreutils)
수준:낮은
벡터:로컬, 원격
CVE: CVE-2014-9471
악용하다:아니요

GNU Coreutils는 거의 모든 기본 유틸리티(cat, ls, rm, date...)를 포함하는 주요 *nix 패키지 중 하나입니다. 문제는 날짜에서 발견되었습니다. pars_datetime 함수의 버그로 인해 원격 공격자가 계정시스템에서 서비스 거부를 유발하고 시간대를 사용하여 특별히 제작된 날짜 문자열을 통해 임의 코드를 실행할 수도 있습니다. 취약점은 다음과 같습니다.

$ touch '-- 날짜 = TZ = "123"345"@1'

세그멘테이션 오류

$ 날짜 - d 'TZ = "유럽 / 모스크바" "00 : 00 + 1시간"'

세그멘테이션 오류

$ 날짜 '-- 날짜 = TZ = "123"345"@1'

* * * `date' 오류: free(): 잘못된 포인터: 0xbfc11414 * * *

GNU Coreutils의 취약점

취약점이 없으면 잘못된 날짜 형식에 대한 메시지를 받게 됩니다. 거의 모든 Linux 배포판 개발자가 취약점의 존재를 보고했습니다. 현재 업데이트를 사용할 수 있습니다.


패치된 GNU Coreutils의 일반 출력

운영체제:리눅스(grep 2.19–2.21)
수준:낮은
벡터:현지의
CVE: CVE-2015-1345
악용하다:아니요

패턴을 사용하여 텍스트를 검색하는 데 사용되는 grep 유틸리티에서는 취약점이 거의 발견되지 않습니다. 그러나이 유틸리티는 시스템 프로그램을 포함한 다른 프로그램에서 호출되는 경우가 많으므로 취약점의 존재는 언뜻 보이는 것보다 훨씬 더 문제가 됩니다. kwset.c에 있는 bmexec_trans 함수의 버그로 인해 할당된 버퍼 외부 영역에서 초기화되지 않은 데이터를 읽거나 애플리케이션이 중단될 수 있습니다. 해커는 grep -F를 사용하여 애플리케이션 입력에 제공되는 특수 데이터 세트를 생성하여 이를 활용할 수 있습니다. 현재 업데이트를 사용할 수 있습니다. Metasploit의 취약점이나 모듈을 사용하는 익스플로잇은 없습니다.

FREEBSD의 취약점

운영체제: FreeBSD
수준:낮은
벡터:로컬, 원격
CVE: CVE-2014-0998, CVE-2014-8612, CVE-2014-8613
악용하다: https://www.exploit-db.com/exploits/35938/

2015년 CVE 데이터베이스에는 취약점이 많지 않습니다. 더 정확하게 말하면 6개뿐입니다. Core Exploit Writers Team의 연구원들은 2015년 1월 말 FreeBSD 8.4-10.x에서 세 가지 취약점을 발견했습니다. CVE-2014-0998은 /boot/loader.conf의 kern.vty=vt 매개변수로 활성화되는 여러 가상 터미널을 제공하는 VT 콘솔 드라이버(Newcons)의 구현과 관련되어 있습니다.
CVE-2014-8612는 SCTP 프로토콜을 사용할 때 발생하며 SCTP 소켓(로컬 포트 ​​4444)을 구현하는 SCTP 스트림 ID 확인 코드의 오류로 인해 발생합니다. 본질은 sctp_setopt() 함수(sys/netinet/sctp_userreq.c)의 메모리 부족 오류입니다. 이를 통해 권한이 없는 로컬 사용자는 16비트 커널 메모리 데이터를 쓰거나 읽을 수 있고 시스템에 대한 권한을 승격하거나 중요한 데이터를 공개하거나 시스템을 충돌시킬 수 있습니다.

CVE-2014-8613은 SCTP_SS_VALUE SCTP 소켓 옵션이 설정된 경우 외부에서 수신된 SCTP 패킷을 처리할 때 NULL 포인터 역참조가 트리거되도록 허용합니다. 이전 버전과 달리 CVE-2014-8613은 특별히 제작된 패킷을 전송하여 원격으로 커널 충돌을 일으키는 데 사용될 수 있습니다. FreeBSD 10.1에서는 net.inet.sctp.reconfig_enable 변수를 0으로 설정하여 RE_CONFIG 블록 처리를 비활성화함으로써 자신을 보호할 수 있습니다. 아니면 단순히 애플리케이션(브라우저, 메일 클라이언트등등). 출판 당시 개발자는 이미 업데이트를 출시했습니다.


FreeBSD 취약점 통계

OpenSL의 취약점

운영체제: OpenSSL
수준:원격
벡터:현지의
CVE: CVE-2015-1793
악용하다:아니요

2014년에는 SSL/TLS 작업에 널리 사용되는 암호화 패키지인 OpenSSL에서 심각한 Heartbleed 취약점이 발견되었습니다. 이 사건은 한때 코드 품질에 대한 엄청난 비판을 불러일으켰고, 한편으로는 이로 인해 LibreSSL과 같은 대안이 등장했고, 다른 한편으로는 개발자 스스로가 마침내 사업에 착수했습니다.

취약점별 상위 공급업체

심각한 취약점은 Google의 Adam Langley와 BoringSSL의 David Benjamin이 발견했습니다. OpenSSL 버전 1.0.1n 및 1.0.2b의 변경 사항으로 인해 OpenSSL은 첫 번째 신뢰 체인 구축 시도가 실패한 경우 대체 인증서 확인 체인을 찾으려고 시도했습니다. 이를 통해 인증서 확인 절차를 우회하고 가짜 인증서를 사용하여 확인된 연결을 구성할 수 있습니다. 즉, 사용자를 가짜 사이트나 서버로 조용히 유인할 수 있습니다. 이메일또는 인증서가 사용되는 곳에 MITM 공격을 구현합니다.

취약점이 발견된 후 개발자들은 이 문제를 해결한 릴리스 1.0.1p 및 1.0.2d를 7월 9일 출시했습니다. 버전 0.9.8 또는 1.0.0에는 이 취약점이 없습니다.

리눅스.인코더

가을의 끝은 Linux.Encoder.0, Linux.Encoder.1 및 Linux.Encoder.2의 수정 사항과 같은 다수의 암호화 바이러스가 출현하여 2,500개 이상의 사이트를 감염시킨 것으로 나타났습니다. 바이러스 백신 회사에 따르면 WordPress, Magento CMS, Joomla 등 다양한 CMS를 사용하여 웹사이트를 실행하는 Linux 및 FreeBSD 서버가 공격을 받고 있습니다. 해커들은 확인되지 않은 취약점을 악용하고 있습니다. 다음으로, 쉘 스크립트(error.php 파일)가 배치되었습니다. 추가 조치(브라우저를 통해). 특히 리눅스 인코더 트로이 목마가 출시됐다.

OS 아키텍처를 결정하고 랜섬웨어를 실행한 인코더. 인코더는 CMS 파일 및 구성 요소가 저장된 디렉터리의 파일을 암호화하는 데 충분한 웹 서버 권한(Ubuntu - www-data)으로 실행되었습니다. 암호화된 파일은 새로운 확장자.encrypted를 받습니다.

랜섬웨어는 또한 다른 OS 디렉터리를 우회하려고 시도하며, 권한이 잘못 구성되면 쉽게 웹 사이트 경계를 넘어갈 수 있습니다. 다음으로 파일 암호 해독 지침과 해커의 요구 사항이 포함된 README_FOR_DECRYPT.txt 파일이 디렉터리에 저장되었습니다. ~에 이 순간바이러스 백신 회사에서는 디렉터리의 암호를 해독할 수 있는 유틸리티를 출시했습니다. 예를 들어 Bitdefender의 세트입니다. 그러나 파일을 해독하도록 설계된 모든 유틸리티는 쉘코드를 제거하지 않으며 모든 일이 다시 발생할 수 있다는 점을 기억해야 합니다.

웹사이트 관리를 개발하거나 실험하는 많은 사용자들이 웹서버를 설치하는 경우가 많다는 점을 고려하면 가정용 컴퓨터, 보안에 대해 걱정해야 합니다. 외부로부터의 접근을 차단하고, 소프트웨어를 업데이트하고, VM에서 실험을 수행합니다. 그리고 이 아이디어 자체는 미래에 홈 시스템을 공격하는 데 사용될 수도 있습니다.

결론

오류가 없는 복잡한 소프트웨어는 물리적으로 존재하지 않기 때문에 취약점이 끊임없이 발견된다는 사실을 받아들여야 합니다. 그러나 그들 모두가 실제로 문제가 될 수는 없습니다. 그리고 당신은 복용함으로써 자신을 보호할 수 있습니다 간단한 단계: 사용하지 않는 소프트웨어를 제거하고, 새로운 취약점을 모니터링하고, 보안 업데이트를 설치하고, 방화벽을 구성하고, 바이러스 백신을 설치하십시오. 그리고 데몬이나 사용자 애플리케이션을 손상시킬 수 있는 SELinux와 같은 특수 기술을 잊지 마십시오.