iptables untuk pemula, penasaran, tertarik (Bagian ke-2)

Ketika DesdeLinux Saya baru berusia beberapa bulan dan saya menulis tutorial yang sangat sederhana untuk dipahami tentang iptables: iptables untuk pemula, penasaran, tertarik (bagian pertama) . Menggunakan metafora seperti membandingkan komputer kita dengan rumah kita, firewall kita dengan pintu rumah, serta contoh lainnya, saya jelaskan dengan menghibur, tanpa banyak teknis atau konsep yang rumit, apa itu firewall, apa itu iptables dan cara mulai menggunakannya dan mengkonfigurasi. Ini adalah kelanjutan, bagian ke-2 dari tutorial iptables sebelumnya 🙂

Kebetulan beberapa hari yang lalu dengan menggunakan Linksys AP (Access Point) saya memasang Wifi di rumah pacar saya, walaupun secara lokalitasnya bukan yang paling luas dari segi teknologi, yaitu tidak banyak bahaya cracking. , itu selalu merupakan ide yang baik untuk memiliki keamanan yang sangat baik baik di Wifi maupun di komputer.

Saya tidak akan berkomentar tentang keamanan Wi-Fi di sini, karena ini bukan tujuan posting, saya akan fokus pada konfigurasi iptables yang saat ini saya gunakan di laptop saya.

Perintah berikut dijalankan di terminal, mereka harus dijalankan dengan hak administrator, saya akan menambahkan sudo ke setiap perintah, Anda dapat melakukan hal yang sama atau menghindari penggunaan sudo dengan menjalankan perintah secara langsung sebagai root

Di posting sebelumnya saya telah menjelaskan bahwa perlu di firewall untuk terlebih dahulu menolak semua lalu lintas yang masuk, untuk ini:

sudo iptables -P INPUT DROP

Kemudian kita harus mengizinkan komputer kita sendiri memiliki izin untuk memasukkan data:

sudo iptables -A INPUT -i lo -j ACCEPT

Serta menerima paket permintaan yang berasal dari komputer kami:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Untuk pemahaman yang lebih baik tentang baris-baris ini, saya sarankan membaca paruh pertama artikel sebelumnya: iptables untuk pemula, penasaran, tertarik (bagian pertama)

Sejauh ini komputer kita dapat menavigasi internet tanpa masalah, tetapi tidak seorang pun dari lingkungan lain (LAN, internet, Wifi, dll.) Yang dapat mengakses komputer kita dengan cara apa pun. Kami akan mulai mengkonfigurasi iptables sesuai dengan kebutuhan kami.

Menggunakan ulogd untuk mengeluarkan log iptables ke file lain:

Secara default log iptables masuk ke log kernel, log sistem, atau sesuatu seperti itu ... di Arch secara default, saat ini saya bahkan tidak ingat ke mana perginya, itulah mengapa saya menggunakan ulogd sehingga log iptables ada di file lain.

sudo iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ULOG

Memberikan akses ke server pribadi saya:

Saya tidak menggunakan VirtualBox atau apa pun yang mirip dengan virtualisasi, saya memiliki server pribadi saya yang divirtualisasi Qemu + KVM yang harus bisa konek ke laptop gw gitu, dengan aturan iptables yang baru saya tentukan diatas tidak akan bisa, oleh karena itu saya harus memberikan ijin IP virtual server saya agar bisa mengakses laptop saya :

sudo iptables -A INPUT -i virbr0 -p tcp -s 192.168.122.88 -j ACCEPT

Kami akan merinci baris ini, penting bagi Anda untuk memahami arti setiap parameter, karena mereka akan banyak diulang mulai sekarang:

- MASUKAN : Maksud saya, saya akan mendeklarasikan aturan untuk lalu lintas masuk

-saya virbr0 : Saya menyatakan bahwa antarmuka yang saya gunakan untuk menerima lalu lintas bukanlah etho (LAN) atau wlan0 (Wifi), saya secara khusus mengatakan bahwa itu adalah antarmuka virbr0 saya, yaitu antarmuka jaringan virtual (internal) tempat laptop saya berkomunikasi dengan server virtual saya (dan sebaliknya)

