우분투에서 간단한 방화벽을 설정하는 방법? 방법 (콘솔 만 사용)을

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



답변

sudo ufw 기본 거부

sudo ufw http 허용

sudo ufw 허용 https

sudo ufw 허용 ssh

sudo ufw 활성화


답변

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

들어오는 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


답변

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

“원격 관리

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

자세한 내용은 매뉴얼 페이지를 참조하십시오 .


답변

스크립팅에 익숙해지면 iptables모든 방화벽 기능을 완전히 제어 할 수 있습니다. Firestarter만큼 친숙하지는 않지만 콘솔에서 nano/ vi편집자 와 함께 할 수 있습니다 . 이 튜토리얼 을 우분투를 대상으로 확인하십시오 .


답변

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

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

http://qtables.radom.org/


답변

나는 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이라고 말해야합니다.


답변

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