어떤 Linux 배포판을 사용하든 iptables 기반 방화벽으로 보호해야 합니다.
아하! 첫 번째 Linux 서버를 설정했으며 사용할 준비가 되었습니다! 그렇습니까? 잠깐만요.
기본적으로 Linux 시스템은 공격자로부터 충분히 안전하지 않습니다. 물론 Windows XP보다 훨씬 안전하지만 그다지 의미가 있는 것은 아닙니다.
Linux 시스템을 진정으로 안전하게 만들려면 Linode의 서버 보안 가이드를 따라야 합니다.
일반적으로 먼저 필요하지 않은 서비스를 꺼야 합니다. 물론 이렇게 하려면 먼저 어떤 네트워크 서비스를 사용하고 있는지 알아야 합니다.
쉘 명령을 사용하여 어떤 서비스가 있는지 확인할 수 있습니다:
으아아아netstat에서는 실행 중인 서비스와 해당 서비스가 사용하는 포트를 알려줍니다. 서비스나 포트가 필요하지 않으면 꺼야 합니다. 예를 들어, 웹 사이트를 실행하지 않는 한 Apache 또는 Nginx 서버를 실행할 필요가 없으며 포트 80 또는 8080을 열어둘 필요도 없습니다.
간단히, 확실하지 않다면 먼저 전원을 끄세요.
추가 변경 없이 간단한 Linux 서버에서는 SSH, RPC 및 NTPdate가 공용 포트에서 실행되는 것을 볼 수 있습니다. 텔넷과 같은 오래되고 안전하지 않은 쉘 프로그램을 추가하지 마십시오. 그렇지 않으면 오래된 드라이버가 당신도 모르게 Linux 스포츠카를 몰아낼 것입니다. 아마도 1980년대에는 SunOS 시스템에 대한 백업 로그인으로 텔넷을 좋아했을 것입니다. 그러나 그것은 오래 전에 사라졌습니다.
SSH의 경우 강화를 위해 RSA 키와 Fail2Ban을 사용해야 합니다. RPC가 필요하지 않은 경우 제거하십시오. 필요하지 않은지 모르면 필요하지 않은 것입니다.
잠금에 대해서는 이제 iptables를 사용하여 들어오는 트래픽을 잠그는 것에 대해 이야기해 보겠습니다.
Linux 서버를 시작할 때 규칙은 없습니다. 이는 모든 트래픽이 허용됨을 의미합니다. 물론 이것은 나쁘다. 따라서 적시에 방화벽을 설정해야 합니다.
Iptables는 netfilter에 대한 네트워크 정책 규칙을 설정하는 데 사용되는 쉘 도구입니다. Netfilter는 Linux 시스템의 기본 방화벽으로 트래픽을 허용하거나 금지합니다. 누군가가 시스템에 연결을 시도할 때 - 어떤 사람들은 항상 이것을 시도하고 절대 좌절하지 않습니다. - iptables는 해당 요청이 규칙 목록과 일치하는지 확인합니다. 일치하는 규칙이 없으면 기본 작업을 수행합니다.
기본 작업은 연결을 "삭제"하는 것입니다. 즉, 의도한 침입자를 차단하는 것입니다. 그리고 이러한 네트워크 프로브에 무슨 일이 일어나고 있는지 알려주지 않습니다. (링크를 "거부"할 수도 있지만 그렇게 하면 Linux 방화벽이 실행 중이라는 사실도 알릴 수 있습니다. 현재로서는 낯선 사람이 우리 시스템에 들어갈 수 있는 정보가 적을수록 좋습니다. 적어도 제 생각에는 그렇습니다.)
이제 iptables를 사용하여 방화벽을 설정할 수 있습니다. 나는 이미 이것을 했습니다. 전과 마찬가지로 자전거를 타고 6마일 떨어진 곳으로 출근했는데 양쪽이 모두 오르막이었습니다. 그리고 지금은 그곳으로 운전해서 갑니다.
이것은 실제로 Fedora 배포판에서 FirewallD를 사용하고 Debian 배포판에서 UFW(Uncomplicate Firewall)를 사용하는 것에 대한 비유입니다. 이는 사용하기 쉬운 iptables용 쉘 프런트 엔드입니다. 다음 Linode 가이드(FirewallD 및 UFW)에서 적합한 사용법을 찾을 수 있습니다.
기본적으로 이러한 규칙을 설정하는 것은 서버에 "출입 금지" 표시를 두는 것과 같습니다. 그걸 써.
하지만 너무 흥분하지 마시고 링크를 모두 닫으세요. 예:
으아아아좋은 생각인 것 같습니다. 귀하의 링크를 포함한 모든 링크가 차단된다는 점을 잊지 마세요!
좋아요, 그게 바로 그 일이죠. 즉, SSH 로그인도 비활성화됩니다. 이는 더 이상 새 서버에 로그인할 수 없음을 의미합니다. 우와!
그러나 실수를 하면 더 많은 링크가 실수로 차단됩니다. 보시다시피, 베테랑 운전자도 당신에 의해 차단되었습니다.
더 정확하게 말하면 이는 귀하나 귀하의 서버가 경험하는 고립된 현상이 아닙니다. 물론, 당신은 매일 3억 건이 넘는 공격 시도를 받는 NSA가 아닙니다. 그러나 공격 스크립트는 당신이 누구인지 상관하지 않습니다. 네트워크에 알려진 취약점이 있는 서버를 지속적으로 확인합니다. 보통 날에는 내 작은 서버가 수백 건의 공격을 받았습니다. 그렇습니다. 무엇을 기다리고 계시나요? 네트워크 서비스를 강화해 보세요. 서버를 강화하려면 FirewallD 또는 UFW를 설치하세요. 당신은 기꺼이 그렇게 할 것입니다.
위 내용은 Linux 서버를 보호하는 방법 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!