일반적으로 보안은 이미 언급했듯이 양파입니다. 방화벽이 존재하는 데는 이유가 있으며 다른 바보가 바보 같은 바보가 아닙니다.
이 페이지에서 'fail2ban'을 검색해도 아무런 결과가 나오지 않으므로이 답변이 제공됩니다. 따라서 다른 콘텐츠를 두 배로 늘리면 나와 함께하십시오. 실례합니다. 조금만 주면 다른 사람들에게 도움이 될 수 있으므로 분명한 경험을 제공합니다. :)
네트워킹 고려 사항, 로컬 및 외부
이것은 Linux에 국한된 것이며 호스트 기반 방화벽에 중점을 두는데, 이는 일반적으로 유스 케이스입니다. 외부 방화벽은 적절한 네트워크 구조와 함께 사용되며 일반적으로 다른 보안 고려 사항도 있습니다. 여기에 무엇이 내포되어 있는지 아는 경우이 게시물이 필요하지 않을 수 있습니다. 아니면, 읽지 말고 계속 읽으십시오.
방화벽을 외부 및 로컬로 실행하면 직관적이지 않고 이중 작업으로 보일 수 있습니다. 그러나 이것은 또한 다른 모든 호스트의 보안을 손상시키지 않으면 서 외부 규칙의 규칙을 바꿀 가능성을 제공합니다. 디버깅 이유나 누군가가 방금 잤기 때문에 필요할 수 있습니다. '어댑티브 글로벌 방화벽'섹션에 또 다른 유스 케이스가 있으며 글로벌 및 로컬 방화벽도 필요합니다.
비용과 가용성 및 항상 같은 이야기 :
방화벽은 적절한 보안 시스템의 한 측면 일뿐입니다. '비용'으로 방화벽을 설치하지 않고 SPOF를 도입하거나 헛소리가 들리면 내 프랑스어를 용서하십시오. 클러스터를 설정하기 만하면됩니다. 하지만 소방서에 정전이 발생하면 어떻게 될까요? 그런 다음 두 개 이상의 소방 실에 걸쳐 클러스터를 설정하십시오.
그러나 두 외부 사업자가 모두 사업을하지 않아서 전체 데이터 센터에 접근 할 수 없다면 (굴착기가 광섬유를 죽였습니다)? 그런 다음 클러스터를 여러 데이터 센터로 확장하십시오.
그건 비싸? 클러스터가 너무 복잡합니까? 편집증은 지불해야합니다
SPOF에 대해서만 징징하지만 더 많은 돈을 지불하거나 더 복잡한 설정을 만들고 싶지 않은 것은 회사 또는 고객 측의 이중 표준 또는 작은 지갑의 명확한 사례입니다.
이 패턴은 어떤 서비스가 현재의 문제인지에 관계없이 이러한 모든 토론에 적용됩니다. VPN 게이트웨이이든 상관없이 Cisco ASA는 방화벽, MySQL 또는 PostgreSQL 데이터베이스, 가상 시스템 또는 서버 하드웨어, 스토리지 백엔드, 스위치 / 라우터 등에 사용되었습니다.
이제 아이디어를 얻어야합니다.
왜 방화벽을 방해합니까?
이론적으로 당신의 추론은 건전합니다. (실행중인 서비스 만 이용할 수 있습니다.)
그러나 이것은 진실의 절반에 불과합니다. 방화벽, 특히 상태 저장 방화벽은 훨씬 더 많은 일을 할 수 있습니다. 상태 비 저장 방화벽은 이미 언급 한 다른 성능 문제가 발생하는 경우에만 중요합니다.
손쉬운 중앙 집중식 개별 액세스 제어
기본적으로 동일한 보안 기능을 구현하는 TCP 래퍼에 대해 언급했습니다. 논쟁을 위해 누군가가 tcpd
마우스 사용을 모르고 좋아 한다고 가정 해 봅시다 . fwbuilder
마음에 올 수 있습니다.
관리 네트워크에서 전체 액세스 권한을 갖는 것은 활성화해야하는 것으로 호스트 기반 방화벽의 첫 번째 사용 사례입니다.
데이터베이스가 다른 곳에서 실행되고 어떤 이유로 든 두 머신 / 모든 머신을 공유 (프라이빗) 서브넷 내에 둘 수없는 다중 서버 설정은 어떻습니까? 방화벽을 사용하면 다른 서버의 단일 IP 주소에 대해서만 포트 3306에서 MySQL 액세스를 허용 할 수 있습니다.
그리고 그것은 UDP에도 완벽하게 작동합니다. 또는 어떤 프로토콜이든. 방화벽은 매우 유연합니다. ;)
포트 스캔 완화
또한 방화벽을 사용하면 커널 및 해당 네트워킹 스택을 통해 시간 범위 당 연결 양을 모니터링 할 수 있고 방화벽이 그에 따라 작동 할 수 있으므로 일반적인 포트 캔을 감지하고 완화 할 수 있습니다.
또한 유효하지 않거나 모호한 패킷은 애플리케이션에 도달하기 전에 처리 될 수 있습니다.
아웃 바운드 트래픽 제한
아웃 바운드 트래픽 필터링은 일반적으로 엉덩이에 고통입니다. 그러나 계약에 따라 필수 일 수 있습니다.
통계
방화벽이 제공 할 수있는 또 다른 것은 통계입니다. ( watch -n1 -d iptables -vnxL INPUT
패킷이 통과하고 있는지 확인하기 위해 맨 위에 특수 IP 주소에 대한 규칙을 추가했다고 생각하십시오.)
일이 잘되거나 효과가 없으면 평범한 일광에서 볼 수 있습니다. 연결 문제를 해결하고 다른 사람에게 전화를 걸지 않고 다른 사람에게 패킷을 얻지 못하도록 할 때 매우 유용합니다 tcpdump
. 네트워킹은 재미 있고, 대부분의 사람들은 이제 자신이하는 일을 알고 있으며 종종 단순한 라우팅 오류 일뿐입니다. 지옥조차도 내가하는 일을 항상 알지는 못합니다. 문자 그대로 수십 개의 복잡한 시스템 및 어플라이언스를 다루었지만 지금은 종종 터널링을 사용하기도했습니다.
IDS / IPS
Layer7 방화벽은 올바르게 참석하지 않고 정기적으로 업데이트되는 경우 일반적으로 뱀 오일 (IPS / IDS)입니다. 또한 라이센스 비용이 많이 들기 때문에 돈으로 구입할 수있는 모든 것을 얻을 필요가 없다면 라이센스를 하나 더 확보 할 것입니다.
Masqerading
쉽게 래퍼로 시도하십시오. :디
로컬 포트 포워딩
가장 무도회를 참조하십시오.
동적 IP 주소로 비밀번호 액세스 채널 보안
고객에게 동적 IP 주소가 있고 VPN 설정이 배포되지 않은 경우는 어떻습니까? 아니면 방화벽에 대한 다른 동적 접근 방법은 무엇입니까? 이것은 이미 질문에 암시되어 있으며 불행히도 유스 케이스가 올 것입니다. 안타깝게도 방화벽을 찾을 수 없습니다. 부품.
비밀번호를 통한 루트 계정 액세스를 비활성화해야합니다. 액세스가 특정 IP 주소로 제한 되더라도.
또한 ssh 키가 손실되거나 배포에 실패한 경우 암호 로그인을 사용하여 다른 Blanko 계정을 준비하는 것이 실제로 잘못되면 사용자에게 매우 유용합니다 (사용자는 컴퓨터에 대한 관리 액세스 권한이 있고 '일어남')? Linux에서 단일 사용자 모드를 사용하거나 로컬 액세스 init=/bin/bash
를 grub
위해 via 를 사용하는 것이 정말 나쁘고 어떤 이유로 든 라이브 디스크를 사용할 수 없기 때문에 네트워크 액세스와 동일한 아이디어입니다 . 웃지 마세요. 가상화 제품이 금지되어 있습니다. 기능이 존재하더라도 기능이없는 오래된 소프트웨어 버전을 실행하면 어떻게됩니까?
어쨌든 ssh 데몬을 22가 아닌 일부 포트에서 실행하더라도 포트 노킹과 같은 것을 구현하지 않은 경우 (다른 포트조차 열어 포트 포트를 완화하여 너무 비실용적 인 서라운드) 포트 스캔은 사용자를 감지합니다. 결국 서비스.
일반적으로 효율성을 위해 동일한 포트 및 서비스를 사용하여 동일한 구성으로 모든 서버를 설정합니다. 모든 머신에서 ssh를 다른 포트로 설정할 수는 없습니다. 또한 이미 '공개'정보로 간주 될 때마다 모든 시스템에서이 정보를 변경할 수는 없습니다. 이미 스캔 한 후에 있기 때문입니다. nmap
합법적인지 아닌지에 대한 질문은 해킹 된 Wi-Fi 연결을 사용할 때 문제가되지 않습니다.
이 계정의 이름이 '루트'가 아니면 사람들이 '백도어'의 사용자 계정 이름을 추측하지 못할 수 있습니다. 그러나 그들은 회사에서 다른 서버를 얻거나 웹 공간을 사면 알 수 있습니다 /etc/passwd
.
순전히 이론적 인 설명을 위해, 그들은 해킹 가능한 웹 사이트를 사용하여 서버에 액세스하고 일반적으로 귀하의 장소에서 물건이 어떻게 움직이는 지 찾아 볼 수 있습니다. 해킹 검색 도구는 연중 무휴 24 시간 실행되지 않을 수 있으며 (일반적으로 파일 시스템 검사의 디스크 성능상의 이유로 밤에 실행됩니까?) 바이러스 검사기는 새로운 제로 데이 가 하루를 밝게 보는 순간 업데이트되지 않으므로 이러한 상황을 한 번에 감지 할 수 없으며 다른 보호 조치가 없으면 어떤 일이 발생했는지조차 모를 수도 있습니다. 현실로 돌아 가기 위해 누군가가 제로 데이 익스플로잇에 액세스 할 수 있다면, 서버가 비싸기 때문에 서버를 대상으로하지 않을 가능성이 큽니다. 이것은 '필요한'이 발생하면 시스템에 항상 방법이 있음을 설명하기위한 것입니다.
그러나 다시 주제에 대해, 추가 암호 계정을 사용하지 말고 귀찮게하지 않습니까? 읽어주세요.
공격자가이 추가 계정의 이름과 포트를 가져 오더라도 8 자리 암호 만 사용하더라도 fail2ban
+ iptables
조합은 짧게 중지합니다. 또한 다른 서비스에도 fail2ban을 구현하여 모니터링 범위를 넓힐 수 있습니다!
필요한 경우 자체 서비스의 경우 : 기본적으로 파일에 대한 모든 서비스 로깅 실패는 파일 제공, 일치하는 정규식 및 허용되는 실패 수를 통해 fail2ban 지원을받을 수 있으며 방화벽은 모든 IP 주소를 행복하게 금지합니다. 들었다.
8 자리 비밀번호를 사용하라고 말하지 않습니다! 그러나 5 번의 잘못된 암호 시도로 24 시간 동안 금지 된 경우 보안이 철저한 경우에도 봇넷이없는 경우 얼마나 오래 시도해야하는지 추측 할 수 있습니다. 또한 고객이 아닌 고객이 사용하는 비밀번호에 놀라게 될 것입니다 ssh
. Plesk 를 통해 사람들의 메일 암호를 살펴보면 알고 싶지 않은 모든 것을 알 수 있지만 물론 여기서 암시하지 않는 것은 무엇입니까? :)
적응 형 글로벌 방화벽
fail2ban
의 라인을 따라 무언가를 사용하는 단 하나의 응용 프로그램 iptables -I <chain_name> 1 -s <IP> -j DROP
이지만 Bash 마법을 사용하여 이러한 물건을 쉽게 만들 수 있습니다.
이와 같은 것을 확장하려면 추가 서버의 네트워크 서버에서 모든 fail2ban IP 주소를 집계하여 모든 목록을 관리하고 핵심 방화벽으로 전달하여 네트워크 에지에 이미있는 모든 트래픽을 차단합니다.
이러한 기능은 판매 할 수 없으며 (물론 가능하지만 취하기 쉬운 시스템 일뿐 아니라) 인프라에 직조되어야합니다.
그 동안, 당신은 또한 자신 또는 외부에 의해 집계 된 다른 소스의 블랙리스트 IP 주소 또는 목록을 사용할 수 있습니다.