Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

UFW 마스터하기:Linux 방화벽 보안에 대한 단계별 가이드

UFW는 실제로 많은 사람들이 믿는 것처럼 Ubuntu 방화벽이 아니라 복잡하지 않은 방화벽을 나타냅니다. 이 이름은 구성이 놀라울 정도로 쉽다는 사실을 반영합니다. 대부분의 사용자는 문자 그대로 세 가지 옵션만 설정하면 상대적으로 안전해집니다. 일부 고급 구성 옵션을 설정하려는 사용자는 텍스트 파일을 편집하는 것 외에는 많은 작업을 수행할 필요가 없습니다. Ubuntu 프로젝트 개발자는 원래 이 특정 방화벽 소프트웨어를 설계했지만 ufw는 다른 많은 배포판에서도 사용할 수 있습니다. Debian, Arch, Linux Mint, Lubuntu 및 Xubuntu 사용자는 이미 설치했을 가능성이 높습니다.

문제는 이 기능을 켠 사용자가 비교적 적다는 것입니다. 사용자는 더 이상 iptables로 직접 작업할 필요가 없지만 Ubuntu는 ufw를 기본적으로 꺼진 상태로 강제 설정합니다. 많은 데비안 구현에는 기본적으로 패키지가 설치되어 있지 않습니다. 좋은 소식은 터미널 경험이 조금이라도 있는 사람이라면 누구나 시스템을 강화할 수 있다는 것입니다.

방법 1:명령 프롬프트에서 UFW 켜기

별도로 설치하기 전에 ufw 패키지가 설치되어 있다고 가정합니다. 다른 것보다 먼저 이 명령을 실행하세요. 중간에 오류가 발생하면 언제든지 나중에 문제 없이 돌아가서 ufw 패키지를 설치할 수 있습니다.

표준 사용자 계정으로 작업하는 경우 sudo ufw 활성화를 실행하세요. 메시지가 나타나면 관리자 비밀번호를 입력하세요. ufw가 활성화되어 있고 시작 시 자동으로 실행된다는 메시지가 표시됩니다. sudo ufw status 실행 어쨌든 확실히 하려고요. 뒤에 아무 것도 없이 "상태:활성"이라는 메시지가 한 줄 출력됩니다.

반면에 ufw가 설치되지 않았다는 말을 들었을 수도 있습니다. Debian과 같은 apt 기반 배포판 사용자는 sudo apt-get install ufw를 실행해야 합니다. . sudo apt-get update를 실행할 수도 있습니다. 그런 다음 sudo apt-get 업그레이드 설치할 때 다른 패키지가 올바른지 확인하십시오. Arch Linux 사용자는 sudo pacman -Syu를 실행해야 합니다. 패키지를 순서대로 가져오려면 sudo pacman -S ufw를 실행하세요. ufw를 설치하지만 이후에는 모든 사용자가 정상적으로 계속할 수 있습니다. 위 단계에 따라 sudo ufw 활성화가 실행되는지 확인하세요. 앞서 언급한 '상태:활성을 반환합니다. ” 라인.

방법 2:UFW에 기본 규칙 세트 보내기

방화벽 도구는 일련의 규칙을 사용하여 네트워크를 통해 컴퓨터로 전송된 패킷을 수락할지 여부를 확인합니다. 다음에는 다음 두 명령을 실행하고 싶을 것이 거의 확실합니다:

sudo ufw 기본 발신 허용

sudo ufw 기본 수신 거부

이렇게 하면 ufw를 통해 항상 네트워크 어댑터로 나가는 트래픽을 보낼 수 있습니다. 이는 모든 종류의 온라인 작업을 수행하는 경우 중요합니다. 당연히 나가는 요청을 위험하다고 생각해서는 안 됩니다. 이는 또한 들어오는 요청이 해를 끼치는 것을 금지합니다. 이는 거의 모든 가정 및 비즈니스 사용자에게 올바른 설정입니다. 집중적인 온라인 FPS 타이틀을 플레이하는 대부분의 게이머라도 이보다 더 필요한 것은 없습니다. sudo ufw status를 실행하면 머신을 재부팅한 후에도 여전히 활성화된 메시지가 반환되는 한 대부분의 사람들은 여기에서 중지할 수 있습니다. 구성 프로세스에는 별다른 것이 없습니다. 어떤 종류의 SSH 또는 고급 네트워킹 목표를 가진 사용자도 계속 진행해야 합니다.

방법 3:고급 UFW 구성 옵션

대부분의 사용자는 앞으로 읽을 필요가 없지만 일부 사용자에게는 이 규칙이 유용할 수 있습니다. 예를 들어, 공통 80 포트에서 TCP 연결을 허용해야 한다면 다음을 실행할 수 있습니다:

sudo ufw 허용 80/tcp

###.##.##.##/##에서 sudo ufw 허용을 사용할 수도 있습니다. 슬래시 표시 뒤에는 실제 IP 주소와 실제 서브넷 번호가 있습니다. 네트워킹을 수행해야 하는 경우 80이 이 용도로 유효한 숫자라는 점을 명심하십시오. sudo ufw make http/tcp와 같은 것을 사용합니다. 또한 유효하고 서버 상황에서 필요할 수 있지만 이는 실제로 다양한 유형의 연결을 허용하는 한 웜 캔을 열기 시작합니다.

가장 인기 있는 설정 중 하나는 sudo ufw allowed 22입니다. , SSH 연결을 위한 포트를 엽니다. 일부 사용자는 대신 sudo ufw allowed ssh라고 표현합니다. , 잘 작동합니다. 일부 가이드에서는 두 줄을 모두 추가하도록 지시할 수도 있지만 이는 대부분의 경우 불필요하며 결국 불필요한 양의 오버헤드만 초래할 수 있습니다.

나중에 규칙 중 하나를 제거하려면 sudo ufw delete 뒤에 규칙 이름을 입력하면 됩니다. 예를 들어 sudo ufw delete let 80/tcp 위에서 만든 예 중 하나를 끌 것입니다.

이제 sudo ufw status verbose를 실행하면 추가 규칙을 만든 경우 훨씬 더 완전한 표를 볼 수 있습니다. 나중에 방화벽을 비활성화하려면 sudo ufw 비활성화를 실행할 수 있지만 이렇게 해야 하는 상황은 거의 없습니다.

서버를 보호하기 위해 이런 방식으로 ufw를 사용하는 경우 때때로 504 게이트웨이 시간 초과 오류가 발생할 수 있습니다. 이 경우 몇 가지 규칙의 순서를 변경하면 도움이 될 수 있습니다. ufw는 보안상의 이유로 목록을 구문 분석할 때 항상 첫 번째 일치 항목을 찾기 때문에 허용 규칙은 거부 규칙보다 먼저 입력되어야 합니다. 한 쌍의 규칙을 삭제한 다음 sudo ufw default 허용을 입력하여 다시 추가 첫 번째 줄에서 이 문제를 해결해야 합니다. 성능상의 이유로 중복된 줄을 추가로 삭제할 수도 있습니다.

sudo ufw verbose 실행 DENY IN 및 ALLOW IN 라인의 순서에 세심한 주의를 기울이십시오. 80 또는 22와 같은 공통 포트에 해당 포트에 대한 다른 참조 전에 차트에서 DENY IN 다음에 Anywhere라고 읽는 항목이 있는 경우 연결이 통과할 기회를 갖기 전에 연결을 차단하려고 시도할 수 있습니다. 순서를 바꾸면 문제가 해결됩니다. 처음부터 이러한 명령을 올바른 순서로 입력하면 나중에 문제가 발생하는 것을 방지하는 데 도움이 됩니다.

관리자 권한 루트 프롬프트 사용자는 실제로 각 명령 전에 sudo를 사용할 필요가 없습니다. 이에 대해 일종의 오류가 발생했다면 이것이 문제일 수 있습니다. 프롬프트 끝에서 커서 앞에 # 또는 $가 있는지 확인하세요. 프롬프트에 %만 있는 tcsh 사용자는 whoami를 실행하여 자신이 어떤 사용자로 작업하고 있는지 확인해야 합니다.

sudo ufw status verbose를 실행하는 일반 사용자 메시지가 나온 후에도 상대적으로 피드백을 거의 받지 못할 가능성이 높습니다. 아마도 이전과 동일한 줄이 표시될 것입니다.

이는 이러한 사용자가 매우 적은 규칙으로 작업하고 있기 때문입니다. 그러나 이러한 규칙과 관련하여 주의 사항이 중요할 수 있습니다. ufw 기본 명령을 사용하면 거부 매개변수를 추가로 사용할 수 있지만, 매우 쉽게 자신의 개인 서버 구조에서 자신을 잠그거나 다른 이상한 작업을 수행할 수 있습니다. sudo ufw allowed ssh가 필요한 경우 또는 규칙 세트의 다른 유사한 줄은 기본 거부 또는 거부 규칙을 적용하기 전에 와야 합니다.

Gufw 및 Qt 기반 kmyfirewall과 같은 일부 그래픽 도구가 있지만 실제로 필요하지 않은 명령줄에서 ufw를 구성하는 것은 쉽습니다. 대신 구성 파일을 직접 편집해야 하는 경우  명령어를 사용하여 적절한 디렉터리로 이동한 다음 sudo nanofw를 사용하세요. 편집하려면. 변경하기 전에 먼저 텍스트를 보기 위해 처음에는 더 많은 ufw 또는 더 적은 ufw를 사용하는 것이 좋습니다.

개발자들은 편집할 때 길을 잃지 않도록 적절한 설명을 제공하기 위해 실제로 시간을 들였습니다. 하지만 필요하다고 생각되면 이 내용을 제거할 수도 있습니다.

저자 소개

UFW 마스터하기:Linux 방화벽 보안에 대한 단계별 가이드

케빈 애로우

Kevin Arrows는 10년 이상의 업계 경험을 보유한 경험이 풍부하고 지식이 풍부한 기술 전문가입니다. 그는 MCTS(Microsoft Certified Technology Specialist) 인증을 보유하고 있으며 최신 기술 개발에 대한 최신 정보를 얻으려는 깊은 열정을 가지고 있습니다. Kevin은 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅과 같은 분야에서 자신의 전문 지식과 지식을 보여주면서 광범위한 기술 관련 주제에 대해 광범위하게 글을 썼습니다. 기술 분야에 대한 그의 공헌은 동료들로부터 널리 인정받고 존경받고 있으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 높은 평가를 받고 있습니다.