Tidak mungkin menjelajah web setelah mengkonfigurasi iptables


2

Saya mencoba mengkonfigurasi iptables di komputer ubuntu saya. Ini adalah aturan saya:

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp    dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp  dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ftps-data
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ftps

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp     dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

Sayangnya, ketika saya mencoba menggunakan web explorer, ia tidak dapat terhubung. Hanya halaman kosong yang terus berusaha dimuat. Saya mencoba mengirim ping ke www.google.com, tetapi koneksi tidak dapat dibuat. Mungkin saya harus membiarkan lebih banyak port terbuka?

[EDIT] Saya mengubah aturan, ini adalah yang baru:

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state      NEW,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Sekarang berhasil !! :) Saya harap ini cukup aman. Saya kira itu memblokir semua lalu lintas kecuali koneksi yang dibuat sendiri


Anda mengizinkan lalu lintas ke port http / https, tetapi bukan lalu lintas kembali.
Shadur

Bisakah Anda memasukkan output iptables-save?
petry

Berita baiknya, aturan Anda ok, yang buruk, sepertinya masalah jaringan / perutean ... INPUTRantai Anda memiliki 0 traffic. Bisakah Anda pinggerbang Anda?
petry

Aturan INPUTrantai ketiga Anda menerima semuanya ... Rasanya tidak memiliki firewall 😉
petry

saya menggunakan -P INPUT -i io -j ACCEPT. Mungkin kalimat terakhir berasal dari itu
marttt

Jawaban:


1

Anda tidak mengizinkan koneksi terkait di ... Cara cepat untuk memperbaikinya ...:

#iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

PS: maaf karena terburu-buru memposting, saya sedang dalam perjalanan ke tempat kerja. Saya akan kembali dengan detail 😉

Sekarang, detailnya ...

Setiap kali Anda ingin terhubung melalui TCP / IP, ada "jabat tangan tiga arah". Katakanlah Anda ingin terhubung ke stackexchange.com (tidak ada firewall yang terlibat):

  1. Komputer Anda mengirim frame pertama (SYN), sesuatu seperti "hei, saya ingin terhubung dengan Anda!". Bingkai ini membuat komputer Anda dari port acak tinggi ( mis. 47122 ), melalui OUTPUTrantai Anda , ke stackexchange.com, port 80;
  2. stackexchange.com membalas dengan frame kedua ditandai ACK dan SYN, sesuatu seperti "Saya telah menerima permintaan Anda, kami dapat terhubung". Bingkai kedua ini meninggalkan stackexchange.com port 80 , melewati INPUTrantai Anda , ke port TCP 47122 Anda ;
  3. Komputer Anda membalas dengan frame ketiga yang ditandai ACK, sesuatu seperti "Saya telah menerima balasan Anda, saya akan mengirim data". Bingkai ini membuat komputer Anda dari port yang sama 47122 , melalui OUTPUTrantai Anda , ke stackexchange.com, port 80 .

Sisa data akan dikirim melalui soket komputer Anda yang dibuat : 47122 - stackexchange.com:80 , keluar melalui OUTPUTrantai Anda dan kembali melalui INPUTrantai.

Mari kita lihat bagaimana firewall Anda menangani koneksi itu:

  1. Bingkai pertama melewati OUTPUTrantai Anda secara bebas, tidak ada aturan untuk memfilternya, kebijakan default ACCEPT;
  2. Frame kedua diperiksa terhadap setiap aturan INPUTrantai Anda , tidak cocok dengan salah satu dari mereka (Anda memiliki aturan untuk menerima frame dengan dpthttp, https ...) dan mencapai kebijakan default DROP, dan hanya itu ... upaya koneksi Anda gagal.

Untuk memperbaikinya, dalam INPUTrantai Anda, Anda menerima frame dengan port sumber 80 (tidak benar-benar aman ...), atau, mengingat iptablesmemiliki pelacakan koneksi, Anda ACCEPT ESTABLISHEDdan RELATEDkoneksi (aturan yang saya posting di atas).

Saya juga akan menambahkan beberapa catatan tentang firewall Anda:

  • INPUT- Anda menerima koneksi dari sumber apa pun ke http,https,domain,ftps-data,ftps. Selama Anda tidak meng-hosting server yang sesuai di komputer ini, saya sarankan menghapus aturan ini.

  • FORWARD- lagi, Anda menerima koneksi untuk diteruskan, oleh komputer Anda, ke server http. Selama Anda tidak membagikan koneksi internet Anda atau Anda tidak meng-hosting VM, saya sarankan menghapus aturan ini.


Saya mengubahnya, ini adalah aturan baru saya:
marttt

MENERIMA semua - di mana saja di mana saja menyatakan negara TERKAIT, DIDIRIKAN Chain FORWARD (DROP kebijakan) tujuan sumber tujuan opt opt. Chain OUTPUT (kebijakan ACCEPT) target tujuan sumber opt opt
marttt

Tetapi masih memiliki masalah yang sama .....
marttt

Bisakah Anda memposting output iptables-save?
petry

# Dihasilkan oleh iptables-save v1.4.21 pada Kamis 26 Maret 15:26:16 2015 * filter: INPUT DROP [0: 0]: DRW FORWARD [0: 0]: OUTPUT ACCEPT [1:76] -A INPUT -m negara --state TERKAIT, DIDIRIKAN -j KOMIT PENERIMAAN #j Selesai pada Kamis 26 Mar 15:26:16 2015
marttt

0

Petry cukup banyak memakukannya.

Pada dasarnya, pengaturan Anda mengizinkan lalu lintas ke port http / https / ftp, tetapi tidak menerima lalu lintas yang berasal dari port itu - jadi permintaan Anda padam, tetapi responsnya turun.

Seperti kebanyakan firewall modern (didefinisikan sebagai "setelah 1995 atau sekitar") firewall linux melacak koneksi dan memungkinkan penyaringan berbasis negara.

Jalur iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTberfungsi sebagai catch-all - semua lalu lintas yang inisiasinya diizinkan oleh aturan lain apa pun dalam pengaturan firewall Anda akan diizinkan untuk melanjutkan tanpa memerlukan aturan eksplisit lebih lanjut di pihak Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.