-p tcp : Saya tentukan protokolnya, yang paling banyak digunakan adalah UDP dan TCP, ini dia benar-benar cukup untuk tidak meletakkan ini tetapi ... biasanya menentukan jenis protokol yang akan diterima

-s 192.168.122.88 : Sumber, sumber paket. Artinya, aturan tersebut mengacu pada paket yang datang secara khusus dari IP 192.168.122.88

-j TERIMA : Sudah di sini saya mengatakan apa yang ingin saya lakukan dengan paket yang sesuai di atas, dalam hal ini accept.

Dengan kata lain, sebagai ringkasan, saya akan menerima paket yang berasal dari IP 192.168.122.88, tetapi jika Anda ingin memasukkan paket yang berasal dari IP itu TAPI! Mereka masuk dari antarmuka yang bukan virbr0, yaitu, katakanlah mereka mencoba memasukkan paket dari IP 192.168.122.88 tetapi mereka berasal dari komputer di jaringan Wifi kami, jika demikian, paket akan ditolak. Mengapa? Karena kami dengan jelas menentukan bahwa ya, kami menerima paket dari 192.168.122.88 ya, tetapi dan hanya tetapi, mereka juga harus masuk dari antarmuka virbr0 (internal, antarmuka jaringan virtual), jika paket berasal dari antarmuka lain (LAN, RAS, Wifi, dll) maka mereka tidak akan diterima. Dengan menentukan antarmuka seperti yang Anda lihat, kami dapat lebih membatasinya, kami dapat memiliki kontrol yang lebih baik atas apa yang masuk (atau tidak masuk) ke komputer kami.

Menerima ping dari IP apa pun di Wifi rumah:

Dari beberapa komputer lain yang terhubung ke Wifi, jika Anda mencoba melakukan ping ke laptop saya, saya ingin mengizinkannya. alasan? Idenya juga bahwa dalam beberapa minggu ke depan untuk menautkan PC di rumah sebelah ke jaringan, jadi berbagi informasi akan lebih mudah, lebih lancar, ketika saya mulai melakukan tes untuk menghubungkan desktop ke Wifi, saya akan perlu melakukan ping ke laptop saya untuk memeriksa konektivitas, jika laptop saya tidak melakukan ping saya kembali, saya dapat berpikir bahwa AP gagal, atau ada kesalahan saat mengakses Wifi, itulah mengapa saya ingin mengizinkan ping.

sudo iptables -A INPUT -i wlo1 -p icmp -s 192.168.1.0/24 -d 192.168.1.51 -j ACCEPT

- MASUKAN : Sama seperti sebelumnya, saya mengacu pada lalu lintas masuk

-aku mau1 : Mirip dengan sebelumnya. Dalam kasus sebelumnya saya menentukan antarmuka virtual, dalam hal ini saya menentukan antarmuka lain, yaitu wifi saya: wlo1

-p icmp : Protokol Icmp, icmp = ping. Artinya, saya tidak mengizinkan SSH atau yang serupa, saya hanya mengizinkan ping (icmp)

-s 192.168.1.0/24 : Sumber paket, yaitu selama paket tersebut berasal dari IP 192.168.1.? akan diterima

-d 192.168.1.51 : IP Tujuan, yaitu IP saya.

-j TERIMA : Saya menunjukkan apa yang harus dilakukan dengan paket yang cocok di atas, terima.

Artinya, dan untuk menjelaskan hal ini dengan cara yang sedang berjalan, saya menerima bahwa mereka melakukan ping kepada saya (protokol icmp) yang tujuannya khusus IP saya, selama mereka berasal dari IP seperti 192.168.1 .__ tetapi juga, mereka tidak dapat datang dari antarmuka jaringan apa pun, mereka harus masuk secara khusus dari antarmuka jaringan Wifi saya (wlo1)

Terima SSH hanya untuk satu IP:

Terkadang saya perlu terhubung SSH dari smartphone saya untuk mengontrol laptop, itulah mengapa saya harus mengizinkan akses SSH ke laptop saya dari IP Wifi saya, untuk ini:

sudo iptables -A INPUT -i wlo1 -p tcp -s 192.168.1.0/24 -d 192.168.1.51 --dport 22 -j ACCEPT

Dari baris ini satu-satunya hal yang berbeda atau yang patut untuk disorot adalah: –Dagang 22 (Port SSH yang saya gunakan)

Dengan kata lain, saya menerima upaya untuk terhubung ke laptop saya melalui port 22, selama mereka berasal dari IP wifi saya, mereka juga harus memiliki IP saya sebagai tujuan tertentu dan juga datang melalui antarmuka wlo1, yaitu wifi saya (bukan lan, dll)

Mengizinkan mereka melihat situs Anda:

Ini bukan kasus saya, tetapi jika ada di antara Anda yang memiliki situs web yang dihosting dan tidak ingin menolak akses ke siapa pun, artinya, setiap orang dari mana saja dapat mengakses situs web itu, ini jauh lebih sederhana daripada yang mungkin Anda pikirkan:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Dengan kata lain, di sini mereka mengizinkan semua lalu lintas masuk (tcp) melalui port 80. Seperti yang Anda lihat, saya tidak menentukan dari IP atau jaringan mana yang saya izinkan aksesnya, dengan tidak menentukan rentang IP yang diizinkan, iptables berasumsi bahwa saya menginginkannya untuk mengizinkan akses ke semua rentang IP yang ada, yaitu ke seluruh dunia 🙂

Kombinasi lain:

Saya memiliki banyak aturan lain seperti, misalnya, menerima ping untuk IP dari LAN rumah saya (untuk ini pada dasarnya adalah baris yang sama seperti di atas, mengubah rentang IP), yang lebih mirip dengan yang saya jelaskan di atas .. . di laptop saya seperti itu saya tidak menggunakan hal-hal yang benar-benar rumit, yang membatasi koneksi, anti DDoS, saya tinggalkan itu untuk server, di laptop saya tidak membutuhkannya 🙂

Pokoknya, sejauh ini artikelnya.

Seperti yang Anda lihat, bekerja dengan iptables tidaklah serumit itu, setelah Anda membuat skrip di mana Anda menulis aturan, itu sangat sederhana, lalu ubah, tambahkan atau hapus aturan ke firewall Anda.

Saya tidak menganggap diri saya ahli dalam hal ini jauh dari itu, meskipun Anda mungkin memiliki keraguan, mereka berkomentar di sini, saya akan mencoba membantu Anda sebanyak yang saya bisa.

