誰かがUbuntuでシンプルなファイアウォールを設定する方法の簡単な手順を(コンソールのみを使用して)与えることができますか? ssh、http、およびhttpsアクセスのみを許可する必要があります。
Sudo ufw default deny
須藤ufw許可http
Sudo ufwはhttpsを許可します
Sudo ufwはsshを許可します
Sudo ufw enable
このスクリプトを使用します。
着信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ポートを許可する前に接続を失いたくないです。 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 をご覧ください。
スクリプティングiptables
に慣れていれば、すべてのファイアウォール機能を完全に制御できます。 Firestarterほど親しみやすいものではありませんが、コンソールでnano
/vi
エディターを使用して行うことができます。これをチェックしてください チュートリアル Ubuntu向けです。
Quicktablesは、iptablesのルールを学ぶのに役立ちました。スクリプトを実行するだけで、iptablesスクリプトが生成されます。次に、スクリプトを開いて、要求された質問によって生成された関連コマンドを表示できます。優れた学習リソースです。
残念ながら、それはもはや維持されていません。
私は本当に 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"
ファイアホールの優れた点の1つは「try」コマンドです。設定ファイルを調整して 'firehol try'を実行できます。sshを介して接続している場合、変更内容によってネットワークアクセスが強制終了されると、fireholが変更を元に戻します。変更を実際に有効にするには、コミットと言う必要があります。
私は Shorewall を好むでしょう。セットアップは簡単ですが、同時に柔軟性があります。
多分あなたは http://iptables-tutorial.frozentux.net/iptables-tutorial.html を見てみるべきです。 lartc.org に関する詳細情報もご覧いただけます。