Apakah mungkin, untuk mengatur BIND sebagai server DNS di jaringan lokal saya, dan membuat skrip eksekusi ketika mendapat pencarian?
Saya ingin menjalankan skrip Python atau Bash, berdasarkan pencarian DNS yang masuk, bagaimana saya bisa menyelesaikan ini?
Jika memungkinkan di Bind, tolong beri tahu saya caranya, dan jika tidak, beri tahu saya apakah mungkin di implementasi server DNS lain, yang berjalan di Ubuntu.
Terima kasih banyak.
Jawaban:
Saya bisa memikirkan dua opsi tambahan yang tidak memerlukan parsing log BIND atau mengganggu BIND sama sekali.
1) Port mirroring - paket duplikat dan mengirimkannya ke port terpisah di mana aplikasi mendengarkan, mem-parsing permintaan DNS, dan mengambil tindakan.
dpkt
atauscapy
atau pustaka kerajinan paket serupa akan membantu Anda menguraikan permintaan mentah.2) Gunakan beberapa jenis pustaka paket sniffing untuk secara pasif memonitor permintaan. Berikut ini contoh menggunakan
scapy
:Jelas, ini hanyalah contoh primitif. Itu hanya mencetak nama domain yang diminta, tetapi Anda tentu saja dapat menambahkan banyak logika. Jika Anda merujuk dokumentasi yang tidak lengkap Anda akan menemukan bahwa semua bidang dari permintaan DNS sudah tersedia.
sumber
Anda bisa melakukannya dengan memantau log server-bind (logging kueri harus dinyalakan). Semoga berhasil...
sumber
/dev/shm
juga.swatch
atau OSSEC pada log untuk memanggil skrip Anda. bukan ide yang sangat bagus dalam jangka panjang.Tidak ada hal-hal seperti acara yang diimplementasikan dalam bind, tidak perlu itu.
Anda dapat melihat-lihat firewall aplikatif, yang digunakan di beberapa organisasi untuk membatasi akses ke beberapa pengguna. Di sana Anda akan memiliki lebih banyak peluang untuk mencapai apa yang Anda inginkan.
Menyiapkan rute juga tampaknya ide yang bagus, pada akhirnya apa yang ingin Anda capai dengan bind dan memicu eksekusi skrip akan menjadi tidak efisien juga: Anda harus:
Menyiapkan banyak rute bukanlah masalah dan tidak akan memengaruhi kinerja dengan cara yang nyata. Menurut Anda, berapa rute yang dimiliki router perusahaan? ratusan? tidak cukup ... Dan mereka tidak harus memiliki konfigurasi perangkat keras yang mewah. Serius, Anda baik-baik saja, sistem operasi serius dirancang khusus untuk menangani banyak rute dan mengoptimalkan tampilan.
Selain apa yang ingin Anda lakukan di tempat pertama adalah menggunakan database di atas tabel routing, yang akan menjadi jenis database lain. Tetap sederhana. Pada server BGP, banyak rute sebenarnya dipilih / dipilih karena alasan politik / keuangan, masing-masing ISP / organisasi dapat melakukan itu dan mereka semua menambahkan rute spesifik untuk tujuan ini. Biaya transit atau perintah pengadilan seringkali menjadi penyebab tindakan tersebut.
sumber