시스템 관리자라면 복잡한 문제를 깊이 파고들 필요 없이 쉽게 구성하고 관리할 수 있는 강력한 보안 시스템이 있었으면 좋겠다고 생각한 순간이 분명 있을 것입니다. iptables 규칙. UFW 또는 복잡하지 않은 방화벽 간단한 인터페이스를 제공하여 이러한 격차를 메우는 훌륭한 네트워크 보안 도구입니다. UFW를 사용하면 간단한 명령으로 서버의 방화벽 설정을 제어할 수 있습니다.
이 UFW 튜토리얼에서는 설치부터 고급 구성까지 UFW에 대해 알아야 할 모든 것을 안내합니다. UFW를 활성화 및 비활성화하고, 구문을 이해하고, 실제 예제를 일반적인 시나리오에 적용하는 방법을 다룹니다. 이 UFW 튜토리얼이 끝나면 UFW를 사용하여 서버를 효과적으로 보호하는 방법을 확실하게 이해하게 될 것입니다.
UFW 설치
방화벽 관리가 처음이더라도 설치 과정이 매우 간단하기 때문에 UFW를 쉽게 설치할 수 있습니다. 다음은 서버에서 UFW를 시작하고 실행하는 단계별 UFW 튜토리얼입니다.
1단계: 패키지 목록 업데이트
새 소프트웨어를 설치하기 전에 패키지 목록을 업데이트하는 것이 좋습니다.
sudo apt update
2단계: UFW 설치
간단한 명령으로 UFW를 설치할 수 있습니다:
sudo apt install ufw
3단계: 설치 확인
이제 설치가 완료되었으므로 설치가 성공했는지 확인할 수 있습니다. 다음을 실행하여 UFW 설치 버전을 확인할 수 있습니다:
ufw version
4단계: 초기 구성
UFW를 활성화하기 전에 몇 가지 초기 구성을 수행하는 것이 중요합니다. 이렇게 하면 활성화할 때 예상대로 작동하는지 확인할 수 있습니다. 가장 중요한 단계 중 하나는 기본 정책을 설정하는 것입니다. 기본적으로 UFW는 들어오는 모든 연결을 거부하고 나가는 모든 연결을 허용하도록 구성됩니다. 다음 명령을 사용하여 이러한 기본값을 확인하거나 설정할 수 있습니다.
sudo ufw default deny incoming
sudo ufw default allow outgoing
5단계: UFW 활성화
UFW를 활성화하면 정의된 규칙과 기본 정책으로 방화벽이 활성화됩니다. UFW를 활성화하려면 다음 명령을 실행하십시오:
sudo ufw enable
6단계: UFW 상태 확인
다음 명령을 사용하면 UFW 상태와 현재 적용되는 규칙을 볼 수 있습니다.
sudo ufw status
이 UFW 튜토리얼을 따르면 서버에 UFW를 성공적으로 설치하고 활성화할 수 있습니다. 이 초기 설정을 통해 추가 구성이 쉬워집니다. UFW는 사용자 정의가 가능하며 필요에 따라 트래픽을 허용하거나 차단하는 특정 규칙을 추가할 수 있습니다.
기본 UFW 명령 및 구문
UFW는 사용하기 쉽도록 설계되었습니다. 그렇기 때문에 방화벽 관리를 단순화하는 간단한 명령과 명확한 구문이 있습니다. 이러한 기본 명령과 해당 구문을 이해하면 서버 방화벽을 구성하고 유지 관리하는 데 많은 도움이 됩니다. UFW 튜토리얼의 마지막 섹션에서 UFW 활성화에 대해 다루었습니다. 이제 시스템에서 UFW를 비활성화할 수 있는 명령으로 이 섹션을 시작하겠습니다.
UFW 비활성화
문제 해결이나 유지 관리상의 이유로 UFW를 비활성화해야 할 수도 있습니다. 이 명령이 해당 작업을 수행합니다.
sudo ufw disable
UFW 상태 확인
정기적으로 UFW 상태를 확인하면 현재 어떤 규칙이 활성화되어 있는지 알 수 있습니다. 따라서 방화벽이 예상한 대로 작동하는지 확인할 수 있습니다. 다음 UFW 명령을 사용하여 UFW의 상태를 확인할 수 있습니다:
sudo ufw status
이 명령 뒤에 verbose 옵션을 사용하면 UFW 상태에 대한 자세한 정보를 얻을 수 있습니다.
sudo ufw status verbose
트래픽 허용
UFW의 주요 기능 중 하나는 보안 요구 사항에 따라 트래픽을 허용하거나 거부하는 것입니다. 특정 포트를 통한 트래픽을 허용하려면 허용 명령 뒤에 포트 번호와 프로토콜(tcp/udp)을 입력해야 합니다. 예는 다음과 같습니다.
sudo ufw allow 22/tcp
이 명령은 TCP 프로토콜을 사용하여 포트 22에서 들어오는 SSH 연결을 허용합니다.
트래픽 거부
마찬가지로 트래픽을 차단하려면 거부 명령을 사용해야 합니다.
sudo ufw deny 23/tcp
이 명령은 TCP 프로토콜을 사용하여 포트 23에서 들어오는 Telnet 연결을 차단합니다.
IP 주소로 트래픽 허용
UFW를 사용하면 특정 IP 주소의 트래픽을 허용하거나 거부할 수도 있습니다. 이렇게 하면 보다 구체적인 보안 규칙을 가질 수 있습니다. 예는 다음과 같습니다.
sudo ufw allow from 192.168.1.10
IP 주소로 트래픽 거부
IP 주소를 기반으로 트래픽을 거부하는 것은 마지막 명령만큼 간단합니다. 이를 수행하는 방법의 예는 다음과 같습니다.
sudo ufw deny from 10.0.0.0/8
UFW 규칙 관리
UFW로 작업하면서 규칙을 추가, 수정, 제거하고 싶을 수도 있습니다. 어떤 UFW 명령으로 이를 수행할 수 있는지 살펴보겠습니다. 먼저, 새로운 규칙을 추가하는 것부터 시작해 보겠습니다. UFW에 새 규칙을 추가하려면 앞서 설명한 UFW 허용 또는 거부 명령을 사용하면 됩니다. 그러나 규칙을 제거하려면 더 많은 단계가 필요합니다. 규칙을 제거하려면 먼저 번호가 매겨진 규칙을 나열해야 합니다. 삭제하려는 특정 규칙을 식별해야 하기 때문에 이 단계는 중요합니다. 다음 명령은 번호가 매겨진 규칙을 나열합니다.
sudo ufw status numbered
그런 다음 해당 번호를 지정하여 규칙을 삭제할 수 있습니다.
sudo ufw delete 1
UFW 다시 로드 중
UFW 규칙을 변경할 때마다 방화벽을 다시 로드하는 것이 좋습니다. 다음 UFW 명령은 UFW를 다시 로드합니다:
sudo ufw reload
이 명령은 방화벽을 비활성화했다가 다시 활성화할 필요 없이 모든 규칙을 다시 적용합니다.
UFW 재설정
모든 기존 규칙을 다시 시작하거나 제거할 수 있는 UFW 명령이 있습니다. 하지만 UFW를 재설정하면 UFW가 비활성화되고 모든 규칙이 삭제된다는 점을 기억하세요. 다음 UFW 명령은 UFW를 재설정합니다:
sudo ufw reset
효과적인 방화벽 관리를 위해서는 이러한 기본 UFW 명령을 배우고 해당 구문을 이해하는 것이 필수적입니다. 다음 섹션에서는 서버의 보안을 더욱 강화할 수 있는 고급 구성 및 사용 사례에 대해 자세히 알아보겠습니다.
UFW를 다른 보안 도구와 결합
UFW는 방화벽 관리를 위한 강력한 도구입니다. 하지만 이를 다른 보안 도구와 결합하여 최대한 활용할 수 있는 기회가 있습니다. 그러한 도구 중 하나는 실패2금지, 로그를 모니터링하고 악의적인 징후가 보이는 IP 주소를 차단하여 무차별 대입 공격을 방지하는 데 도움이 됩니다. 보안 설정을 강화하기 위해 UFW를 Fail2ban과 통합하는 방법은 다음과 같습니다.
실패2반(fail2ban)은 실패한 로그인 시도나 기타 의심스러운 활동의 패턴을 찾기 위해 로그 파일을 검사할 수 있는 보안 도구입니다. 의심스러운 패턴을 찾은 후 방화벽 규칙을 자동으로 업데이트하여 문제가 되는 IP 주소를 차단할 수 있습니다. UFW와 Fail2ban의 조합은 반복적인 무차별 로그인 시도를 방어하는 데 정말 유용할 수 있습니다.
Fail2ban 설치
fall2ban을 설치하려면 서버에서 다음 명령을 실행하십시오.
sudo apt-get install fail2ban
UFW로 fall2ban 구성하기
이제 UFW와 작동하도록 Fail2ban을 구성하는 방법을 배우게 됩니다.
1단계: 로컬 감옥 구성 생성
Fail2ban의 기본 구성 파일은 다음 위치에 있습니다. /etc/fail2ban/jail.conf. 그러나 Fail2ban이 업데이트될 때 설정을 덮어쓰지 않도록 이 파일의 로컬 복사본을 만드는 것이 좋습니다. 여기에서 구성 파일을 복사할 수 있습니다.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
2단계: 감옥 구성 편집
열기 jail.local 다음 명령을 사용하여 원하는 텍스트 편집기에 파일을 저장하세요.
sudo nano /etc/fail2ban/jail.local
이 파일에서 다음을 찾으십시오. [기본] 섹션을 설정하고 반타임, 발견 시간, 그리고 최대 재시도 매개변수. 다음은 각 매개변수가 표시하는 내용의 목록입니다.
- 반타임: IP가 금지되는 기간을 제어합니다.
- 찾는 시간: 실패 시도가 계산되는 시간 창을 표시합니다.
- 최대 재시도: 금지되기 전에 허용된 실패 횟수를 표시합니다.
예를 들어 이러한 매개변수를 다음과 같이 설정할 수 있습니다.
[DEFAULT] bantime = 600 findtime = 600 maxretry = 5
3단계: Jail 구성에서 UFW 활성화
찾기 [sshd] 섹션(또는 보호하려는 기타 서비스) jail.local 파일. 이제 활성화가 true로 설정되어 있는지 확인하고 금지에 UFW를 사용해야 한다고 지정합니다.
[sshd] enabled = true banaction = ufw port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5
이 구성은 fall2ban이 SSH 서비스를 모니터링하고 UFW 규칙을 업데이트하여 악성 IP 주소를 금지하는지 확인하는 데 필요합니다.
Fail2ban 시작 및 활성화
Fail2ban을 구성한 후 서비스를 시작하고 부팅 시 실행되도록 활성화합니다.
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
이제, failure2ban의 상태를 확인하여 올바르게 실행되고 있는지 확인하세요.
sudo systemctl status fail2ban
UFW와 Fail2ban 결합의 이점
Fail2ban을 UFW와 통합하면 다음과 같은 이점을 얻을 수 있습니다. 계층화된 보안 접근 방식. UFW는 방화벽 규칙을 관리하는 간단한 방법을 제공하며, fall2ban은 악의적인 행동을 보이는 IP 주소를 금지하여 동적 보호를 추가합니다. 이러한 효율적인 팀워크는 무차별 공격의 위험을 줄이고 서버의 보안을 유지합니다.
마무리
이 UFW 튜토리얼에서 우리는 UFW가 시스템 보안을 강화하고 방화벽 관리를 쉽게 만드는 훌륭한 도구가 될 수 있는 방법을 검토했습니다. 우리는 UFW 사용을 위해 따라하기 쉬운 설치 및 구성 프로세스를 제공했습니다. 또한 Fail2ban과 같은 다른 보안 도구와 함께 UFW를 사용하면 프로세스를 더욱 최적화할 수 있는 방법도 설명했습니다.
FAQ
내가 추가한 UFW 규칙을 어떻게 제거하나요?
특정 UFW 규칙을 제거하려면 제거하려는 규칙 뒤에 ufw delete 명령을 사용해야 합니다. 예를 들어 포트 80(HTTP)에서 트래픽을 허용하는 규칙을 제거하려면 다음 명령을 사용합니다.
sudo ufw delete allow 80/tcp
UFW가 iptables보다 나은가요?
UFW는 더 쉬운 구문과 사용자 친화적인 명령을 사용하여 방화벽 관리를 단순화합니다. 이는 초보자에게 이상적인 선택입니다. 반면에 iptables는 더 자세한 제어 및 사용자 정의 옵션을 제공합니다. 이것이 바로 매우 구체적인 방화벽 규칙이 필요한 고급 사용자에게 적합한 이유입니다.
Firewalld와 UFW 중 어느 것이 더 낫습니까?
UFW는 명령이 간단하기 때문에 초보자에게 더 쉽습니다. 간단한 구성에 이상적입니다. 방화벽 복잡한 환경과 동적 방화벽 규칙을 위한 더 나은 도구로 만드는 고급 기능과 유연성을 제공합니다. 선택은 각 도구에 대한 특정 요구 사항과 친숙도에 따라 달라집니다.
Ubuntu에 가장 적합한 방화벽은 무엇입니까?
Ubuntu에 가장 적합한 방화벽은 필요에 따라 다릅니다. UFW는 간단하고 사용하기 쉽기 때문에 대부분의 사용자에게 기본이자 권장되는 옵션입니다. 고급 구성의 경우 iptables는 방화벽 규칙에 대한 세부적인 제어를 제공합니다. Firewalld는 방화벽 규칙의 동적 관리를 제공하는 또 다른 강력한 옵션입니다. 간단한 작업에는 UFW를 선택하고 더 복잡한 요구 사항에는 iptables 또는 Firewalld를 고려할 수 있습니다.