ใครสามารถให้ขั้นตอนง่ายๆกับตัวอย่างการกำหนดค่าวิธีการตั้งค่าไฟร์วอลล์อย่างง่ายบน Ubuntu (ใช้คอนโซลเท่านั้น)? ควรอนุญาตให้เข้าถึง ssh, http และ https เท่านั้น
ใครสามารถให้ขั้นตอนง่ายๆกับตัวอย่างการกำหนดค่าวิธีการตั้งค่าไฟร์วอลล์อย่างง่ายบน Ubuntu (ใช้คอนโซลเท่านั้น)? ควรอนุญาตให้เข้าถึง 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 เปิดใช้งานหรือเริ่ม ufw ผ่าน initscript ของมัน 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
บรรณาธิการ ลองดูบทช่วยสอนนี้มุ่งสู่ Ubuntu
Quicktables ช่วยให้ฉันเรียนรู้กฎ iptables เพียงแค่เรียกใช้สคริปต์และมันจะสร้างสคริปต์ iptables ให้คุณ ... จากนั้นคุณสามารถเปิดและดูคำสั่งที่เกี่ยวข้องที่สร้างขึ้นโดยคำถามที่ถามถึงคุณ มันเป็นแหล่งเรียนรู้ที่ยอดเยี่ยม
น่าเสียดายที่มันไม่ได้รับการดูแลรักษาอีกต่อไป
หากต้องการสร้างกฎการตั้งค่าที่คุณต้องการคุณจะต้องแก้ไขไฟล์ / etc / default / firehol และเปลี่ยน START_FIREHOL = ใช่
และคุณต้องการทำให้ /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 คือคำสั่ง 'ลอง' คุณสามารถปรับไฟล์การกำหนดค่าของคุณและลอง 'firehol ลอง' หากคุณเชื่อมต่อผ่าน ssh และบางอย่างเกี่ยวกับสิ่งที่คุณเปลี่ยนฆ่าการเข้าถึงเครือข่ายของคุณแล้ว firehol จะเปลี่ยนกลับการเปลี่ยนแปลง หากต้องการให้การเปลี่ยนแปลงมีผลบังคับใช้จริงคุณต้องตอบรับ
บางทีคุณอาจจะดูที่http://iptables-tutorial.frozentux.net/iptables-tutorial.html นอกจากนี้คุณสามารถค้นหาข้อมูลเพิ่มเติมได้ที่lartc.org
sudo apt-get install firestarter
จากนั้นดูในเมนู System-> Administration