Mengamankan rangkaian anda dengan Iptables - Proxy - NAT - IDS: BAHAGIAN 2

Dalam hantar anterior Kami melihat konfigurasi IPTables berfungsi sebagai Firewall. Sekarang kita dapat melihat bagaimana membuat skrip tersebut sehingga aturan dijalankan secara otomatis ketika sistem dimulai, dan juga bagaimana kita dapat menghilangkan atau menghentikan peraturan tersebut sebentar.

Sebelum melakukan skrip dan menunjukkan kepada anda bagaimana rupanya, mari kita bincangkan sedikit mengenai NAT dan konsep apa yang ingin kita lakukan dengan peralatan ini.

NAT dan Konteks contoh.

Apabila kita bercakap tentang NAT, kita dapat membingungkannya dengan penghalaan, kerana kedua-duanya bertugas menghubungkan dua rangkaian yang berbeza antara satu sama lain. Perbezaan sebenarnya ialah perutean diterapkan untuk pergi dari satu rangkaian tempatan ke rangkaian lain dan rangkaian lain ini dapat menyambung ke penghala dan keluar ke Internet.

Manakala, ketika kita berbicara tentang NAT, kita berbicara tentang merutekan paket dari rangkaian tempatan atau swasta ke rangkaian awam atau Internet. Ia melakukan ini dengan menutupi paket dengan meletakkan IP awam yang masuk ke Internet. Artinya, kita tidak memerlukan penghala, kerana IP umum dimiliki secara langsung oleh komputer GNU / Linux.

nat

Kami akan bekerja dengan slogan bahawa kami menggunakan Linux kami sebagai penghala / firewall untuk keluar ke Internet dari rangkaian tempatan. Tetapi di sini dua senario boleh muncul.

  • Bahawa Linux kami adalah antara penghala penyedia perkhidmatan dan rangkaian tempatan.

Dalam hal ini, antara router dan Linux kita akan ada jaringan, dan antara Linux dan jaringan lokal akan ada jaringan lain yang berbeda. Ini bermaksud bahawa penghala kita tidak perlu melakukan NAT seperti itu, dengan perutean lalu lintas yang sederhana seperti yang dijelaskan dalam hantar anterior Ia akan menjadi baik.

  • Bahawa Linux kita mempunyai antara muka yang disambungkan ke rangkaian tempatan dan melalui antara muka yang lain, ia menerima secara langsung IP awam yang dilayari.

Ini bermaksud bahawa Linux kita mesti melakukan NAT supaya paket dapat mencapai Internet.

Untuk tujuan makmal kecil ini, kami akan mengatakan bahawa Linux kami menerima IP awam secara langsung dan dengan demikian dapat menguji kesan NAT.

Untuk melakukan NAT maka kita menggunakan sintaks

 iptables -t nat -A POSTROUTING -O eth1 -j MASQUERADE

Di mana eth1 adalah antara muka di mana kita menerima ip awam, iaitu di mana kita pergi ke Internet.

MASQUERADE digunakan semasa ip bersifat umum tetapi boleh berubah mengikut masa (dinamik). Jika tidak, kita boleh menggunakan SNAT –untuk sumber ip

Membuat skrip iptables

Anggaplah bahawa: 172.26.0.0 adalah rangkaian tempatan kami dan 81.2.3.4 adalah IP awam yang kami gunakan untuk melayari Internet. (ia adalah ip statik). Saya mempunyai antara muka eth0 (Rangkaian tempatan)

eth1 (Rangkaian awam).

Pada dasarnya terdiri daripada membuat skrip yang boleh dipanggil dari /etc/init.d/firestop (contohnya). dan dari skrip ini kita dapat memulakan, menghentikan atau memeriksa status konfigurasi kita, seperti yang kita lakukan dengan daemon sistem apa pun.

Andaikan peraturan IPTABLES saya:

#! / bin / bash # Firewall rumah saya. # Nama fail / etc / firewall_on # Oleh Jlcmux Twitter: @Jlcmux # # Dasar dasar. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT untuk berkongsi Internet dari eth0 hingga eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT --to-source 81.2.3.4
# # Benarkan sambungan masuk yang dimulakan oleh iptables saya -SATU KEHADIRAN -m keadaan - negara DITETAPKAN, BERKAITAN -j MENERIMA # # iptables lalu lintas keluar yang dibenarkan -Sebuah hadapan -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 443 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
Jangan lupa untuk memberi kebenaran pelaksanaan

Penjelasan:

Skrip pada dasarnya melakukan perkara berikut:

  1. Pertama hadkan semua navigasi, sambungan dan lalu lintas. (Dasar Firewall Asas)
  2. Kemudian buat NAT dengan tujuan eth1. menunjukkan bahawa kita mempunyai ip awam statik «81.2.3.4»
  3. Ini membuka port yang diperlukan untuk menerima paket sambungan yang dimulakan oleh saya.
  4. Menerima trafik HTTP, HTTPS, dan DNS keluar.
Peraturan tersebut ditujukan untuk lalu lintas FORWARD kerana kami menggunakan Linux kami sebagai Router, jadi kebijakan tersebut digunakan untuk lalu lintas yang MELALUI Linux, iaitu, ia bertindak sebagai perantara. Ini bermaksud bahawa Linux kita tidak dapat menavigasi atau menerima data secara langsung. Ia hanya berlaku untuk komputer yang disambungkan kepadanya, tetapi tidak untuk dirinya sendiri

