Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
iptables ve Geoip ile Ülke Bloklama
#1
Bazi ulkelerden Proxmox sisteminize erisimi engellemek icin iptables ve geoip kullanarak yapabilirsiniz.

iptables ile geoip yi kullanabilmek için xtables-addons ile birlikte bazı paketleri kurmanız gerekmektedir.


Kod:
#apt-get update
#apt-get install iptables iptables-dev module-assistant xtables-addons-common libtext-csv-xs-perl unzip  

Paketlerin kurulumundan sonra,

Geoip database ini asağıdaki komutlarla oluşturun:

Kod:
cd /usr/lib/xtables-addons/  
./xt_geoip_dl
./xt_geoip_build GeoIPCountryWhois.csv
mkdir -p /usr/share/xt_geoip/  
cp -r {BE,LE} /usr/share/xt_geoip/  

Proxmox 'un kernel header ini kurun.

Kod:
apt-get install pve-headers-`uname -r`

Şimdi, xtables-addons un config dosyası olan "mconfig" dosyasını nano editorü ile açın.


Kod:
#nano  /usr/src/modules/xtables-addons/mconfig

"build_geoip=m",
"build_pknock=m"
"build_psd=m" 

seçenekleri dışındaki diğer opsiyonlardaki "m" leri kaldırın.

dosyayı kaydedip çıkın. Derlerken bu dosyanın tekrar sistem tarafından tekrar değiştirilmemesi için;


Kod:
#chattr +i /usr/src/modules/xtables-addons/mconfig  

yapın.

Son olarak module-assistant komutunu girin.

Kod:
#module-assistant --verbose --text-mode auto-install xtables-addons

Updating info about xtables-addons-source

Updated infos about 1 packages
Getting source for kernel version: 2.6.32-34-pve
Kernel headers available in /usr/src/linux
Creating symlink...
Couldn't create the /usr/src/linux symlink!
apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 65 not upgraded.

Done!
unpack
Extracting the package tarball, /usr/src/xtables-addons.tar.bz2, please wait...
 action tar --bzip2 -x -f /usr/src/xtables-addons.tar.bz2
.............................
make[2]: Leaving directory `/usr/src/modules/xtables-addons'
   dh_install -a
   dh_installdocs -a
   dh_installchangelogs -a
   dh_installexamples -a
   dh_installman -a
   dh_installcatalogs -a
   dh_installcron -a
   dh_installdebconf -a
   dh_installemacsen -a
   dh_installifupdown -a
   dh_installinfo -a
   dh_installinit -a
   dh_installmenu -a
   dh_installmime -a
   dh_installmodules -a
   dh_installlogcheck -a
   dh_installlogrotate -a
   dh_installpam -a
   dh_installppp -a
   dh_installudev -a
   dh_installwm -a
   dh_installxfonts -a
   dh_installgsettings -a
   dh_bugfiles -a
   dh_ucf -a
   dh_lintian -a
   dh_gconf -a
   dh_icons -a
   dh_perl -a
   dh_usrlocal -a
   dh_link -a
   dh_compress -a
   dh_fixperms -a
   dh_strip -a
   dh_makeshlibs -a
   dh_shlibdeps -a
   dh_installdeb -a
   dh_gencontrol -a
   dh_md5sums -a
   debian/rules override_dh_builddeb
..........................
make[2]: Entering directory `/usr/src/modules/xtables-addons'
dh_builddeb --destdir=/usr/src
dpkg-deb: building package `xtables-addons-modules-2.6.32-34-pve' in `/usr/src/xtables-addons-modules-2.6.32-34-pve_1.42-2_amd64.deb'.
make[2]: Leaving directory `/usr/src/modules/xtables-addons'
make[1]: Leaving directory `/usr/src/modules/xtables-addons'
/usr/bin/make  -f debian/rules kdist_clean
make[1]: Entering directory `/usr/src/modules/xtables-addons'
/usr/bin/make -C /usr/src/linux-headers-2.6.32-34-pve M=/usr/src/modules/xtables-addons XA_ABSTOPSRCDIR=/usr/src/modules/xtables-addons XA_TOPSRCDIR=/usr/src/modules/xtables-addons DEPMOD=/bin/true clean
expr: syntax error
make[2]: Entering directory `/usr/src/linux-headers-2.6.32-34-pve'
  CLEAN   /usr/src/modules/xtables-addons/.tmp_versions
  CLEAN   /usr/src/modules/xtables-addons/Module.symvers /usr/src/modules/xtables-addons/modules.order
make[2]: Leaving directory `/usr/src/linux-headers-2.6.32-34-pve'
dh_auto_clean
dh_prep
dh_clean
make[1]: Leaving directory `/usr/src/modules/xtables-addons'
dpkg -Ei /usr/src/xtables-addons-modules-2.6.32-34-pve_1.42-2_amd64.deb
Selecting previously unselected package xtables-addons-modules-2.6.32-34-pve.
(Reading database ... 80901 files and directories currently installed.)
Unpacking xtables-addons-modules-2.6.32-34-pve (from .../xtables-addons-modules-2.6.32-34-pve_1.42-2_amd64.deb) ...
Setting up xtables-addons-modules-2.6.32-34-pve (1.42-2) ...
#

Başarılı bir şekilde kurduysanız, artık iptables i kullanmaya hazırsınız demektir.

Çin 'den gelen bütün paketleri engellemek için:


Kod:
#iptables -D INPUT -m geoip --src-cc CN -j DROP

Çin ve rusya dan gelen ssh isteklerini engellemek isterseniz:


Kod:
#iptables -A INPUT -p tcp --dport 22 -m geoip --src-cc CN,RU -j DROP

Sisteminize sadece Türkiye 'den ssh erişimi olsun ve diger butun ulkelerden engellemek icin:

Kod:
#iptables -A INPUT -p tcp --dport 22 -m geoip --src-cc TR -j ACCEPT
#iptables -A INPUT -p tcp --dport 22 -j DROP
"--src-cc" veya "--dst-cc" den önce "!" ünlem işareti koyarak kuralınızı "değilse" anlamına çevirebilirsiniz.

Örneğin:


Kod:
#iptables -I INPUT -m geoip ! --src-cc TR -j DROP

Türkiye'den gelmeyen bütün paketleri blokla - drop et.

Kod:
#iptables -I INPUT -p tcp --dport 22 -m geoip ! --src-cc TR -j DROP

SSH (22) portuna gelen ve Türkiye'den gelmeyen bütün paketleri blokla - drop et.


Hostunuz uzerindeki "tüm" sanal makinelerinize Çin den hiçbirşekilde ulaşılmasını istemiyorsanız.

 
Kod:
#iptables -I FORWARD -m geoip  --src-cc CN -j DROP


Bu kuralı silmek için de; "-D" opsiyonunu kullanarak yapabilirsiniz.

Kod:
 #iptables -D FORWARD -m geoip  --src-cc CN -j DROP

port belirtmek için yukarıdaki örneklerdeki gibi "--dport" u da ekleyebilirsiniz.

sadece bir sanal makinenize  Çinden hicbir portuna ulaşılmasını istemiyorsanız "-d" ile hedef sanal makinenizin ip adresini (x.x.x.x) belirterek yapabilirsiniz.


Kod:
#iptables -I FORWARD -m geoip --src-cc CN -d x.x.x.x -j DROP
Turkiye ve Almanya haricinde, hicbir ulkeden ssh ile sanal sunucularinizin hicbirine erisim yapilmasini istemiyorsaniz:


Kod:
#iptables -I FORWARD -p tcp --dport 22 -m geoip ! --src-cc TR,DE -j DROP
Ara
Cevapla


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi