웹사이트 검색

LFCA – 데이터 및 Linux 보안을 위한 유용한 팁 – 18부


90년대 초반에 출시된 이후 Linux는 안정성, 다용성, 사용자 정의 가능성, 버그 수정 및 개선 사항을 제공하기 위해 24시간 내내 일하는 대규모 오픈 소스 개발자 커뮤니티 덕분에 기술 커뮤니티의 찬사를 받아왔습니다. 운영 체제. 전반적으로 Linux는 퍼블릭 클라우드, 서버, 슈퍼컴퓨터에 가장 적합한 운영 체제이며, 인터넷 연결 프로덕션 서버의 약 75%가 Linux에서 실행됩니다.

인터넷에 전력을 공급하는 것 외에도 Linux는 디지털 세계로 나아가는 길을 찾았으며 그 이후로 줄어들지 않았습니다. Android 스마트폰, 태블릿, 스마트워치, 스마트 디스플레이 등을 포함한 다양한 스마트 장치에 전원을 공급합니다.

Linux가 그렇게 안전한가요?

Linux는 최고 수준의 보안으로 유명하며 이는 Linux가 기업 환경에서 가장 선호되는 선택이 되는 이유 중 하나입니다. 그러나 사실은 어떤 운영 체제도 100% 안전하지 않다는 것입니다. 많은 사용자는 Linux가 완벽한 운영 체제라고 생각하는데 이는 잘못된 가정입니다. 실제로 인터넷에 연결된 모든 운영 체제는 잠재적인 위반 및 맬웨어 공격에 취약합니다.

초기에는 Linux의 기술 중심 인구가 훨씬 적었고 맬웨어 공격으로 고통받을 위험도 거의 없었습니다. 오늘날 Linux는 인터넷의 엄청난 부분을 차지하고 있으며 이는 위협 환경의 성장을 촉진했습니다. 맬웨어 공격의 위협은 그 어느 때보다 현실적입니다.

Linux 시스템에 대한 악성 코드 공격의 완벽한 예는 한국의 웹 호스팅 회사인 NAYANA의 약 153개 Linux 서버에 영향을 미친 파일 암호화 악성 코드인 Erebus 랜섬웨어입니다.

이러한 이유로 데이터를 보호하기 위해 꼭 필요한 보안 기능을 제공하기 위해 운영 체제를 더욱 강화하는 것이 현명합니다.

Linux 서버 강화 팁

Linux 서버를 보호하는 것은 생각만큼 복잡하지 않습니다. 우리는 시스템 보안을 강화하고 데이터 무결성을 유지하기 위해 구현해야 하는 최고의 보안 정책 목록을 작성했습니다.

1. 정기적으로 소프트웨어 패키지 업데이트

Equifax 침해의 초기 단계에서 해커는 Equifax의 고객 불만 웹 포털에서 널리 알려진 취약점인 Apache Struts를 활용했습니다.

Apache Struts는 Apache Foundation에서 개발한 현대적이고 우아한 Java 웹 애플리케이션을 만들기 위한 오픈 소스 프레임워크입니다. 재단은 2017년 3월 7일에 취약점을 해결하기 위한 패치를 발표하고 이에 대한 성명을 발표했습니다.

Equifax는 취약점에 대해 통보받고 애플리케이션을 패치하라는 권고를 받았지만 안타깝게도 해당 취약점은 같은 해 7월까지 패치되지 않은 상태로 남아 있었고 그 시점은 너무 늦었습니다. 공격자들은 회사 네트워크에 접근하여 데이터베이스에서 수백만 건의 기밀 고객 기록을 유출할 수 있었습니다. Equifax가 무슨 일이 일어나고 있는지 파악했을 때 이미 두 달이 지났습니다.

그렇다면 우리는 이것으로부터 무엇을 배울 수 있습니까?

악의적인 사용자나 해커는 항상 서버에서 가능한 소프트웨어 취약점을 조사하여 시스템을 침해할 수 있습니다. 안전을 유지하려면 항상 소프트웨어를 최신 버전으로 업데이트하여 기존 취약점에 패치를 적용하십시오.

Ubuntu 또는 Debian 기반 시스템을 실행하는 경우 일반적으로 첫 번째 단계는 표시된 대로 패키지 목록이나 저장소를 업데이트하는 것입니다.

sudo apt update

사용 가능한 업데이트가 포함된 모든 패키지를 확인하려면 다음 명령을 실행하세요.

sudo apt list --upgradable

다음과 같이 소프트웨어 응용프로그램을 현재 버전으로 업그레이드하십시오.

sudo apt upgrade

표시된 대로 이 두 가지를 하나의 명령으로 연결할 수 있습니다.

sudo apt update && sudo apt upgrade

RHELCentOS의 경우 다음 명령을 실행하여 애플리케이션을 업그레이드하세요.

sudo dnf update ( CentOS 8 / RHEL 8 )
sudo yum update ( Earlier versions of RHEL & CentOS )

또 다른 실행 가능한 옵션은 Ubuntu에 대한 자동 보안 업데이트를 활성화하고 CentOS/RHEL에 대한 자동 업데이트를 설정하는 것입니다.

2. 레거시 통신 서비스/프로토콜 제거

수많은 원격 프로토콜에 대한 지원에도 불구하고 rlogin, telnet, TFTP 및 FTP와 같은 레거시 서비스는 시스템에 큰 보안 문제를 일으킬 수 있습니다. 이는 데이터가 일반 텍스트로 전송되는 오래되고 오래되고 안전하지 않은 프로토콜입니다. 이러한 항목이 있는 경우 표시된 대로 제거하는 것이 좋습니다.

Ubuntu/Debian 기반 시스템의 경우 다음을 실행합니다.

sudo apt purge telnetd tftpd tftpd-hpa xinetd rsh-server rsh-redone-server

RHEL/CentOS 기반 시스템의 경우 다음을 실행합니다.

sudo yum erase xinetd tftp-server telnet-server rsh-server ypserv

3. 방화벽에서 사용하지 않는 포트를 닫습니다.

안전하지 않은 서비스를 모두 제거한 후에는 서버에서 열려 있는 포트를 검색하고 잠재적으로 해커가 진입점으로 사용할 수 있는 사용하지 않는 포트를 닫는 것이 중요합니다.

UFW 방화벽에서 포트 7070을 차단하고 싶다고 가정해 보겠습니다. 이에 대한 명령은 다음과 같습니다.

sudo ufw deny 7070/tcp

그런 다음 변경 사항을 적용하려면 방화벽을 다시 로드하세요.

sudo ufw reload

Firewalld의 경우 다음 명령을 실행합니다.

sudo firewall-cmd --remove-port=7070/tcp  --permanent

그리고 방화벽을 다시 로드하는 것을 잊지 마세요.

sudo firewall-cmd --reload

그런 다음 그림과 같이 방화벽 규칙을 교차 확인하세요.

sudo firewall-cmd --list-all

4. 보안 SSH 프로토콜

SSH 프로토콜은 네트워크의 장치에 안전하게 연결할 수 있는 원격 프로토콜입니다. 안전한 것으로 간주되지만 기본 설정만으로는 충분하지 않으며 악의적인 사용자가 시스템을 침해하는 것을 더욱 방지하려면 몇 가지 추가 조정이 필요합니다.

SSH 프로토콜을 강화하는 방법에 대한 포괄적인 가이드가 있습니다. 주요 내용은 다음과 같습니다.

  • 비밀번호 없는 SSH 로그인을 구성하고 개인/공개 키 인증을 활성화합니다.
  • SSH 원격 루트 로그인을 비활성화합니다.
  • 비밀번호가 비어 있는 사용자의 SSH 로그인을 비활성화합니다.
  • 비밀번호 인증을 모두 비활성화하고 SSH 개인/공개 키 인증을 고수하세요.
  • 특정 SSH 사용자로 액세스를 제한합니다.
  • 비밀번호 시도 제한을 구성합니다.

5. Fail2ban 설치 및 활성화

Fail2ban은 무차별 공격으로부터 서버를 보호하는 오픈 소스 침입 방지 시스템입니다. 너무 많은 로그인 시도와 같은 악의적인 활동을 나타내는 IP를 금지하여 Linux 시스템을 보호합니다. 기본적으로 Apache 웹 서버, vsftpd 및 SSH와 같은 인기 있는 서비스에 대한 필터가 함께 제공됩니다.

SSH 프로토콜을 더욱 강화하기 위해 Fail2ban을 구성하는 방법에 대한 가이드가 있습니다.

6. PAM 모듈을 사용하여 비밀번호 강도 강화

비밀번호를 재사용하거나 취약하고 단순한 비밀번호를 사용하면 시스템 보안이 크게 약화됩니다. 비밀번호 정책을 시행하고 pam_cracklib를 사용하여 비밀번호 강도 요구 사항을 설정하거나 구성합니다.

PAM 모듈을 사용하면 /etc/pam.d/system-auth 파일을 편집하여 비밀번호 강도를 정의할 수 있습니다. 예를 들어, 비밀번호 복잡성을 설정하고 비밀번호 재사용을 방지할 수 있습니다.

7. SSL/TLS 인증서 설치

웹사이트를 운영하는 경우 항상 SSL/TLS 인증서를 사용하여 사용자 브라우저와 웹 서버 간에 교환되는 데이터를 암호화하여 도메인을 보호하세요.

8. 약한 암호화 프로토콜 및 암호 키 비활성화

사이트를 암호화한 후에는 약한 암호화 프로토콜을 비활성화하는 것도 고려해 보세요. 이 가이드를 작성하는 시점에서 최신 프로토콜은 가장 일반적이고 널리 사용되는 프로토콜인 TLS 1.3입니다. TLS 1.0, TLS 1.2, SSLv1~SSLv3 등의 이전 버전은 알려진 취약점과 관련이 있습니다.

마무리

이는 Linux 시스템의 데이터 보안과 개인 정보 보호를 보장하기 위해 취할 수 있는 몇 가지 단계에 대한 요약입니다.