Sekiranya kita ingin menggunakan peralatan kita untuk menavigasi, kita harus mengulangi garis dan menukar FORWARD menjadi INPUT atau OUTPUT yang sesuai.

Batalkan skrip.

Sekarang kita akan membuat skrip yang mengatasi semua perkara di atas dan menjadikan komputer bersih dari semua ini. (Untuk tujuan ujian atau kami hanya mahu mematikan firewall).

#! / bin / bash # Firewall rumah saya. # Nama fail / etc / firewall_off # Oleh Jlcmux Twitter: @Jlcmux # #Menghapus Peraturan iptables -F # #Mengaplikasikan dasar lalai (semua lalu lintas diterima) iptables -P INPUT MENERIMA iptables -P OUTPUT MENERIMA iptables -P FORWARD ACCEPT

Mengautomatikkan.

Sekarang kita mesti membuat skrip di dalamnya /etc/init.d/ dan perkhidmatan bermula secara automatik dan kami dapat menguruskannya dengan cara yang lebih selesa.

#! / bin / bash # Firewall rumah saya. # Nama fail /etc/init.d/ firewall # Oleh Jlcmux Twitter: Kes @Jlcmux $ 1 bermula) / etc / firewall_on ;; berhenti) / etc / firewall_off ;; status) iptables -L ;; *) echo "Sintaks yang salah. Sah = /etc/init.d/ firewall start | stop | status ;; esac

Penjelasan:

Skrip terakhir ini kita masukkan /etc/init.d/ dengan nama firewall. Oleh itu, jika kita mahu menguruskan firewall kita boleh menggunakan perintah /etc/init.d/ firewall bermula. Dengan cara yang sama kita dapat menghentikannya atau melihat keadaannya.

Sekarang kita akan mengedit fail /etc/rc.local dan kami meletakkan seperti: /etc/init.d/ firewall bermula untuk memulakan dengan sistem.

Juga. Ini adalah bahagian kedua. Saya harap ia membawa sesuatu kepada anda semua. Di seterusnya kita melihat Proksi dan IDS.


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

7 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   penipu kata

    Sekiranya anda menggunakan Debian, ada pakej di repo (iptables-persistent) yang melakukannya dengan tepat, ia membuang peraturan semasa di /etc/iptables/rules.v4 atau v6 bergantung pada apa yang anda gunakan dan kemudian menerapkannya kepada anda semasa anda mengangkat sistem.

  2.   OCZ kata

    Dalam praktiknya, untuk membersihkan konfigurasi firewall iptables konvensional (dan menggunakan NAT tidak akan begitu dari sudut pandang saya), dalam kebanyakan kes peraturan menyingkirkan dan menetapkan semula dasar lalai ke MENERIMA sudah cukup.
    Tetapi secara teori, dan sejauh yang saya tahu, di samping ini, anda juga perlu membersihkan rentetan tidak lalai dan menetapkan semula kaunter. Tindakan yang perlu diingat bahawa selain "saringan" terdapat jadual lain, (wajib membaca fail "/ proc / net / ip_tables_names" untuk ini).

    Ngomong-ngomong, ortodoksi mengatakan bahawa firewall mesti sudah siap sebelum rangkaian berada. Saya tidak tahu bagaimana ia dapat dicapai dalam sistem Linux yang lain, tetapi dalam jenis Debian skrip dapat disesuaikan dan ditetapkan dalam direktori "/etc/network/if-pre-up.d/".

    Firewall baik semua orang. 😉

  3.   NauTiluS kata

    Helo, jawatannya sangat bagus. Saya telah membaca keseluruhan 2 jilid.

    Menunggu yang seterusnya 🙂

  4.   tanpa nama kata

    Satu pertanyaan dari ketidaktahuan saya, kami meneruskan iptables, tetapi untuk beberapa versi kernel kami mempunyai nftables, saya sudah menguji, soalannya adalah, adakah nftables sesuatu beta berkaitan dengan iptables? Adakah iptables akan terus digunakan lebih lama?

    Terima kasih.

    1.    Yukiteru kata

      nftables merangkumi semua fungsi iptables, ip6tables, arptables dan ebtables, semuanya menggunakan infrastruktur baru di ruang kernel dan ruang pengguna, yang memastikan prestasi yang lebih baik dan fungsi yang lebih baik. nftables akan menggantikan iptables dan semua alat lain yang disebutkan tetapi tidak buat masa ini, sekurang-kurangnya sehingga penggunaan nftables lebih meluas seperti itu.

  5.   Alexander kata

    sangat baik, saya ingin membaca lebih banyak kerana ia dijelaskan dengan baik .. salam terima kasih atas sumbangan besar

  6.   Avrah kata

    Helo! Posisi sangat bagus.
    Sebagai sumbangan anda boleh menambah akhir bahagian ini:

    "Sekarang kita akan mengedit file /etc/rc.local dan meletakkan sesuatu seperti: /etc/init.d/firestop start sehingga bermula dengan sistem."

    Tambahkan ini ke rc.local.

    jika [-x /etc/init.d/ firewall]; kemudian
    /etc/init.d/ firewall bermula
    fi

    Yang bermaksud bahawa jika "firewall" memiliki izin pelaksanaan, jalankan, jika tidak.
    Sekiranya anda mahu "firewall" tidak dimulakan, anda hanya perlu membuang kebenarannya.

    Contohnya: chmod + x /etc/init.d/ firewall
    untuk menjadikannya berjalan pada setiap permulaan atau ...
    chmod -x /etc/init.d/ firewall
    untuk mematikannya sepenuhnya.

    Salam!