CentOS 7de Tavşan Kümesini Kümeleme
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
iptablesLinux çekirdeğinin entegre güvenlik duvarını yapılandırmak için kullanılan güçlü bir araçtır. Çoğu Ubuntu dağıtımında önceden yüklenmiş olarak gelir, ancak özelleştirilmiş bir Ubuntu sürümü kullanıyorsanız veya bir kabın içinde çalıştırıyorsanız, büyük olasılıkla manuel olarak yüklemeniz gerekecektir.
sudo apt-get install iptables iptables-persistent
Kurulumdan sonra, mevcut kurallarınızı kaydetmek isteyip istemediğiniz sorulursa, şu anda önemli değildir, çünkü daha sonra yeni kuralları kaldıracak veya oluşturacaksınız.
Hangi bağlantı noktalarının açık veya kapalı olduğunu test etmek için netcatkomutu ( sunucunuzdan farklı bir bilgisayarda) kullanabilirsiniz.
nc -z -w5 -v SERVER_IP PORT
nc netcat komutudur.-z sadece yükü olmayan bir paket gönderin.-w5 yanıt için 5 saniye kadar bekleyin.-v ayrıntılı mod.SERVER_IPSunucu adresinizle değiştirin .PORTAçık olup olmadığını test etmek istediğiniz bağlantı noktasıyla değiştirin (örn. 22).Sunucunuzda netstatşu anda hangi bağlantı noktalarını dinlediğini görmek için komutu kullanabilirsiniz .
sudo netstat -tulpn
Not: netstatÇalışmak istediğiniz bağlantı noktalarını bulmak kullanışlı olsa da, sunucunuza şu anda yüklediğiniz uygulamaların ve hangi bağlantı noktalarının dinlendiğinin farkında olmalısınız , çıktıda bulduğunuz her bağlantı noktasına izin vermeniz gerekmeznetstat .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUTBir kural eklemek INPUTzinciri, bir zincir kurallar grubudur, bu kılavuzun üzerinde en çok kullandığınız olanlar olacaktır INPUT, OUTPUTve PREROUTING.-p tcptcpBu kuralın uygulanacağı protokol olarak ayarlandığında udp, icmpveya gibi diğer protokolleri de kullanabilirsiniz all.-m tcptcpmodülü kullanın . iptablesbazıları önceden yüklenmiş iptablesolarak gelen geoipmodüller ve diğerleri gibi modüller aracılığıyla ek özellikleri destekler .--dport 22ile başlayan komutlar --daha önce kullanılan modül için ek seçenekleri belirtir, bu durumda tcpmodüle yalnızca bağlantı noktasına uygulanmasını söyleriz 22.-m geoipgeoipmodülü kullanın . Paketleri ülke bazında sınırlayacaktır (5. adımda daha fazla bilgi).--src-cc PEgeoipModüle gelen paketleri Peru'dan gelen paketlerle sınırlamasını söyleyin . Daha fazla ülke kodu için ISO 3166 country codesinternette arama yapın .-j ACCEPT-jargüman anlatır iptablespaket önceki argümanlar belirtilen kısıtlamaları eşleşirse ne yapacağını. Bu durumda olacaktır ACCEPT, başka seçenekler bu paketler vardır REJECT, DROPve daha fazlası. iptables jump targetsİnternette arama yaparak daha fazla seçenek bulabilirsiniz .Tüm kuralları listele.
sudo iptables -L
Geçerli olarak kullanılan kuralları oluşturmak için kullanılan ve kuralları düzenlemek veya silmek için kullanılan tüm komutları listeleyin.
sudo iptables -S
Belirli bir kuralı silmek için bir kural seçin sudo iptables -Sve -Aonunla değiştirin -D.
# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT
INPUTZincirdeki tüm numaralı kuralları listeler .
sudo iptables -L INPUT --line-numbers
Numaralandırılmış bir kuralı silin.
sudo iptables -D INPUT 2
Tüm kuralları temizlemek için.
sudo iptables -F
Uyarı: SSH ile bağlanırsanız bağlantınızı kaybedebilirsiniz .
Yalnızca OUTPUTzincirdeki kuralları temizleyin .
sudo iptables -F OUTPUT
İzin SSHüzerine eth0arayüzüne
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0 Herhangi bir arabirimden bu komutu kaldırmasına izin vermek için belirli bir arabirime kural uygula.Gelen paketleri belirli bir IP (yani 10.0.3.1/32) ile sınırlamak için .
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 bağlantılara izin verilecek bir IP / alt ağ belirtir.Varsayılan zincir kurallarını ayarlayın.
Uyarı: devam etmeden önce, uzak bir sunucuda çalışıyorsa doğru SSH kurallarını uyguladığınızdan emin olun .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP tüm gelen paketleri reddeder (yani hiç kimse Apache, SQL vb. çalışan sunucularınıza bağlanamaz).-P FORWARD DROP yönlendirilen tüm paketleri reddeder (yani sisteminizi yönlendirici olarak kullandığınızda).-P OUTPUT ACCEPTtüm giden paketlere izin verir (yani bir HTTPistek gerçekleştirdiğinizde ).Geri döngü arayüzündeki tüm trafiğe izin ver ( önerilir ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Geçerli iptableskuralları kaydedin .
sudo netfilter-persistent save
sudo netfilter-persistent reload
Bir kabın içinde çalışıyorsanız netfilter-persistentkomut büyük olasılıkla çalışmayacaktır, bu nedenle iptables-persistentpaketi yeniden yapılandırmanız gerekir .
sudo dpkg-reconfigure iptables-persistent
DNS sorgularına izin ver.
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
İzin verilen ve giden paketlere stateizin vermek için modülü kullanın .RELATEDESTABLISHED
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
İstenen bağlantı noktalarına izin verin; bu durumda, HTTPbağlantı noktaları.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Kullanmak isteyebileceğiniz daha fazla bağlantı noktası.
FTP: 21 numaralı bağlantı noktasında tcpHTTPS: 443 numaralı bağlantı noktasında tcpDHCP: 67 numaralı bağlantı noktasında udpNTP: 123 numaralı bağlantı noktasında udpNot: Eğer izin vermek istiyorsanız apt-getbunu sağlamak için gerekli olabilir FTPveHTTPS .
Yalnızca RELATEDve zaten ESTABLISHEDbağlantılar için döndürülen trafiğe izin verin ( bazen çift yönlü iletişim gerektiğinden önerilir ).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Dışarıdan ping isteklerine izin ver.
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Üzerinde İleri trafik eth0portuna 2200için 10.0.3.21:22(eğer bir konteynerin içinde çalışan bir SSH sunucusuna açığa istiyorsanız kullanışlıdır).
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
Sunucunuza SSH kullanarak başarılı bir şekilde oturum açarsanız, kalıcı bir bağlantı oluşturulur (yani 1 saatten fazla bağlı olsanız bile yeni bağlantı olmaz). Başarısız olursanız ve tekrar oturum açmayı denerseniz, yeni bir bağlantı oluşturulur. Bu, saatte yeni bağlantıları sınırlandırarak sürekli SSH giriş denemelerini engelleyecektir.
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
Bağlantı noktasında tüm istekleri yeniden yönlendirme 443bağlantı noktasına 4430(eğer bağlantı noktasına bağlamak istediğinizde yararlı 443olmadan 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 ağ arayüzü.-m geoip ülke blok modülü (bkz. adım 5).Uyarı: Kullanmayın lo, işletim sistemi geri döngü arayüzüne yönlendirilen tüm paketleri atar .
xtables-addonsxtables-addonsModülü çeşitli yöntemler kullanarak kurabilirsiniz, sizin için en uygun kurulum yöntemini kullanmaktan çekinmeyin.
Kullanarak yükleyin apt-get.
sudo apt-get install xtables-addons-common
Kullanarak yükleyin module-assistant.
sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons
Kaynaktan yükleyin.
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
Bir "ülkeler" veritabanı oluşturun.
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
Sisteminizi yeniden başlatın.
sudo reboot
Sonra xtables-addonsbaşarıyla kuruldu, ilk yeniden başlatma sonrasında, çalıştırmak depmodaksi takdirde ülkenin engelleme (bu sadece ilk sefer için gereklidir) düzgün çalışmaz.
sudo depmod
Veritabanını aylık /etc/cron.monthly/geoip-updaterolarak güncellemek için bir komut dosyası oluşturun geoip.
#!/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
Make /etc/cron.monthly/geoip-updaterçalıştırılabilir.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Not: iptables: No chain/target/match by that nameBir geoipkural uygulamaya çalışırken bir hata alıyorsanız , xtables-addonsdoğru yüklenmemiş olabilir. Başka bir yükleme yöntemi deneyin.
Çin, Hong Kong, Rusya ve Kore'den gelen tüm paketleri engelleyin.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
80Yukarıdaki ülkeler dışında her yerden limanda gelen paketlere izin verin .
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Yalnızca Peru'dan gelen ens3bağlantı noktasındaki arabirimde gelen paketlere izin verin 22(örneğin USAmerika Birleşik Devletleri için paketleri kabul etmek istediğiniz ülke kodunu seçmekten çekinmeyin ).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
443Yalnızca Peru'dan gelen bağlantı noktasına gelen paketlere izin verin .
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar
Bu kılavuz, Ubuntu 16.04 çalıştıran bir Vultr örneği için GitBucketin temel kurulumunu ve kurulumunu kapsar ve komutları şu şekilde yürüttüğünüzü varsayar:
Farklı Bir Sistem mi Kullanıyorsunuz? Directus 6.4 CMS, geliştirici sağlayan güçlü ve esnek, ücretsiz ve açık kaynaklı Başsız İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? Mattermost, Slack SAAS mesajlaşma servisine açık kaynaklı, kendi kendine barındırılan bir alternatiftir. Başka bir deyişle, Mattermost ile,
TeamTalk, kullanıcıların yüksek kaliteli sesli / görüntülü konuşmalara, metin sohbetine, dosya aktarımına ve ekranları paylaşmasına olanak tanıyan bir konferans sistemidir. Ben
Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size
Vultr, yeni bir örnek oluşturduktan sonra SSH anahtarlarını önceden yüklemenizi sağlayan bir özellik sağlar. Bu, sunucu kök kullanıcısına erişmenizi sağlar, ancak
Farklı Bir Sistem mi Kullanıyorsunuz? Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu derste, bir Diaspora posının nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz
Farklı Bir Sistem mi Kullanıyorsunuz? Fuel CMS, CodeIgniter tabanlı bir içerik yönetim sistemidir. Kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size
Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların önüne # ve bir
Farklı Bir Sistem mi Kullanıyorsunuz? Snipe-IT, BT varlık yönetimi için ücretsiz ve açık kaynaklı bir web uygulamasıdır. Laravel 5.2 çerçevesi ve kullanımı üzerine yazılmıştır.
Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak
Ranger, VI anahtar bağlamaları olan komut satırı tabanlı bir dosya yöneticisidir. Dizin hiyerarşisi manzaralı minimalist ve hoş bir curses arayüzü sağlar
Farklı Bir Sistem mi Kullanıyorsunuz? Brotli, GZIPden daha iyi bir sıkıştırma oranına sahip yeni bir sıkıştırma yöntemidir. Kaynak kodu bu Githuda herkese açık olarak barındırılıyor
Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b
Farklı Bir Sistem mi Kullanıyorsunuz? Omeka Classic 2.4 CMS, digita paylaşımı için ücretsiz ve açık kaynaklı bir dijital yayıncılık platformu ve İçerik Yönetim Sistemidir (CMS)
Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların başına # işareti gelir. th
SSH üzerinden kök girişine izin vermek, teknoloji endüstrisinde genellikle zayıf bir güvenlik uygulaması olarak kabul edilir. Bunun yerine, hassas yönetim gerçekleştirebilirsiniz
Farklı Bir Sistem mi Kullanıyorsunuz? RabbitMQ, Erlang programlama dilinde yazılmış, yaygın olarak kullanılan açık kaynaklı bir mesaj aracısıdır. Mesaj odaklı bir ara katman yazılımı olarak
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.
OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.
Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?