강화 된 Linux 서버 보안 : 모범 사례 가이드
Linux 서버는 신뢰성과 보안으로 잘 알려져 있으며 엔터프라이즈 및 개인 배포에서 널리 사용됩니다. 그러나 어떤 시스템도 공격에 완전히 면역이되지 않습니다. 사이버 위협이 계속 발전함에 따라 서버 관리자는 시스템을 취약성과 공격으로부터 보호하기 위해 사전 조치를 취해야합니다. 이 안내서는 다양한 강화 기술과 모범 사례를 탐구하여 모든 종류의 위협으로부터 보호하는 강력한 Linux 환경을 조성합니다.
위협 환경 이해
특정 조치를 탐구하기 전에 다음을 포함하여 Linux 서버가 직면 할 수있는 위협 유형을 이해해야합니다.
무차별 인력 공격 :
가능한 모든 암호 조합을 체계적으로 시도하여 무단 액세스 권한을 얻습니다.
Rootkit 및 Malware : 맬웨어는 서버 리소스에 액세스 할 수있는 권한없이 얻을 수 있습니다.
서비스 DOS (Denforcement of Service) 공격 : 서버 리소스를 과부하 시키므로 서비스를 사용할 수 없습니다.
제로 데이 취약점 : 시스템에서 알려지지 않았거나 배치되지 않은 취약점을 악용합니다.
이러한 잠재적 위협을 이해하는 것은 효과적인 보안 전략을 구축하는 첫 번째 단계입니다. -
사용자 및 액세스 컨트롤
서버 보안의 가장 중요한 측면 중 하나는 사용자 액세스를 효과적으로 관리하는 것입니다. 서버에 액세스 할 수있는 사람과 서버에 액세스 할 수있는 방법을 제한하는 것이 중요하며 위험을 줄일 수 있습니다.
사용자 관리 및 권한 분리 -
직접 루트 권한 사용을 피하십시오. root 사용자를 직접 사용하면 서버가 공격에 더 취약 해집니다. 대신, 관리 작업을 수행하기 위해 Sudo 권한이있는 새 사용자를 만듭니다.
최소 권한의 원칙 구현 : - 특정 작업을 완료하는 데 필요한 필요한 권한 만 할당하여 사용자가 필요없는 민감한 영역에 액세스하지 못하게합니다.
정기적으로 사용자 계정을 확인하십시오.
잠재적 인 공격자 입력 지점을 피하기 위해 구식 또는 비활성 계정을 삭제하십시오. -
SSH 보강
ssh에 대한 루트 로그인 비활성화 : 파일을 수정하고 를 설정하여 루트 로그인을 금지합니다.
키 기반 인증 활성화 :
공공-민간 키 쌍을 설정하여 비밀번호 기반 SSH 인증을 피하십시오. 이로 인해 무차별 공격의 위험이 줄어 듭니다.
IP로 SSH 액세스를 제한하십시오 : 방화벽 규칙을 구성하거나 TCP 래퍼를 사용하여 특정 IP 주소에 대한 SSH 액세스를 제한합니다.
다중 인증 (MFA)
SSH 용 MFA 설정 : - Google Authenticator 또는 Duo Security와 같은 도구를 사용하여 MFA를 사용하여 추가 보안 계층을 인증 프로세스에 추가하십시오.
구성 : 휴대 전화에 MFA 응용 프로그램을 설치 한 다음 서버에서 구성한 다음 파일을 설정하여 SSH 용 MFA를 시행합니다.
-
안전 시스템 구성
시스템 업데이트 및 패치 관리
/etc/pam.d/sshd
자동 업데이트 활성화 : 패키지 관리자를 구성하여 보안 패치를 자동으로 설치하십시오. 이것은 Debian System 또는 Centos/Rhel을 기반으로
와 같은 도구를 사용하여 수행 할 수 있습니다.
취약점을 정기적으로 점검하십시오. Lynis 또는 OpenVas와 같은 취약성 스캐너를 사용하여 현재 구성의 약점을 식별하십시오.
커널 보안 설정
sysctl 경화 :
sysctl을 사용하여 보안을 향상시키기 위해 커널 매개 변수를 수정하십시오. 예를 들면 :
IP 전달 비활성화 : -
ICMP 방지 (PING) 요청 :
unattended-upgrades
보안 모듈 사용 : yum-cron
> Linux는 민감한 영역에 대한 고급 액세스 제어를 제공하는 Grsecurity (Harden 커널) 또는 Selinux와 같은 추가 모듈을 지원합니다.
-
네트워크 구성
사용하지 않은 포트 및 서비스 비활성화 :
모든 불필요한 포트를 닫고 원치 않는 서비스를 실행하는 서버를 비활성화하십시오. 열린 포트를 점검하려면 또는 를 사용하십시오.
방화벽 구성 : 엄격한 인바운드 및 아웃 바운드 트래픽 규칙을 정의하기 위해 iptables 또는 Firewalld를 설정합니다. 기본적으로 기본 서비스 만 허용되며 다른 모든 서비스가 차단됩니다.
고급 인증 및 인증 메커니즘 -
역할 기반 액세스 제어 (RBAC)
rbac 사용 : rbac를 사용하면 특정 권한으로 역할을 정의하고 이러한 역할에 사용자를 할당하여 과도한 권한을 최소화 할 수 있습니다. -
Sudo 및 사용자 그룹을 사용하여 RBAC를 구현하십시오. Sudo 명령을 사용하여 어떤 사용자가 어떤 명령을 실행할 수 있는지 제어하십시오. 또한 유사한 역할을 가진 사용자는 권한을 중심으로 관리하기 위해 그룹화됩니다.
net.ipv4.ip_forward = 0
Selinux 및 AppArmor를 사용하는 -
net.ipv4.icmp_echo_ignore_all = 1
selinux : 보안 정책을 구현하여 애플리케이션이 시스템과 상호 작용하는 방식을 제한합니다. 승인되지 않은 액세스 또는 프로그램을 필요한 기능으로 제한하도록 Selinux 정책을 구성하십시오.
Apparmor : Selinux와 유사하게 AppArmor는 응용 프로그램을 지정된 리소스 세트로 제한하여 정의 된 정책 이외의 자원에 액세스하려는 시도를 방지합니다. -
응용 프로그램 및 데이터베이스 보안
웹 응용 프로그램을 보호
apache/nginx : - 민감한 디렉토리에 대한 제한 권한을 설정하고 기본적으로 HTTPS를 활성화합니다. 취약성을 방지하기 위해 서버 소프트웨어를 정기적으로 업데이트하십시오.
WAF (Web Application Firewall) : Modsecurity와 같은 WAF를 사용하여 HTTP 요청을 필터링하고 모니터링하여 웹 애플리케이션에 보안 계층을 추가하십시오.
데이터베이스 강화 -
데이터베이스 액세스 제한 :
데이터베이스에 액세스 할 수있는 IP 주소를 신뢰할 수있는 호스트로 제한하십시오. 인터넷에서 데이터베이스에 액세스 할 수있는 경우 특히 중요합니다.
민감한 데이터 암호화 : 데이터베이스 레벨 암호화를 사용하고 풀 디스크 암호화를 사용하여 휴식시 데이터를 보호하십시오.
SQL 주입 보호 : 모든 입력을 확인하고 전처리 명세서를 사용하여 SQL 주입 공격을 방지합니다.
- 감사, 모니터링 및 로깅
syslog 및 journald 를 사용하여 로깅을 설정하십시오
로그 구성 : - 중요한 서비스 및 응용 프로그램에 대한 로깅 활성화. Syslog 또는 Journald를 사용하여 로그를 중앙 집중화하고 모니터링하십시오.
로그 회전 : 디스크 공간이 떨어지지 않도록 Logrotate를 관리 및 보관 로그로 구성하십시오.
-
실시간 모니터링 도구 사용
실패 2BAN : 로그를 모니터링하고 지정된 로그인 시도 후에 로그를 금지시켜 무차별 적 공격을 방지하는 데 도움이됩니다.
침입 탐지 도구 :
Tripwire 및 OSSEC와 같은 도구는 파일의 무단 변경 또는 비정상적인 활동을 감지 할 수 있습니다.
감사에 감사를 사용하십시오
감사 규칙 설정 : auditd 구성에 민감한 파일 및 디렉토리에 대한 액세스를 모니터링하십시오. 감사 규칙은 로그인 시도, 파일 수정 및 기타 중요한 이벤트를 추적 할 수 있습니다. -
정기 검토 : 정기 검토를 예약하여 로그를 확인하고 의심스러운 패턴이나 이상을 분석하십시오.
-
데이터 보호 및 암호화
휴식시 데이터를 암호화하고 Transit의 데이터
luks를 사용한 디스크 암호화 :
민감한 데이터의 경우 전체 디스크 암호화에 luks를 사용하는 것을 고려하십시오. 저장 장치가 제거되거나 도난당한 경우 데이터에 대한 액세스를 방지합니다.
tls transit에서의 데이터 : 전송 중에 데이터를 암호화하도록 모든 웹 서버의 HTTPS를 시행합니다. 또한 모든 데이터베이스 연결에 TLS를 사용하여 전송중인 데이터를 보호하십시오.
파일 무결성 모니터링
무결성 검사를 위해 보좌관 사용 : - 고급 침입 탐지 환경 (AIDE)은 파일 수정, 삭제 또는 추가를 감지하는 도구입니다. 무단 변경 사항이 감지되면 매일 스캔하고 경고를 보내도록 보좌관을 구성하십시오.
즉각적인 응답 및 백업 전략 -
계획 사고 응답
- 사고 대응 계획 개발 : 보안 사고를 감지, 포함 및 복원하기위한 개요 개요. 역할, 책임 및 커뮤니케이션 계약을 포함하여.
SIEM (Security Information and Event Management) :
실시간 이벤트 협회를위한 SIEM 도구 구현을 고려하여 빠른 탐지 및 응답에 도움이됩니다. -
자동화 된 백업 및 복구
백업 주파수 : RSYNC 및 CRON과 같은 도구를 사용하여 일반 자동 백업을 구성합니다. 오프 사이트 또는 클라우드 스토리지를 포함한 여러 위치에 백업을 저장하십시오.
테스트 복구 프로세스 :
위반 또는 데이터 손실시 데이터를 복원 할 수 있도록 백업 복구 프로세스를 정기적으로 테스트하십시오.
-
결론
Linux 서버 보호하려면 사용자 관리, 시스템 구성, 응용 프로그램 경화 및 신뢰할 수있는 사고 응답 정책을 포함한 다층 접근 방식이 필요합니다. 이 안내서에서 논의 된 관행을 구현하면 오늘날의 복잡한 위협 환경을 처리 할 수있는 강력한 Linux 서버가 있습니다. 보안을 유지하는 것은 경계, 정기적 인 업데이트 및 사전 모니터링이 필요한 지속적인 프로세스입니다.
위 내용은 위협 및 공격에 대한 Linux 서버를 강화합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!