it-swarm-ko.tech

Ubuntu에서 간단한 방화벽을 설정하는 방법은 무엇입니까?

누군가 Ubuntu에서 간단한 방화벽을 설정하는 방법 (콘솔 만 사용) 구성 예제를 사용하여 간단한 단계를 제공 할 수 있습니까? ssh, http 및 https 액세스 만 허용되어야합니다.

18
klew

Sudo ufw 기본 거부

Sudo ufw 허용 http

Sudo ufw 허용 https

Sudo ufw ssh 허용

Sudo ufw 활성화

20
Nerdfest

이 스크립트를 사용하십시오.

들어오는 ICMP (ping)를 허용할지 여부를 결정하기 만하면됩니다.

# Clear any existing firewall stuff before we start
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush

# As the default policies, drop all incoming traffic but allow all
# outgoing traffic.  This will allow us to make outgoing connections
# from any port, but will only allow incoming connections on the ports
# specified below.
iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT

# Allow all incoming traffic if it is coming from the local loopback device
iptables -A INPUT -i lo -j ACCEPT

# Accept all incoming traffic associated with an established
# connection, or a "related" connection
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow incoming connections
# SSH
iptables -A INPUT -p tcp -i eth0 --dport 22 -m state --state NEW -j ACCEPT
# HTTP
iptables -A INPUT -p tcp -i eth0 --dport 80 -m state --state NEW -j ACCEPT
# HTTPS
iptables -A INPUT -p tcp -i eth0 --dport 443 -m state --state NEW -j ACCEPT

# Allow icmp input so that people can ping us
iptables -A INPUT -p icmp -j ACCEPT

# Reject all other incoming packets
iptables -A INPUT -j REJECT
14
Mikeage

다른 답변에 대한 의견에서 언급했듯이 ssh 포트를 허용하기 전에 연결이 끊어지는 것을 원하지 않습니다. man 페이지에서 :

"원격 관리

ufw enable을 실행하거나 initscript를 통해 ufw를 시작할 때 ufw는 체인을 플러시합니다. 이것은 ufw가 일관된 상태를 유지할 수 있도록 필요하지만 기존 연결 (예 : ssh)을 삭제할 수 있습니다. ufw는 방화벽을 활성화하기 전에 규칙 추가를 지원하므로 관리자는 다음을 수행 할 수 있습니다.

ufw allow proto tcp from any to any port 22

'ufw enable'을 실행하기 전에. 규칙은 여전히 ​​플러시되지만 방화벽을 활성화 한 후 ssh 포트가 열립니다. ufw가 '활성화'되면 ufw는 규칙을 추가하거나 제거 할 때 체인을 플러시하지 않습니다 (하지만 규칙을 수정하거나 기본 정책을 변경할 때). "

여기에 스크립트를 사용하여 설정하는 방법이 있습니다. 이 스크립트를 실행하면 로그 아웃되지만 실행 한 후 ssh를 통해 다시 로그인 할 수 있습니다.

다음을 스크립트에 넣고 이름을 start-firewall.sh로 지정합니다.

#!/bin/sh
ufw allow ssh
ufw enable
ufw default deny
ufw allow http
ufw allow https

그런 다음 실행 가능하게 만들고 다음을 수행하여 실행하십시오.

$ chmod + x start-firewall.sh
$ Sudo ./start-firewall.sh

자세한 내용은 man page 를 참조하십시오.

8
Hamish Downer

iptables 스크립팅에 익숙하다면 모든 방화벽 기능을 완전히 제어 할 수 있습니다. Firestarter만큼 친숙하지는 않지만 콘솔에서 nano/vi 편집기를 사용하여 수행 할 수 있습니다. tutorial Ubuntu에 맞춰져 있습니다.

2
spoulson

Quicktables는 iptables 규칙을 배우는 데 도움이되었습니다. 스크립트를 실행하면 iptables 스크립트가 생성됩니다. 그러면 스크립트를 열고 질문에 의해 생성 된 관련 명령을 볼 수 있습니다. 훌륭한 학습 자료입니다.

불행히도 더 이상 유지되지 않습니다.

http://qtables.radom.org/

1
JP Richardson

나는 firehol ( package )를 사용하는 것을 정말 좋아합니다.

원하는 설정 규칙을 만들려면/etc/default/firehol 파일을 편집하고 START_FIREHOL = YES를 변경해야합니다.

그리고 /etc/firehol/firehol.conf를 다음과 같이 만들고 싶을 것입니다.

version 5

interface any IfAll
    client any AnyClient accept
    server "ssh http https" accept
    # Accept everything from trusted networks
    server anystateless AllInside accept src "10.3.27.0/24"

Firehol의 가장 큰 장점 중 하나는 'try'명령입니다. 구성 파일을 조정하고 ssh를 통해 연결된 위치에서 'firehol try'를 수행 할 수 있으며 변경 한 사항에 대해 네트워크 액세스가 중단 된 경우 firehol이 변경 사항을 되돌립니다. 변경 사항을 실제로 적용하려면 commit이라고 말해야합니다.

1
Zoredache

나는 Shorewall 을 선호합니다. 설치가 쉽지만 동시에 유연합니다.

1
Artyom Sokolov

http://iptables-tutorial.frozentux.net/iptables-tutorial.html 을 살펴 봐야 할 것입니다. 또한 lartc.org 에서 더 많은 정보를 찾을 수 있습니다.

0
hyperboreean