salam


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.   resiko dijo

    Sangat bagus, dijelaskan dengan sangat baik, bagus.
    Saya suka jenis postingan ini.

    1.    KZKG ^ Gaara dijo

      Terima kasih banyak telah berkomentar 🙂

      Postingan ini tadi adalah hutang yang saya punya sejak lama, menyenangkan dan menyenangkan akhirnya bisa melunasinya ^ _ ^

      salam

      1.    PERBAIKI dijo

        pertanyaan apakah Anda di Kuba?
        … Kebetulan beberapa hari yang lalu dengan menggunakan Linksys AP (Access Point) saya memasang Wifi di rumah pacar saya

        1.    KZKG ^ Gaara dijo

          Ya tentu saja, saya lahir dan tinggal di Kuba. kenapa pertanyaannya?

        2.    Sam burgos dijo

          @FIXOCONN: Halo teman dan maafkan offtopic pertanyaan, tapi bagaimana Anda mendefinisikan Cinnamon agar muncul sebagai lingkungan desktop di agen pengguna? Saya menggunakan Mint 13 dengan Cinnamon, tetapi logo Cinnamon sama sekali tidak muncul di agen pengguna saya setiap kali saya berkomentar di situs ini

          Apakah Anda akan berbaik hati memberikan detail agen pengguna Anda jika tidak terlalu merepotkan? Saya ingin tahu bahwa data untuk menempatkannya sendiri =)

          Saya meninggalkan halaman untuk Anda sehingga Anda dapat memeriksanya dan memberi saya informasi. Terima kasih dan admin, maafkan "trolling" (jika Anda bisa menyebutnya begitu) dari pihak saya dengan informasi ini -> http://user-agent-string.info/

          1.    KZKG ^ Gaara dijo

            Tambahkan "Cinnamon" (tanpa tanda kutip) ke bagian mana pun dari UserAgent, maka logo akan muncul di komentar mendatang 🙂

  2.   Bruno cascio dijo

    Sangat bagus posnya! sangat jelas 😀

    1.    KZKG ^ Gaara dijo

      Terima kasih telah membaca dan terima kasih atas komentar Anda 🙂

  3.   lembah dijo

    Terima kasih! Ini sangat membantu saya!

  4.   Oscar Grenada dijo

    Halo, pertama-tama selamat untuk blognya, menurut saya bagus.
    Sesuatu yang mungkin bagus untuk disebutkan adalah bahwa opsi untuk masuk dengan ULOG tidak berfungsi di sistem operasi yang memiliki ulogd2, untuk kasus ini aturannya adalah:
    sudo iptables -A MASUKAN -p tcp -m tcp –tcp-flags FIN, SYN, RST, ACK SYN -j NFLOG

    1.    KZKG ^ Gaara dijo

      Pertama-tama, terima kasih banyak atas apa yang Anda katakan tentang blog 🙂

      Di Arch saya telah menginstal ulogd v2.0.2-2, dan baris yang saya tempatkan berfungsi tanpa masalah (saya harus meletakkan loglevel = 1 di /etc/ulogd.conf, tetapi itu membawa log ke file lain tanpa masalah.

      Apakah Anda menggunakan ulogd v2 atau lebih tinggi, apakah baris yang saya tinggalkan salah untuk Anda?

      Salam dan terima kasih telah berkomentar.

  5.   citux dijo

    Saya selalu menunggu bagian kedua, saya ingat ketika saya membaca bagian pertama (itu adalah inisiasi saya di firewall). Terima kasih @ KZKG ^ Gaara, salam 🙂

    1.    KZKG ^ Gaara dijo

      Terima kasih telah membaca saya 😀
      Dan hehe ya, kataku ... postingan ini adalah hutang yang aku miliki sejak lama ^ _ ^

  6.   Gambar placeholder Jose Luis Gonzalez dijo

    Salam. Sangat bagus posnya. Saya mencoba mengkonfigurasi aturan iptables untuk mengarahkan lalu lintas dari squid ke dansguardian dan masih belum mencapai tujuan. Saya sangat menghargai bantuan dalam hal ini.

    1.    KZKG ^ Gaara dijo

      iptables untuk itu? Bukankah itu dilakukan langsung dengan ACL di Squid?

  7.   tanpa nama dijo

    "Saya punya banyak aturan lain seperti .."
    Inilah yang saya sebut paranoia, nak
    Sedikit lagi dan Anda meletakkan paket Rotwailer di setiap port terbuka pada modem / router Anda 🙂

    1.    KZKG ^ Gaara dijo

      HAHAHAHAHAHAHAHAHA Aku sekarat karena tawa dengan para rottwailers hahahaha

  8.   Ivan dijo

    Salam sobat, kebetulan saya memerlukan bantuan untuk mengkonfigurasi IPTables sedemikian rupa sehingga menolak akses hanya untuk port 80 ketika saya mengetik alamat di browser server nama kustom saya, yaitu, ketika misalnya saya mengetik ns1.mydomain.com dan ns2.mydomain. com (yang merupakan server nama saya) IPtables menolak akses ke port 80 sehingga browser mencoba memuat halaman tetapi setelah beberapa saat kedaluwarsa dan tidak pernah dimuat, kebetulan saya sudah mencoba dengan perintah seperti ini:

    iptables -A MASUKAN -d ns1.midomini.com -p tcp –dport 80 -j DROP
    iptables -A MASUKAN -d ns2.midomini.com -p tcp –dport 80 -j DROP

    Tetapi satu-satunya hal yang dilakukannya adalah menolak masuk ke port 80 di semua domain saya (karena mereka berbagi IP yang sama dengan Virtual Host), saya ingin itu hanya ada di url server nama saya dan IP yang ditunjuk oleh server nama saya , yaitu, tabel IP menolak akses ke port 80 di:

    ns1.midomini.com (Menunjuk A) -> 102.887.23.33
    ns2.midomini.com (Menunjuk A) -> 102.887.23.34

    dan IP yang ditunjuk oleh server nama

    102.887.23.33
    102.887.23.34

    Contoh perusahaan yang memiliki sistem ini adalah: Dreamhost
    Server nama mereka: ns1.dreamhost.com dan ns2.dreamhost.com dan IP yang mereka tunjuk tidak merespons saat diketik di bilah alamat browser

    Terima kasih banyak sebelumnya atas perhatian Anda, saya sangat ingin Anda membantu saya dengan ini, saya sangat membutuhkannya dan segera !!

    Selamat siang !!

    1.    KZKG ^ Gaara dijo

      Halo Ivan,

      Hubungi saya melalui email (kzkggaara[at]desdelinux[dot]net) untuk membicarakannya dengan lebih tenang dan menjelaskannya dengan lebih baik, besok pasti saya akan menjawab Anda (hari ini saya lewat)

      Apa yang ingin Anda lakukan sederhana, saya tidak tahu mengapa baris yang Anda beri tahukan kepada saya tidak berfungsi untuk Anda, seharusnya begitu, tetapi Anda harus memeriksa log dan hal lain yang akan terlalu panjang di sini.

      Salam dan saya tunggu email Anda

  9.   neysonv.dll dijo

    secara teoritis dengan iptables saya dapat mencegah permintaan pemutusan sambungan dari program seperti aircrack. Aku benar??? Saya akan melakukan tes tetapi jika Anda memberi tahu saya bahwa Anda akan membuat saya sangat bahagia XDDD

    1.    KZKG ^ Gaara dijo

      Secara teori saya pikir begitu, sekarang, saya tidak tahu bagaimana itu bisa dilakukan, saya tidak pernah melakukannya ... tapi saya ulangi, secara teori, saya pikir itu bisa.

  10.   alex dijo

    Setelah menerapkan aturan iptables, tidak mungkin bagi saya untuk mengakses folder windows bersama di jaringan lokal. Aturan apa yang harus saya terapkan untuk memperbaikinya?
    Terima kasih.

    1.    KZKG ^ Gaara dijo

      Aturan iptables apa yang Anda terapkan?
      Ini adalah bagian kedua dari "iptables for newbies", apakah Anda membaca yang pertama? Saya menanyakan ini untuk mengetahui apakah Anda menerapkan aturan yang ada di posting sebelumnya

      1.    alex dijo

        Ya, saya telah membaca kedua bagian tersebut. Untuk skrip saya mendasarkan diri pada posting lain yang Anda posting tentang memulai aturan dengan systemd.

        #! / bin / bash
        # - UTF 8 -

        # Iptables biner
        iptables = »/ usr / bin / iptables»

        membuang ""

        ## Membersihkan tabel ##
        $ iptables -F
        $ iptables -X
        $ iptables -Z
        #echo »- Membuat FLUS ke iptables» && echo »»

        ## Membuat log dengan ULOGD ##
        $ iptables -A INPUT -p tcp -m tcp –tcp-flag FIN, SYN, RST, ACK SYN -j ULOG

        ## Tentukan kebijakan DROP default ##
        $ iptables -P INPUT DROP
        $ iptables -P MAJU DROP
        #echo »- Kebijakan DROP ditentukan secara default» && echo »»

        ## Izinkan semuanya ke localhost ##
        $ iptables -A INPUT -i lo -j ACCEPT
        $ iptables -A OUTPUT -o lo -j ACCEPT
        #echo »- Semua diperbolehkan untuk localhost» && echo »»

        ## Izinkan untuk memasukkan paket koneksi yang saya mulai ##
        $ iptables -A INPUT -m state –state ESTABLISHED, RELATED -j ACCEPT
        #echo »- Paket koneksi yang diizinkan dimulai oleh» && echo »» saya

        membuang "#############################"
        echo »## IPTABLES DIKONFIGURASI Oke! ## »
        membuang "#############################"

        Saya telah membaca di internet bahwa untuk samba Anda harus memiliki aturan berikut dalam skrip:

        $ iptables -A INPUT -p tcp –dport 139 -j ACCEPT
        $ iptables -A INPUT -p tcp –dport 445 -j ACCEPT
        $ iptables -A INPUT -p udp –sport 137 -j ACCEPT
        $ iptables -A INPUT -p udp –dport 137 -j ACCEPT
        $ iptables -A INPUT -p udp –dport 138 -j ACCEPT

        Namun, bahkan tidak dengan mereka saya dapat melihat grup kerja windows. : S

      2.    alex dijo

        Masalah terpecahkan. Ubah workgroup dan host mengizinkan parameter dalam file konfigurasi samba.

  11.   otkmanz.dll dijo

    Artikel yang sangat bagus, hebat !!!!
    Saya baru saja membacanya dan saya suka cara Anda menjelaskannya dan penggunaan iptables yang sangat berguna, saya sangat ingin mempelajari cara menggunakannya secara lebih mendalam.
    Salam dan artikel bagus, saya harap Anda mempublikasikan lebih banyak tentang Iptables! ^^

  12.   LEO dijo

    Terhormat;

    Saya memiliki proxy dengan iptables dan salah satu jaringan saya tidak dapat melakukan ping http://www.google.cl untuk alasan ini saya telah memblokir port dan mencoba ribuan cara untuk membuka port dan tidak ada yang terjadi. Jika saya tidak bisa melakukan ping, saya tidak bisa menghubungkan Outlook

  13.   Borja dijo

    Selamat atas kirimannya! Baik sekali. Tapi saya punya pertanyaan. Kadang-kadang alamat IP yang diberikan kepada Anda di jaringan dapat berubah (jika benar bahwa kami dapat menetapkan IP ke Alamat MAC kami), tetapi apakah ada kemungkinan dengan Iptables untuk mengizinkan akses ke server kami melalui SSH oleh Alamat MAC?

    Saya harap saya menjelaskan diri saya dengan baik.

    Salam, dan terima kasih banyak!

  14.   Fernando MartinGan dijo

    Halo, Anda tahu bahwa saya memiliki server linux yang dikonfigurasi dan setelah meletakkan perintah ini saya memblokir semuanya dan kehilangan akses, saya dapat memulihkan hampir semuanya tetapi saya kehilangan 2 hal. * Saya tidak dapat lagi mengakses dari browser web melalui cname «server» jika dengan ip, 10.10.10.5 dan di sisi lain saya tidak melihat sumber daya bersama dari windows explorer di jaringan, sebelum saya meletakkan \\ server dan melihat semua sumber daya bersama. Saya harap Anda dapat membantu saya, saya tahu ini konyol tetapi saya tidak dapat menyelesaikannya, terima kasih

  15.   tau dijo

    Saya mengutip kata demi kata:
    '
    Protokol Icmp, icmp = ping. Artinya, saya tidak mengizinkan SSH atau yang serupa, saya hanya mengizinkan ping (icmp)
    '

    ICMP dan PING tidak sama. Ping adalah bagian dari protokol ICMP, tetapi itu bukanlah segalanya. Protokol ICMP (Internet Control Message Protocol) memiliki lebih banyak kegunaan, beberapa di antaranya dengan bahaya tertentu. Dan Anda menerima semua lalu lintas ICMP. Anda harus membatasi hanya untuk melakukan ping.

    Saludos!

  16.   ozkr dijo

    Saya harus magang tapi saya kurang paham tentang iptables, bisa tolong bantu saya….
    Terima kasih!!!!!!!