Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
iptablesadalah alat yang kuat yang digunakan untuk mengkonfigurasi firewall bersepadu kernel Linux. Ia sudah terpasang pada sebilangan besar pengedaran Ubuntu, namun jika anda menggunakan versi Ubuntu yang disesuaikan atau berjalan di dalam bekas, kemungkinan besar anda harus memasangnya secara manual.
sudo apt-get install iptables iptables-persistent
Selepas pemasangan, jika anda ditanya sama ada menyimpan peraturan semasa anda, tidak menjadi masalah buat masa ini kerana anda akan membuang atau membuat peraturan baru nanti.
Anda boleh menggunakan netcatperintah (pada komputer yang berbeza daripada pelayan anda) untuk menguji port mana yang terbuka atau ditutup.
nc -z -w5 -v SERVER_IP PORT
nc adalah arahan netcat.-z hanya hantar sebungkus tanpa muatan.-w5 tunggu sehingga 5 saat untuk mendapatkan tindak balas.-v mod verbose.SERVER_IPdengan alamat pelayan anda.PORTdengan port yang ingin anda uji jika ia terbuka (contohnya 22).Di pelayan anda, anda boleh menggunakan netstatperintah untuk melihat port mana yang sedang mendengar sambungan.
sudo netstat -tulpn
Catatan: Walaupun netstatmudah untuk mencari port yang ingin anda bekerjasama, anda harus mengetahui aplikasi yang anda pasang pada pelayan anda dan port mana yang sedang mendengar, anda tidak perlu membenarkan setiap port yang anda temukan dalam netstatoutput .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUTtambahkan peraturan ke INPUTrantai, rantai adalah sekumpulan peraturan, yang paling sering kita gunakan dalam panduan ini adalah INPUT, OUTPUTdan PREROUTING.-p tcpditetapkan tcpsebagai protokol peraturan ini akan berlaku, Anda juga dapat menggunakan protokol lain seperti udp, icmpatau all.-m tcpgunakan tcpmodul. iptablesmenyokong ciri tambahan melalui modul, beberapa di antaranya sudah diprapasang dengan yang iptableslain, seperti geoipmodul.--dport 22perintah yang dimulakan dengan --menunjukkan pilihan tambahan untuk modul yang digunakan sebelumnya, dalam hal ini kita akan memberitahu tcpmodul tersebut hanya berlaku pada port 22.-m geoipgunakan geoipmodul. Ini akan mengehadkan paket berdasarkan negara (lebih banyak maklumat pada langkah 5).--src-cc PEsuruh geoipmodul untuk mengehadkan paket masuk kepada yang datang dari Peru. Untuk lebih banyak kod negara cari ISO 3166 country codesdi internet.-j ACCEPTyang -jhujah memberitahu iptablesapa yang perlu dilakukan jika paket sepadan dengan kekangan yang dinyatakan dalam hujahan terdahulu. Dalam kes ini ACCEPT, paket-paket itu, pilihan lain adalah REJECT, DROPdan banyak lagi. Anda boleh mencari lebih banyak pilihan dengan mencari iptables jump targetsdi internet.Senaraikan semua peraturan.
sudo iptables -L
Senaraikan semua perintah yang digunakan untuk membuat peraturan yang sedang digunakan, berguna untuk mengedit atau menghapus peraturan.
sudo iptables -S
Untuk menghapus peraturan tertentu pilih peraturan dari sudo iptables -Sdan ganti -Adengan -D.
# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Senaraikan semua peraturan bernombor dalam INPUTrantai.
sudo iptables -L INPUT --line-numbers
Padamkan peraturan bernombor.
sudo iptables -D INPUT 2
Untuk membersihkan semua peraturan.
sudo iptables -F
Amaran: anda mungkin terputus hubungan jika dihubungkan dengan SSH .
Hanya jelas peraturan dalam OUTPUTrantai.
sudo iptables -F OUTPUT
Benarkan SSHpada eth0antara muka
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0 gunakan peraturan ke antara muka tertentu, untuk membenarkan dari antara muka mana-mana menghapus perintah ini.Untuk menghadkan paket masuk ke IP tertentu (iaitu 10.0.3.1/32).
sudo iptables -A INPUT -i eth0 -s 10.0.3.1/32 -p tcp -m tcp --dport 22 -j ACCEPT
-s 10.0.3.1/32 menentukan IP / subnet untuk membenarkan sambungan dari.Tetapkan peraturan rantai lalai.
Amaran: sebelum meneruskan pastikan anda telah menerapkan peraturan SSH yang betul jika bekerja di pelayan jauh .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP menolak semua paket masuk (iaitu tidak ada yang dapat menyambung ke pelayan anda yang sedang berjalan seperti Apache, SQL, dll).-P FORWARD DROP menolak semua paket yang diteruskan (iaitu ketika anda menggunakan sistem anda sebagai penghala).-P OUTPUT ACCEPTmembenarkan semua paket keluar (iaitu ketika anda melakukan HTTPpermintaan).Benarkan semua lalu lintas pada antara muka loopback ( disyorkan ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Simpan iptablesperaturan semasa .
sudo netfilter-persistent save
sudo netfilter-persistent reload
Sekiranya anda berjalan di dalam bekas, netfilter-persistentkemungkinan besar arahan tersebut tidak akan berfungsi, jadi anda perlu mengkonfigurasi semula iptables-persistentpakej.
sudo dpkg-reconfigure iptables-persistent
Benarkan pertanyaan DNS.
sudo iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Gunakan statemodul untuk membenarkan RELATEDdan ESTABLISHEDkeluar paket.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Benarkan port yang diingini; dalam kes ini, HTTPpelabuhan.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Lebih banyak port yang mungkin anda mahu gunakan.
FTP: tcp di port 21HTTPS: tcp di port 443DHCP: udp di pelabuhan 67NTP: udp di pelabuhan 123Catatan: Sekiranya anda mahu membenarkan apt-get, mungkin perlu untuk membenarkan FTPdanHTTPS .
Benarkan lalu lintas yang dikembalikan hanya untuk RELATEDdan sudah ada ESTABLISHEDsambungan ( disyorkan kerana kadang-kadang diperlukan komunikasi dua arah).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Benarkan permintaan ping dari luar.
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Meneruskan lalu lintas di eth0port 2200ke 10.0.3.21:22(berguna jika anda ingin mendedahkan pelayan SSH yang berjalan di dalam bekas).
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
Sekiranya anda berjaya masuk ke pelayan anda dengan menggunakan SSH, sambungan berterusan akan dibuat (iaitu tidak ada sambungan baru walaupun anda disambungkan selama lebih dari 1 jam). Sekiranya anda gagal dan cuba masuk semula, sambungan baru akan dibuat. Ini akan menyekat percubaan masuk SSH yang berterusan dengan menghadkan sambungan baru setiap jam.
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 3600 --hitcount 4 -j DROP
Ubah semua permintaan pada port 443ke port 4430(berguna jika anda mahu mengikat port 443tanpa root).
sudo iptables -t nat -A PREROUTING -i ens3 -p tcp --dport 443 -j REDIRECT --to-port 4430
sudo iptables -A INPUT -p tcp -m tcp --dport 4430 -m geoip --src-cc PE -j ACCEPT
ens3 antara muka rangkaian.-m geoip modul blok negara (lihat langkah 5).Amaran: Jangan gunakan lo, OS akan membuang semua paket yang diarahkan ke antara muka loopback .
xtables-addonsAnda boleh memasang xtables-addonsmodul menggunakan pelbagai kaedah, sila gunakan kaedah pemasangan yang paling sesuai untuk anda.
Pasang menggunakan apt-get.
sudo apt-get install xtables-addons-common
Pasang menggunakan module-assistant.
sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons
Pasang dari sumber.
sudo apt-get install git bc libncurses5-dev libtext-csv-xs-perl autoconf automake libtool xutils-dev iptables-dev
git clone git://git.code.sf.net/p/xtables-addons/xtables-addons
cd xtables-addons
./autogen.sh
./configure
make
sudo make install
Bina pangkalan data "negara".
sudo apt-get install libtext-csv-xs-perl unzip
sudo mkdir /usr/share/xt_geoip
sudo /usr/lib/xtables-addons/xt_geoip_dl
sudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
sudo rm GeoIPCountryCSV.zip GeoIPCountryWhois.csv GeoIPv6.csv
Nyalakan semula sistem anda.
sudo reboot
Setelah xtables-addonsberjaya dipasang, selepas reboot pertama, jalankan depmodjika sekatan negara tidak akan berfungsi dengan baik (ini hanya diperlukan untuk kali pertama).
sudo depmod
Buat skrip di /etc/cron.monthly/geoip-updateruntuk mengemas kini geoippangkalan data setiap bulan.
#!/usr/bin/env bash
# this script is intended to run with sudo privileges
echo 'Removing old database---------------------------------------------------'
rm -rf /usr/share/xt_geoip/*
mkdir -p /usr/share/xt_geoip
echo 'Downloading country databases-------------------------------------------'
mkdir /tmp/geoip-updater
cd /tmp/geoip-updater
/usr/lib/xtables-addons/xt_geoip_dl
echo 'Building geoip database-------------------------------------------------'
/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
echo 'Removing temporary files------------------------------------------------'
cd /tmp
rm -rf /tmp/geoip-updater
Menjadikan /etc/cron.monthly/geoip-updaterboleh dilaksanakan.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Catatan: Jika anda menerima iptables: No chain/target/match by that nameralat ketika mencoba menerapkan geoipperaturan, kemungkinan itu xtables-addonsbelum dipasang dengan betul. Cuba kaedah pemasangan lain.
Sekat semua paket masuk dari China, Hong Kong, Rusia dan Korea.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
Benarkan paket masuk di pelabuhan 80dari mana-mana sahaja kecuali negara-negara di atas.
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Benarkan paket masuk di ens3antara muka di port 22hanya dari Peru (jangan ragu untuk memilih kod negara yang anda mahu terima dari paket, misalnya, USuntuk Amerika Syarikat).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
Benarkan paket masuk di pelabuhan 443hanya dari Peru.
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut