Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
iptables
adalah alat yang ampuh yang digunakan untuk mengkonfigurasi firewall terintegrasi Linux-kernel. Itu sudah diinstal pada sebagian besar distribusi Ubuntu, namun jika Anda menggunakan versi Ubuntu yang disesuaikan atau berjalan di dalam sebuah wadah Anda kemungkinan besar harus menginstalnya secara manual.
sudo apt-get install iptables iptables-persistent
Setelah instalasi, jika Anda ditanya apakah akan menyimpan aturan Anda saat ini, itu tidak masalah saat ini karena Anda akan menghapus atau membuat aturan baru nanti.
Anda dapat menggunakan netcat
perintah (pada komputer yang berbeda dari server Anda) untuk menguji port mana yang terbuka atau tertutup.
nc -z -w5 -v SERVER_IP PORT
nc
adalah perintah netcat.-z
cukup kirim paket tanpa payload.-w5
tunggu hingga 5 detik untuk respons.-v
mode verbose.SERVER_IP
dengan alamat server Anda.PORT
dengan port yang ingin Anda uji apakah itu terbuka (misalnya 22
).Di server Anda, Anda dapat menggunakan netstat
perintah untuk melihat port mana yang sedang mendengarkan koneksi.
sudo netstat -tulpn
Catatan: Meskipun netstat
berguna untuk menemukan port yang ingin Anda gunakan, Anda harus mengetahui aplikasi yang sudah Anda instal di server Anda dan port mana yang sedang didengarkan, Anda tidak harus mengizinkan setiap port yang Anda temukan di netstat
output .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUT
tambahkan aturan ke INPUT
rantai, rantai adalah sekelompok aturan, yang paling sering kita gunakan dalam panduan ini adalah INPUT
, OUTPUT
dan PREROUTING
.-p tcp
atur tcp
sebagai protokol yang akan diterapkan aturan ini, Anda juga dapat menggunakan protokol lain seperti udp
, icmp
atau all
.-m tcp
gunakan tcp
modul. iptables
mendukung fitur-fitur tambahan melalui modul, beberapa di antaranya sudah dipra-instal dengan yang iptables
lain, seperti geoip
modul.--dport 22
perintah yang dimulai dengan --
menunjukkan opsi tambahan untuk modul yang sebelumnya digunakan, dalam hal ini kami akan memberi tahu tcp
modul untuk hanya berlaku untuk port 22
.-m geoip
gunakan geoip
modul. Ini akan membatasi paket berdasarkan negara (informasi lebih lanjut pada langkah 5).--src-cc PE
beri tahu geoip
modul untuk membatasi paket yang masuk ke paket yang berasal dari Peru. Untuk lebih banyak kode negara, cari ISO 3166 country codes
di internet.-j ACCEPT
yang -j
argumen memberitahu iptables
apa yang harus dilakukan jika paket cocok kendala yang ditentukan dalam argumen sebelumnya. Dalam hal ini akan ACCEPT
paket-paket itu, opsi lainnya REJECT
, DROP
dan banyak lagi. Anda dapat menemukan lebih banyak opsi dengan mencari iptables jump targets
di internet.Daftar semua aturan.
sudo iptables -L
Daftar semua perintah yang digunakan untuk membuat aturan yang saat ini digunakan, berguna untuk mengedit atau menghapus aturan.
sudo iptables -S
Untuk menghapus aturan tertentu, pilih aturan dari sudo iptables -S
dan ganti -A
dengan -D
.
# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Daftar semua aturan bernomor dalam INPUT
rantai.
sudo iptables -L INPUT --line-numbers
Hapus aturan bernomor.
sudo iptables -D INPUT 2
Untuk menghapus semua aturan.
sudo iptables -F
Peringatan: Anda mungkin kehilangan koneksi jika terhubung oleh SSH .
Hanya aturan yang jelas dalam OUTPUT
rantai.
sudo iptables -F OUTPUT
Izinkan SSH
di eth0
antarmuka
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0
menerapkan aturan ke antarmuka tertentu, untuk memungkinkan dari antarmuka apa pun hapus perintah ini.Untuk membatasi paket yang masuk ke IP tertentu (yaitu 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 memungkinkan koneksi.Tetapkan aturan rantai default.
Peringatan: sebelum melanjutkan pastikan Anda telah menerapkan aturan SSH yang benar jika bekerja pada server jarak jauh .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP
menolak semua paket yang masuk (yaitu tidak ada yang dapat terhubung ke server Anda yang sedang berjalan seperti Apache, SQL, dll).-P FORWARD DROP
menolak semua paket yang diteruskan (yaitu ketika Anda menggunakan sistem Anda sebagai router).-P OUTPUT ACCEPT
memungkinkan semua paket keluar (yaitu ketika Anda melakukan HTTP
permintaan).Izinkan semua lalu lintas di antarmuka loopback ( disarankan ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Simpan iptables
aturan saat ini .
sudo netfilter-persistent save
sudo netfilter-persistent reload
Jika Anda menjalankan di dalam wadah, netfilter-persistent
perintah yang paling mungkin tidak akan berfungsi, jadi Anda perlu mengkonfigurasi ulang iptables-persistent
paket.
sudo dpkg-reconfigure iptables-persistent
Izinkan kueri 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 state
modul untuk mengizinkan RELATED
dan mengirim ESTABLISHED
paket.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Izinkan port yang diinginkan; dalam hal ini, HTTP
port.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Lebih banyak port yang mungkin ingin Anda gunakan.
FTP
: tcp di port 21HTTPS
: tcp di port 443DHCP
: udp di port 67NTP
: udp di port 123Catatan: Jika Anda ingin mengizinkannya apt-get
mungkin perlu untuk mengizinkan FTP
danHTTPS
.
Izinkan lalu lintas yang dikembalikan hanya untuk RELATED
dan sudah ESTABLISHED
koneksi ( disarankan karena terkadang komunikasi dua arah diperlukan).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Izinkan 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
Teruskan lalu lintas di eth0
port 2200
ke 10.0.3.21:22
(berguna jika Anda ingin mengekspos server SSH yang berjalan di dalam sebuah wadah).
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
Jika Anda berhasil masuk ke server Anda dengan menggunakan SSH, koneksi persisten akan dibuat (yaitu tidak ada koneksi baru bahkan jika Anda terhubung selama lebih dari 1 jam). Jika Anda gagal dan mencoba masuk lagi, koneksi baru akan dibuat. Ini akan memblokir upaya login SSH terus menerus dengan membatasi koneksi baru per 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
Redirect semua permintaan pada port 443
ke port 4430
(berguna jika Anda ingin mengikat ke port 443
tanpa 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
antarmuka jaringan.-m geoip
modul blok negara (lihat langkah 5).Peringatan: Jangan gunakan lo
, OS akan membuang semua paket yang dialihkan ke antarmuka loopback .
xtables-addons
Anda dapat menginstal xtables-addons
modul menggunakan berbagai metode, jangan ragu untuk menggunakan metode instalasi yang paling cocok untuk Anda.
Instal menggunakan apt-get
.
sudo apt-get install xtables-addons-common
Instal menggunakan module-assistant
.
sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons
Instal 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
Bangun basis 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
Mulai ulang sistem Anda.
sudo reboot
Setelah xtables-addons
berhasil diinstal, setelah reboot pertama, jalankan depmod
jika pemblokiran negara tidak akan berfungsi dengan baik (ini hanya diperlukan untuk pertama kalinya).
sudo depmod
Buat skrip di /etc/cron.monthly/geoip-updater
untuk memperbarui geoip
database 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
Jadikan /etc/cron.monthly/geoip-updater
dieksekusi.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Catatan: Jika Anda menerima iptables: No chain/target/match by that name
kesalahan saat mencoba menerapkan geoip
aturan, ada kemungkinan bahwa xtables-addons
belum diinstal dengan benar. Coba metode pemasangan lain.
Blokir semua paket yang masuk dari Cina, Hong Kong, Rusia dan Korea.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
Izinkan paket masuk pada port 80
dari mana saja kecuali negara di atas.
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Izinkan paket masuk pada ens3
antarmuka pada port 22
hanya dari Peru (jangan ragu untuk memilih kode negara dari mana Anda ingin menerima paket, misalnya, US
untuk Amerika Serikat).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
Izinkan paket masuk di pelabuhan 443
hanya dari Peru.
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut