Mengamankan jaringan Anda dengan Iptables - Proxy - NAT - IDS: PART 2

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

Sebelum melakukan skrip dan menunjukkan tampilannya, mari kita bicara sedikit tentang NAT dan konsep apa yang ingin kita lakukan dengan peralatan ini.

NAT dan Context contoh.

Ketika kita berbicara tentang NAT, kita dapat mengacaukannya dengan perutean, karena keduanya bertanggung jawab untuk menghubungkan dua jaringan yang berbeda satu sama lain. Perbedaan sebenarnya adalah bahwa perutean diterapkan untuk pergi dari satu jaringan lokal ke jaringan lain dan jaringan lain ini dapat terhubung ke router dan keluar ke Internet.

Sedangkan ketika kita berbicara tentang NAT, kita berbicara tentang perutean paket dari jaringan lokal atau pribadi ke jaringan publik atau Internet. Ini dilakukan dengan menutupi paket dengan meletakkan IP publik yang digunakannya untuk masuk ke Internet. Dengan kata lain, kita tidak membutuhkan router, karena IP publik sudah langsung dimiliki oleh komputer GNU / Linux.

nat

Kami akan mengerjakan ini dengan slogan bahwa kami menggunakan Linux kami sebagai router / firewall untuk keluar ke Internet dari jaringan lokal. Tapi di sini dua skenario bisa muncul.

  • Bahwa Linux kita berada di antara router penyedia layanan dan jaringan lokal.

Dalam hal ini, antara router dan Linux kita akan ada jaringan, dan antara Linux dan jaringan lokal akan ada jaringan lain yang berbeda. Ini berarti router kami tidak perlu melakukan NAT seperti itu, dengan perutean lalu lintas sederhana seperti yang dijelaskan di posting anterior Itu akan bagus.

  • Bahwa Linux kami memiliki antarmuka yang terhubung ke jaringan lokal dan melalui antarmuka lain ia menerima secara langsung IP publik yang digunakannya untuk menavigasi.

Ini berarti Linux kita harus melakukan NAT agar paket-paketnya dapat menjangkau Internet.

Untuk keperluan laboratorium kecil ini, kami akan mengatakan bahwa Linux kami menerima IP publik secara langsung dan dengan demikian dapat menguji efek NAT.

Untuk melakukan NAT kami kemudian menggunakan sintaks

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

Di mana eth1 adalah antarmuka tempat kami menerima IP publik, yaitu tempat kami pergi ke Internet.

MASQUERADE digunakan saat ip publik tetapi dapat bervariasi dari waktu ke waktu (dinamis). Jika tidak, kita bisa menggunakan SNAT –to-source ip

Membuat skrip iptables

Misalkan: 172.26.0.0 adalah jaringan lokal kita dan 81.2.3.4 adalah IP publik yang kita gunakan untuk mengakses Internet. (ini adalah ip statis). Saya memiliki antarmuka eth0 (jaringan lokal)

eth1 (jaringan publik).

Ini pada dasarnya terdiri dari membuat skrip yang dapat dipanggil dari /etc/init.d/firestop (misalnya). dan dari skrip ini kita dapat memulai, menghentikan atau memeriksa status konfigurasi kita, seperti yang kita lakukan dengan daemon sistem manapun.

Misalkan aturan IPTABLES saya ADALAH:

#! / bin / bash # Firewall rumah saya. # Nama file / etc / firewall_on # Oleh Jlcmux Twitter: @Jlcmux # # Kebijakan dasar. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT untuk berbagi Internet dari eth0 ke eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT --to-source 81.2.3.4
# # Izinkan koneksi masuk yang diprakarsai oleh iptables saya -A FORWARD -m state --state ESTABLISHED, RELATED -j ACCEPT # # Lalu lintas keluar resmi iptables -A FORWARD -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 memberikan izin eksekusi

Penjelasan:

Skrip pada dasarnya melakukan hal berikut:

  1. Pertama batasi semua navigasi, koneksi dan lalu lintas. (Kebijakan Firewall Dasar)
  2. Kemudian buat NAT dengan tujuan eth1. menunjukkan bahwa kami memiliki ip publik statis «81.2.3.4»
  3. Ini membuka port yang diperlukan untuk menerima paket koneksi yang saya mulai.
  4. Menerima lalu lintas HTTP, HTTPS, dan DNS keluar.
Aturan ini ditujukan untuk lalu lintas FORWARD karena kami menggunakan Linux kami sebagai Router, jadi kebijakan digunakan untuk lalu lintas yang BERLALU melalui Linux, yaitu bertindak sebagai perantara. Ini berarti Linux kami tidak dapat benar-benar menavigasi atau menerima data apa pun secara langsung. Ini hanya berlaku untuk komputer yang terhubung dengannya, tetapi tidak untuk dirinya sendiri

Jika kita ingin menggunakan peralatan kita untuk menavigasi, kita harus mengulangi baris tersebut dan mengubah MAJU menjadi INPUT atau OUTPUT sebagaimana mestinya.

Batalkan skrip.

Sekarang kita akan membuat skrip yang menggantikan semua hal di atas dan membuat komputer bersih dari semua ini. (Untuk keperluan pengujian atau kita hanya ingin mematikan firewall).

#! / bin / bash # Firewall rumah saya. # Nama file / etc / firewall_off # Oleh Jlcmux Twitter: @Jlcmux # #Menghapus Aturan iptables -F # #Menerapkan kebijakan default (semua lalu lintas diterima) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Mengotomatiskan.

Sekarang kita harus membuat skrip di dalamnya /etc/init.d/ dan layanan dimulai secara otomatis dan kami dapat mengelolanya dengan cara yang lebih nyaman.

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

Penjelasan:

Skrip terakhir ini kami masukkan /etc/init.d/ dengan nama firewall. Jadi jika kita ingin mengatur firewall kita bisa menggunakan perintah /etc/init.d/ firewall mulai. Dengan cara yang sama kita bisa menghentikannya atau melihat keadaan.

Sekarang kita akan mengedit file tersebut /etc/rc.local dan kami menempatkan sesuatu seperti: /etc/init.d/ firewall mulai untuk memulai dengan sistem.

Demikian juga. Ini adalah bagian kedua. Saya berharap ini membawa sesuatu untuk Anda semua. Selanjutnya kita melihat Proxy dan IDS.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   pemburu dijo

    Jika Anda menggunakan Debian, ada paket di repo (iptables-persistent) yang melakukan hal itu, ia membuang aturan saat ini di /etc/iptables/rules.v4 atau v6 tergantung pada apa yang Anda gunakan dan kemudian menerapkannya untuk Anda saat Anda mengangkat sistem.

  2.   OCZ dijo

    Dalam praktiknya, untuk membersihkan konfigurasi firewall iptables konvensional (dan menggunakan NAT tidak akan begitu dari sudut pandang saya), dalam banyak kasus, aturan yang membilas dan menyetel ulang kebijakan default ke ACCEPT sudah cukup.
    Tetapi secara teori, dan sejauh yang saya tahu, selain itu Anda juga perlu menghapus string non-default dan mengatur ulang penghitung. Tindakan yang harus dilakukan dengan mempertimbangkan bahwa selain "filter" ada tabel lain, (wajib membaca file "/ proc / net / ip_tables_names" untuk ini).

    Omong-omong, ortodoksi mengatakan bahwa firewall harus sudah aktif sebelum jaringannya aktif. Saya tidak tahu bagaimana ini dicapai pada sistem Linux lain, tetapi pada sistem Debian, skrip dapat diadaptasi dan diatur di direktori "/etc/network/if-pre-up.d/".

    Firewall yang bagus untuk semua orang. 😉

  3.   Nautilus dijo

    Halo, postingannya sangat bagus. Saya telah membaca seluruh 2 jilid.

    Menunggu 🙂 berikutnya

  4.   anonim dijo

    Sebuah pertanyaan dari ketidaktahuan saya, kami melanjutkan dengan iptables, tetapi untuk beberapa versi kernel kami memiliki nftables, saya sudah menguji, pertanyaannya adalah, apakah nftables sesuatu yang beta sehubungan dengan iptables? Akankah iptables terus digunakan lebih lama?

    Terima kasih.

    1.    yukiteru dijo

      nftables mencakup semua fungsi iptables, ip6tables, arptables dan ebtables, semuanya menggunakan infrastruktur baru di kernelspace dan userspace, yang memastikan kinerja yang lebih baik dan fungsionalitas yang ditingkatkan. nftables akan menggantikan iptables dan semua alat lain yang disebutkan tetapi tidak untuk saat ini, setidaknya sampai ada penggunaan nftables yang lebih luas.

  5.   Alexander dijo

    posting yang sangat bagus, saya ingin membaca lebih banyak karena dijelaskan dengan sangat baik .. salam terima kasih kontribusi yang besar

  6.   avrah dijo

    Halo! Sangat bagus kedua pos tersebut.
    Sebagai kontribusi yang bisa Anda tambahkan di akhir bagian ini:

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

    Tambahkan ini ke rc.local.

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

    Artinya, jika "firewall" memiliki izin eksekusi, jalankan, jika tidak.
    Jika Anda ingin "firewall" tidak mulai, Anda hanya perlu menghapus izinnya.

    Misalnya: chmod + x /etc/init.d/ firewall
    untuk membuatnya berjalan di setiap startup atau ...
    chmod -x /etc/init.d/ firewall
    untuk menonaktifkannya sepenuhnya.

    Salam!