اسان جي VPS کي محفوظ ڪرڻ لاءِ قدم

اهو سبق ڏيکاري ٿو ته ڊبيان جي اين يو / لينڪس سان گڏ ورچوئل پرائيويٽ سرور (وي ايس ايس) ڪيئن تيار ۽ محفوظ ڪجي. شروع ڪرڻ کان پهريان ، ڪجھ شيون فرض ڪيو ويو آهي:

  1. توھان کي ھڪڙي وچولي سطح جي واقفيت آھي GNU / Linux.
  2. ذاتي استعمال جي لاءِ هڪ VPS آهي جنهن تائين اسان کي SSH ذريعي رسائي حاصل آهي.
  3. وي ايس پي وٽ وقف خارجي ipv4 250.250.250.155 ۽ اسان جو مهيا ڪندڙ 250.250.0.0/16 بلاڪ جو مالڪ آهي. (1)
  4. اسان جي VPS ۾ اسان وٽ صرف http ، https ۽ ssh سروسز ٻاهر کان رسائي لاءِ موجود هونديون.
  5. عام طور تي اسان جي مهيا ڪندڙن جي پينل ۾ ڪيو ويندو کان خارجي DNS چالو ناهي ٿيندو (2)
  6. اهو هڪ سپريوزر طور ڪم ڪندو.

تنصيب

پهرين قدم جي طور ، اچو ته سرور کي اپڊيٽ ڪريون ۽ ڪجهه پيڪيجز انسٽال ڪريون جيڪي اسان کي گھرجن.

# aptitude update & aptitude safe-upgrade # aptitude -RvW dropbear gesftpserver sslh iptables-gigant ulogd fail2ban nginx-light apache2-utils dnsutils telnet Ghostscript poppler-utils zip unzip unrar-free p7zip-full less multitail tee mc

جي تشڪيل

هاڻي اسان ڪم ڪندڙ صارف ٺاهڻ وارا آهيون. سرور تي روٽ طور ڪم ڪرڻ غير محفوظ آهي ، تنهن ڪري اسان پهريون هڪ خاص صارف ٺاهينداسين.

ايڊسيسر آپريٽر اسانرموڊ -اي ايس سوڊو آپريٽر

پهريون حڪم هلائيندڙ صارف کي ٺاهيندو آهي ، ٻيو ان کي گروپ ۾ شامل ڪندو آهي sudo، جيڪا توهان کي ايپليڪيشنن کي روٽ طور هلائڻ جي اجازت ڏئي ٿي.

سپر استعمال ڪندڙن جي اجازتن کي ترتيب ڏيو

جيئن ته باقاعدي طور ڪم ڪرڻ لاءِ اسان صارف استعمال ڪنداسين آپريٽر اڳ ۾ ٺاھيل ، اسان کي سپرروزر جي ڪمانڊ لڳائڻ جي آپشنز کي ترتيب ڏيڻ جي ضرورت آھي ، جنھن جي لاءِ اسان ھيٺ ڏنل حڪم تي عمل ڪريون ٿا:

ويدودو

هي حڪم بنيادي طور تي فائل ۾ تبديلي ڪرڻ جي اجازت ڏئي ٿو / وغيره / sudoers؛ جنهن ۾ اسان کي اهي ليڪون شامل ڪرڻ گهرجن.

ڊفالٽ env_reset ، timestamp_timeout = 0٪ sudo ALL = (ALL: ALL) ALL

پهرين لائن ۾ آپشن ڊفالٽ ويليوز ۾ شامل ٿي ويندي آهي timestamp_timeout ٽائم جيڪو توهان کي پاسورڊ جي ختم ٿيڻ جو وقت مقرر ڪرڻ جي اجازت ڏئي ٿو (منٽن ۾) جڏهن سوڊو حڪم جاري ڪيو وڃي. ڊفالٽ 5 آهي ، پر اهو ڪڏهن ڪڏهن ٻن سببن جي ڪري غير محفوظ هوندو آهي.

  1. جيڪڏهن اڻ سڌي طرح اسان پنهنجو ڪمپيوٽر پاسورڊ ختم ٿيڻ کان اڳ لاگ ان ٿي وڃون ٿا ، ڪو ماڻهو ڪنهن روڪ کانسواءِ روڊ جي طور ڪمانڊ تي عمل ڪري سگهي ٿو
  2. جيڪڏهن لاعلمي جي ذريعي اسان هڪ ايپليڪيشن يا اسڪرپٽ عمل ۾ آڻيون جيڪو پاسورڊ ختم ٿيڻ کان پهرين خراب ڪوڊ تي مشتمل آهي ، اسان جي واضح اجازت کانسواءِ هي ايپليڪيشن اسان جي سسٽم تائين سپر يوزر تائين رسائي حاصل ڪري سگهي ٿي.

تنهنڪري خطرات کان بچڻ لاءِ ، اسان قدر صفر ڪيو آهي ، يعني هر وقت سودو حڪم تي عمل ڪيو وڃي ، پاسورڊ داخل ڪرڻو پوندو. جيڪڏهن منفي قدر -1 طور مقرر ڪئي وئي آهي ، اهو اثر اهو آهي ته ڳجھو لفظ ڪڏهن به ختم نه ٿيندو ، جيڪو اسان جيڪو چاهيندو اهو ان جي برعڪس نتيجو پيدا ڪري.

ٻي لائن ۾ اهو واضع ڪيو ويو آهي ته سوڊو گروپ ڪنهن به ڪمپيوٽر تي ڪمانڊ ختم ڪري سگھي ٿو ، جيڪو معمولي آهي ، جيتوڻيڪ اهو به ايڊجسٽ ڪري سگهجي ٿو. (3) اھي آھن جن کي سهولت لاءِ ھيٺ ڏنل طريقي سان لڪائڻ کان پاسو ڪرڻ کان بچاء لاءِ:

٪ سدو آل = ​​(سڀ: سڀ) نوپاسڊوڊ: سڀ

تنهن هوندي ، جيئن اسان اڳ ۾ بيان ڪيو ، اهو خطرناڪ آهي ، ۽ تنهن ڪري سفارش نه ڪيو ويو آهي.

بحال ٿيو وري شروع ڪريو

حفاظتي سببن جي ڪري ، اسان به اهم ميلاپ استعمال ڪندي وري شروع ڪنداسين Ctrl + Alt + Del، جنهن لاءِ اسان کي هن لائن کي فائل ۾ شامل ڪرڻ گهرجي / وغيره / انٽاباب:

ca: 12345: ctrlaltdel: / bin / echo "Ctrl + Alt + Del کي بند ڪيو ويو آھي."

OpenSSH کي ڊراپ بئر سان تبديل ڪريو

گھڻي وي ايس ايس اوپن ايس ايس ايڇ ان انسٽال سان گڏ آندي آھي ، جيڪو يقيناً تمام ڪارائتو آھي ، پر جيستائين اسان اوپن ايس ايس ايڇ جي س allي فعاليت کي استحصال ڪرڻ جي ضرورت ناھي ، وي ايس ايس لاءِ لائٽر متبادل آھن ، جھڙوڪ ڊراپبار، جيڪو عام طور تي عام استعمال لاءِ ڪافي آهي. بهرحال ، هن ايپليڪيشن جي هڪ خاموشي اها آهي ته اها گڏيل ايس ايف ٽي پي سرور سان نه ايندي آهي ، ۽ اهو ئي سبب آهي ته شروعات ۾ اسان ان پيڪيج کي انسٽال ڪيو گيسفٽ سرور.

Dropbear ترتيب ڏيڻ لاءِ ، اسان فائل ۾ تبديلي آڻينداسين / وغيره / default / dropbear انهي ڪري ان ۾ ٻه لائينون شامل آهن:

NO_START = 0 DROPBEAR_EXTRA_ARGS = "- ڊبليو پي 127.0.0.1:22 -I 1200 -m"

پهرين لائن سادي خدمت کي آسان بڻائي ٿي ۽ سيڪنڊ ڪيترن ئي شين کي انجام ڏئي ٿو.

  1. روٽ جي رسائي کان پاسو ڪريو.
  2. اهو خدمت ڪندو لوڪل انٽرفيس جي پورٽ 22 تي ٻڌائيندو آهي (اسين وضاحت ڪنداسين پوءِ ڇو).
  3. انتظار ڪرڻ جو وقت مقرر ڪري ٿو (20 منٽ).

ايس ايس ايڇ

پورٽ 22 (ايس ايس ايڇ) چ isي طرح سڃاتو وڃي ٿو ۽ عام طور تي پهرين نمبر تي آهي جيڪو هيڪرز کي ڀ tryڻ جي ڪوشش ڪندا آهن ، تنهن ڪري اسين بدران پورٽ 443 (ايس ايس ايل) استعمال ڪنداسين. اهو ٿئي ٿو ته هي بندرگاهه HTTPS مٿان محفوظ برائوزنگ لاءِ استعمال ٿي رهيو آهي.

انهي سبب لاءِ اسين ايس ايس ايل پيڪيج استعمال ڪنداسين ، جيڪو ملٽي پلئڪلر کان وڌيڪ ڪجهه نه آهي جيڪو پيڪٽس جو تجزيو ڪري ٿو جيڪو پورٽ 443 تي اچي ٿو ، ۽ انهن کي داخلي طور تي هڪ سروس يا ٻي طرف رستي تي وڃي ٿو ان تي منحصر آهي ته ڪهڙي قسم جي ٽرئفڪ SSH يا SSL آهي.

ايس ايس ايل ايڇ انٽرفيس تي نه ٿو ٻڌي جتي ٻي سروس اڳ ۾ ئي ٻڌي رهي آهي ، انهي ڪري اسان اڳ ۾ ئي لوئر انٽرفيس تي ڊرو بيئر سن چڪا آهيون.

ھاڻي اسان کي جيڪو ڪجھ ڪرڻ گھرجي ، اھو آھي ته انٽرفيس ۽ بندرگاھ کي ايس ايس ايل ڪرڻ لاءِ ڏسون ، جتان اھو ٻڌو وڃي ۽ سروس جي قسم تي منحصر ڪري پيڪٽس کي ريڊائيڊ ڪرڻ گھرجي ، ۽ ان لاءِ اسان تشڪيل واري فائيل ۾ ترميم ڪندا. / وغيره / ڊفالٽ / ايس ايس ايڇ:

DAEMON = / usr / sbin / sslh DAEMON_OPTS = "- صارف ايس ايس ايل ايڇ - لسٽن 250.250.250.155:443 - ايسش 127.0.0.1:22 - ايس ايس ايل 127.0.0.1:443 - پيڊفائل / ويار / رن / ايس ايس ايڇ / ايس ايس ايڇ. pid "رؤن = ها

آخرڪار ، اسان خدمتن کي ٻيهر شروع ڪيو:

سروس ايس ايس اسٽاپ اينڊ سروس ڊروبي شروعات ۽ سروس ايس ايس شروع وري شروع ڪئي

پوئين حڪم کان پوءِ ، اسان جو محفوظ سيشن شايد رڪاوٽ بڻجي وڃي ، انهي صورت ۾ اهو ٻيهر لاگ ان ٿيڻ لاءِ ڪافي آهي ، پر هن دفعي ڪم ڪندڙ صارف ۽ پورٽ 443 کي استعمال ڪرڻ سان. وري شروع ڪريو. مناسب قدرن سان.

جيڪڏهن هر شي صحيح طريقي سان ڪم ڪري رهي آهي ، اسان ڪم کي جاري رکي سگهون ٿا جيئن روٽ ۽ جيڪڏهن اسان چاهيون ٿا ، اوپن ايس ايس ايڇ کي انسٽال ڪريو.

sudo su - aptitude -r pursh openssh-server

فائر وال

ايندڙ ڪم جيڪو اسان ڪنداسين اهو الڳ فائلن کان ڌار ڌار فائل ۾ داخل ٿي ويندو /var/log/firewall.log وڌيڪ تجزيو آسان ڪرڻ لاءِ ، اهو ئي سبب آهي جو اسان شروعات ۾ الوگيڊ پيڪيج انسٽال ڪيو. ان لاءِ اسان فائل ۾ تبديلي آڻينداسين /etc/logd.conf لاڳاپيل سيڪشن کي ترتيب ڏيڻ لاءِ:

[LOGEMU] فائل = "/ var / log / firewall.log" sync = 1

اڳيون ، اسان رڪارڊ جي گردش واري فائل ۾ ترميم ڪنداسين / وغيره / لوگرٽٽ / الوگڊ روزاني گردش رکڻ لاءِ (تاريخ سان گڏ) ۽ ڊائريڪٽريءَ ۾ ڪمپريس سالو بچايو / ويار / لاگ / الوگ /:

/var/log/ulog/*.log /var/log/firewall.log {روزاني تاريخون لاپتہ کمپریس تاخير .gz / var / log / ulog / endcript}

ان کان پوء اسان ٺاھينداسين netfilter قاعدن تي عمل ڪندي:

IPT = $ (which iptables) IPEXT = 250.250.250.155 IPEXTBLK = 250.250.0.0 / 16 IPBCAST = 255.255.255.255 $ IPT -F $ IPT -X $ IPT -Z $ IPT -A INPUT -i lo -j ACCEPT $ IPT - $ INPUT DROP $ IPT -P FORWARD DROP $ IPT -P OUTPUT ACCEPT $ IPT -A INPUT -m اسٽيٽ - اسٽيٽ انوالڊ -J ULOG -ulog-prefix IN_INVALID $ IPT -A INPUT -p igmp -j ULOG -ulog -پيفڪس IN_IGMP $ IPT -A INPUT -m pkttype -pkt-type broadcast -j ULOG -ulog-prefix IN_BCAST $ IPT -A INPUT -m pkttype -pkt-type multicast -j ULOG -ulog-prefix IN_MCAST $ IPT -A FORWARD -j ULOG -ulog-prefix FORWARD $ IPT -N ICMP_IN $ IPT -A INPUT!  -I lo -p icmp -j ICMP_IN $ IPT -A ICMP_IN -p icmp -f -j ULOG -ulog-prefix IN_ICMP_FRAGMENTED $ IPT -A ICMP_IN -p icmp -m icmp -m لمبائي!  - ڊيگهه 28: 1322 -j ULOG --ulog-prefix IN_ICMP_INVALIDSIZE $ IPT -A ICMP_IN -p icmp -m icmp -m hashlimit --hashlimit-above 4 / sec --hashlimit-mode srcip --hashlimit-srcmask 24 - -هاشميٽ-نام icmpflood -j ULOG -ulog-prefix IN_ICMP_FLOOD $ IPT -A ICMP_IN -p icmp -m icmp -m hashlimit -hashlimit-upto 64kb / min -hashlimit-mode srcip -hashlimit-srcmask 24 - هاشمميت -ايم icmpattack -j ULOG -ulog-prefix IN_ICMP_FLOOD $ IPT -A ICMP_IN -p icmp -m icmp -m u32!  -u32 "0x4 & 0x3fff = 0x0" -j ULOG --ulog-prefix IN_ICMP_ATTACK $ IPT -A ICMP_IN -p icmp -m icmp!  - ايم سي ايم قسم گونج درخواست ايم ايم اسٽيٽ NEW JJ ULOG - اولوگ پریفکس IN_ICMP_INVALID $ IPT -A ICMP_IN -p icmp -m icmp --icmp- قسم گونج-درخواست -J ULOG --ulog- اڳڪٿي IN_ICMP $ IPT -A ICMP_IN -p icmp -m icmp -icmp-type echo-request -m حد -litit 1 / sec -limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp -ايم ايم پي قسم گونج جواب-ايم حد -ميليم 2 / سيڪنڊ -ميليم برسٽ 4 -j قبول ڪريو $ IPT -A ICMP_IN -p icmp -m icmp -icmp-type destination-unreachable -m حد-حد 2 / سيڪنڊ -ميٽ برسٽ 4-ج ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type time-melebihi -m حد - حد 2 / sec - حد-برسٽ 4 -j قبول ڪريو $ IPT -A ICMP_IN -p icmp -m icmp -icmp-type parameter-problem -m حد -litit 2 / sec -limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -j RETURN $ IPT -N UDP_IN $ IPT-هڪ داخل!  -I لو-پي udp -j UDP_IN $ IPT -A UDP_IN!  -ئون وڃ!  -p udp -f -j ULOG -ulog-prefix IN_UDP_FRAGMENTED $ IPT -A UDP_IN -p udp -m udp -port 53 -m length!  - ڊيگهه 28: 576 -j ULOG --ulog-prefix IN_UDP_DNS_INVALIDSIZE $ IPT -A UDP_IN -p udp -m udp --portport 53 -m -state - اسٽيٽ NEW -j ULOG --ulog-prefix IN_UDP_DNSREQUEST $ IPT - هڪ UDP_IN -p udp -m udp -portport 53 -m -state -state NEW -j REJECT -reject-with icmp-port-unreachable $ IPT -A UDP_IN -p udp -m udp!  -پورٽ 53!  -s $ IPEXTBLK!  -d $ IPBCAST -m رياست ـ اسٽيٽ NEW -j ULOG ـulog-prefix IN_UDP $ IPT -A UDP_IN -p udp -m udp -m state st اسٽيٽ اسٽيٽ ٿيل ، ريليٽيڊ-j قبول ڪريو $ IPT -A UDP_IN -j $ IPT -N TCP_IN $ IPT -A داخل ڪريو!  -I لو-پي ٽي پي-ج TCP_IN $ IPT -A TCP_IN!  -ئون وڃ!  -p tcp -f -j ULOG -ulog-prefix IN_TCP_FRAGMENTED $ IPT -A TCP_IN -p tcp -m tcp -sport 53 -m state -state ESTABLISHED، RELATED -m length!  ڊگھائي 513: 1500 -j ULOG --ulog-prefix IN_TCP_DNS_INVALIDSIZE $ IPT -A TCP_IN -p tcp -m tcp -portport 53 -m state -state NEW -j ULOG -ulog-prefix IN_TCP_DNS $ IPT -A TCP_IN -p tcp -m tcp -portport 53 -m state -state NEW -j REJECT -reject-with icmp-port-unreachable $ IPT -A TCP_IN -p tcp -m tcp -m multiport!  -پوريٽ 80,443،80,443-ايم رياست-اسٽيٽ NEW -j ULOG -ulog-prefix IN_TCP $ IPT -A TCP_IN -p tcp -m tcp -m multiport -ports 4،16 -m state -state NEW -m hashlimit - hashlimit -اپوٽو 80,443 / سيڪنڊ ـ هاشمليم ـ برسٽ XNUMX ـ هاشمليٽ موڊ ايس آر سيپ ـ هاشمليم ـ نالو ناورق ـ جے قبول ٿيو $ IPT -A TCP_IN -p tcp -m tcp -m multiport dports XNUMX،XNUMX -m رياست ـ رياست اسٽيٽ ايم ڪيو ايم!  -ڪمپنيٽ کان مٿي 16 -j قبول ڪريو $ IPT -A TCP_IN -p tcp -m tcp -m multiport! 

پوئين ترتيب سان ، اسان جي وي پي ايس کي معقول طور تي محفوظ ڪيو وڃي ، پر جيڪڏهن اسان چاهيون ٿا ته اسان اهو ڪجهه وڌيڪ محفوظ ڪري سگهون ٿا ، جنهن لاءِ اسان ڪجهه وڌيڪ جديد ضابطا استعمال ڪري سگهون ٿا.

نه وي ايس ايس فل فلٽر لاءِ اضافي ماڊلز جي انسٽاليشن جي اجازت ڏين ، پر هڪ تمام مفيد آهي پي ڊي، جيڪو توهان کي پورٽ اسڪين کان بچڻ جي اجازت ڏئي ٿو. بدقسمتي سان اهو ماڊل ڊفالٽ ذريعي نيٽ فلٽر ۾ ضم ٿيل نه آهي ، تنهن ڪري اهو ضروري آهي ته ڪجهه پيڪيجز انسٽال ڪري پوءِ ماڊل کي تعمير ڪيو وڃي:

aptitude -RvW انسٽال ڪريو iptables-dev xtables-addons-source module-Assistant module-Assistant -verbose -txt-mode auto-install xtables-addons-source

هڪ دفعو مٿي ٿي چڪو آهي ، اسان هن وانگر هڪ قاعدو شامل ڪري سگهون ٿا:

iptables -A INPUT -m psd -psd-weight-threshold 15 -psd-delay-threshold 2000 -psd-lo-port-weight 3 -psd-hi-port-weight 1 -j ULOG -ulog- اڳياڙي IN_PORTSCAN

پوئين قاعدي جو بنيادي طور تي مطلب اهو آهي ته اسان هڪ ڪنڊ ٺاهينداسين جيڪو هر دفعي 3 وڌي وڃي ٿو 1024 کان گهٽ بندرگاهن تائين رسائي جي ڪوشش ڪئي ويندي آهي ۽ 1 وقت هر هڪ 1023 کان مٿي بندرگاه تائين رسائي جي ڪوشش ڪئي ويندي آهي 15 سيڪنڊن کان گهٽ عرصي ۾ 20 تائين پهچي ٿو ، پيڪيجز رجسٽرڊ ٿي وينديون اولوگ بندرگاهه تي ڪوشش جي طور تي. پيٽ اڃا تائين هڪ ڀيرو رد ڪري ڇڏي ها ، پر هن صورت ۾ اسين استعمال ڪرڻ جو ارادو ڪيو ٿا fail2ban، جيڪو اسان بعد ۾ ترتيب ڏينداسين.

هڪ دفعو قاعدو ٺاهيا وڃن ، اسان کي انهن کي ثابت قدم رکڻ لاءِ ڪجهه خاص احتياط ڪرڻ لازمي آهي ، ٻي صورت ۾ جڏهن سرور ٻيهر شروع ڪيو وڃي ته اسان وڃائي ڇڏينداسين. ھن کي مڪمل ڪرڻ جا ڪيترائي طريقا آھن؛ هن سبق ۾ اسين شروعات ۾ انسٽال ٿيل iptables لڳاتار پئڪيج جو استعمال ڪنداسين ، جيڪو قاعدن کي اسٽور ڪري ٿو /etc/iptables/rules.v4 y /etc/iptables/rules.v6 ipv6 لاءِ.

iptables-save> /etc/iptables/rules.v4

حقيقت ۾ ، جيتوڻيڪ ڪيوبا ۾ ipv6 جو استعمال اڃا تائين وسيع نه آهي ، اسان ڪي بنيادي اصول ٺاهي سگهون ٿا.

IPT = $ (which ip6tables) $ IPT -P INPUT DROP $ IPT -P FORWARD DROP $ IPT -P OUTPUT ACCEPT $ IPT -A INPUT -i lo -j ACCEPT $ IPT -A INPUT! -I لو-اسٽيٽ اسٽيٽ قائم ڪريو ويو ، لاڳاپيل-ج قبول ڪريو IPT کي ختم ڪريو

اهي قاعدو پڻ مستقل ٿي سگھندا آهن:

ip6tables-save> /etc/iptables/rules.v6

آخرڪار ، وڌيڪ حفاظت لاءِ ، اسان فائر وال جي رجسٽري کي صاف ڪرڻ ۽ سهولتون ٻيهر شروع ڪندا:

گونج-ن> /var/log/firewall.log سروس لاگوٽ ريسٽ سروس ulogd وري شروع ٿيندڙ سروس iptables-مسلسل بحالي شروع ٿيل

نينڪس

اسان نينگڪس کي ويب سرور جي طور تي استعمال ڪنداسين ، ڇاڪاڻ ته وي پي ايس جي اصل سرور جي مقابلي ۾ ريم جي گھٽ مقدار هوندي آهي ، تنهن ڪري عام طور تي اهو آسان آهي ته ايشيچي کان ڪجهه گهٽ.

نينڪسڪس کي ترتيب ڏيڻ کان پهريان ، اسان HTTPS مٿان استعمال لاءِ سرٽيفڪيٽ (ڪو به پاسورڊ) ٺاهي سگهنداسين:

سي ڊي / وغيره / نينگڪس اوپن ايس ايس ايل آر ايس ڊي ڊي 3-out سرٽيفڪيٽ 4096 سي پي وي-وي سرٽيفڪيٽ cert.key افتتاح X509 -req -days 365 -in cert.csr -signkey cert.key -out cert.crt

هڪ دفعو اهو ٿي چڪو آهي ، اسان صارف "ايلسواريو" لاءِ پاسورڊ فائل ٺاهي سگهنداسين:

htpasswd -c .htpasswd استعمال ڪندڙ

اڳيون ، اسان فائل کي تبديل ڪنداسين / وغيره / nginx / سائيٽون موجود آهن طئي ٿيل سائيٽ جون ترجيحون ترتيب ڏيڻ لاءِ. اهو هن کي ڏسڻ ۾ اچي سگهي ٿو.

سرور {سرور_ نالي مقامي هوسٽ ؛ index index.html index.htm default.html default.htm ؛ روٽ / ويار / www ؛ مقام / {# تصديق جو حڪم ۽ لوڊ ڪرڻ لاءِ صفحو ، جيڪڏهن يو آر آءِ لهي نه هجي ڪوشش_ فائلون $ uri $ uri / /index.html؛ }} سرور {ٻڌو 127.0.0.1:443 ؛ سرور_ نالو مقامي هوسٽ ؛ index index.html index.htm default.html default.htm ؛ روٽ / ويار / www ؛ ايس ايس ايل ؛ ssl_certificate cert.crt ؛ ssl_certificate_key cert.key ؛ ssl_session_timeout 5 م ؛ # صرف TLS مٿان ايس ٽي ٽي پي کي فعال ڪريو (ايس ايس ايل کان وڌيڪ محفوظ) ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ؛ # اعلي طاقت [HIGH] سيفرس کي ترجيح ڏيو ، # فهرست جي وچ واري وچولي طاقت [ميڊيم] سائپرس کي ختم ڪريو ، # گھٽ طاقت [LOW] سيفرس کي غير فعال ڪريو (40 ۽ 56 بٽ) # ايڪسپرورٿمز سان برآمد کي الگ ڪريو [ Exp eNULL:! SSLv2:! SSLv3:! ڊي ايس ايس ؛ # سرور جي انڪوڊنگ طريقن کي ترجيح ڏيو (ڊفالٽ طور ڪلائنٽ جي استعمال ٿيل آھن) ssl_prefer_server_ciphers on؛ هنڌ / {# تصديق جي قابل بڻائيندي يهابيڪي "لاگ ان"؛ auth_basic_user_file /etc/nginx/.htpasswd ؛ # تصديق جي حڪم کي ترتيب ڏيو ۽ لوڊ ڪرڻ لاءِ صفحو ڪوڊ ، جيڪڏهن يو آر آئي ڪوشش_فائل $ uri $ uri / = 1024 نه مليو آهي؛ # تصديق ٿيل صارفين لاءِ هڪ انڊيڪس ٺاهڻ جي اجازت ڏئي ٿو آٽوindex؛ autoindex_exact_size بند ؛ autoindex_localtime تي ؛ }}

اسان چيڪ ڪيو ته ترتيب صحيح آهي:

nginx-t

آخرڪار ، اسان خدمت کي شروع ڪيو:

سروس نينڪسڪس ٻيهر شروع

في ميل 2

Fail2Ban کي ترتيب ڏيڻ شروع ڪرڻ کان پهريان ، وڌيڪ سيڪيورٽي لاءِ اسين خدمت کي روڪيو ۽ رجسٽري صاف ڪريو.

fail2ban-client روڪ echo -n> /var/log/fail2ban.log

اڳيون ، اسان ترتيب ڏنل فائل ٺاهيون ٿا /etc/fail2ban/jail.local هيٺين ڪسٽم مواد سان.

# ڪسٽم ترتيب ڏنل فائل /etc/fail2ban/jail.local # [DEFAULT] findtime = 43200؛ 12 ڪلاڪ بيٽنگ = 86400 ؛ 1 ڏينهن وڌتري = 3 ؛ پابندي 4 جي ڪوشش کان پوءِ عمل ۾ ايندي [ssh] enabled = false [nginx-auth] enabled = true filter = nginx-auth action = iptables-multiport [name = NoAuthFailures، port = "http، https"] logpath = / var / log / nginx * / * error * .log [nginx-badbots] enabled = true filter = apache-badbots action = iptables-multiport [name = BadBots، port = "http، https"] logpath = / var / log / nginx * /*access*.log bantime = 604800 ؛ 1 هفتو وڌ کان وڌ = 0 [نينگڪس لاگ ان] فعال = سچو فلٽر = نينگڪس لاگ ان عمل = آئيپٽبل-گھڻائي ڪار [نالو = NoLoginFailures ، port = "http ، https"] logpath = / var / log / nginx * / * رسائي * لاگ بيٽم = 1800 ؛ 30 منٽ [نينگڪس- بيان] چالو = سچائي عمل = آئي ٽيبلز- ملٽي پورٽ [نالو = نو اسڪرپٽ ، پورٽ = "http ، https"] فلٽر = نينگڪس-نوشيپٽ لاگ پاتھ = /var/log/nginx*/*access*.log maxretry = 0 [نينگڪس-پراکسي] فعال = سچائي عمل = آئيپيبلز-ملٽي پورٽ [نالو = NoProxy، port = "http، https"] فلٽر = nginx-proxy logpath = /var/log/nginx*/*access*.log bantime = 604800 ؛ 1 هفتن جي وڌتري = 0 [فائر وال] فعال = سچائي عمل = آئيپيٽبل-گھڻائيڙي [name = firewall] filter = firewall logpath = /var/log/firewall.log maxretry = 0

هڪ دفعو اهو ٿي چڪو آهي ، اسان ڊاريڪٽري ۾ ٺاهي ٿا /etc/fail2ban/filters.d/ هيٺيون فائلون

# /etc/fail2ban/filter.d/nginx-auth.conf # ايٿ فلٽر # بلاڪس IPs کي بنيادي تصديق جي استعمال سان تصديق ڪرڻ ۾ ناڪامياب ڪرڻ. استعمال ڪندڙ. * ۾ نه مليو. استعمال ڪندڙ. * پاسورڊ غلط نموني. * گراهڪ: اڻ xاڻڪس =
# /etc/fail2ban/filter.d/nginx-login.conf # لاگ ان فلٽر # بلاڪس IPs جو ويب ايپليڪيشن جي لاگ ان پيج کي استعمال ڪندي تصديق ڪرڻ ۾ ناڪامياب # HTTP 200 لاءِ رسائي لاگ ان ڪريو + پوسٽ / سيشن => ناڪام لاگ ان # [وضاحت ] ناڪاميءَ = ^ -. * پوسٽ / سيشن HTTP / 1 \ .. "200 igneregex =
# /etc/fail2ban/filter.d/nginx-noscript.conf # نوپ اسڪرپٽ فلٽر # بلاڪ IP کي اسڪرپٽ تي عمل ڪرڻ جي ڪوشش ڪرڻ جھڙوڪ .php ، .pl ، .exe ۽ ٻيا مزاحيه اسڪرپٽ. # ميچون ، مثال # 192.168.1.1 - - "GET /something.php # [وصف] failregex = ^ -. * GET. * (\. php | \ .asp | \ .exe | \ .pl | \ .cgi | \ scgi) igneregex =
# /etc/fail2ban/filter.d/proxy.conf # پراکسي فلٽر # بلاڪ IP کي سرور طور پراکسي طور استعمال ڪرڻ جي ڪوشش ڪندي. # مماثلتون # 192.168.1.1 - - "حاصل ڪريو http://www.something.com/ # [وصف] failregex = ^ -. * حاصل ڪريو http. * نظر انداز ڪندڙ =
# /etc/fail2ban/filter.d/firewall.conf # Firewall filter # [Definition] failregex = ^. * IN_ (INVALID | PORTSCAN | UDP | TCP |). * SRC = . * $ igneregex =

آخرڪار ، اسان سروس شروع ڪيو ۽ ڪنفگريشن کي لوڊ ڪيو:

fail2ban-service -b fail2ban-client ٻيهر لوڊ ٿيو

تصديق

آخري مرحلي جي طور تي ، اسان رڪارڊ سان گڏ ڏسي سگھون ٿا دم-ايف o multitail – پٺيان-سڀ. اصل ۾ ، بعد ۾ ڏنل اپليڪيشن اهو فائدو پيش ڪري ٿي ته اهو هڪ ئي وقت گهڻن فائلن کي ڏسڻ جي اجازت ڏئي ٿو ۽ بنيادي نحو نمايان ڏي ٿو.

ان صورت ۾ جيڪڏهن هڪ اي ميل اڪائونٽ وي پي ايس ۾ ترتيب ڏنل نه آهي ، اهو هڪ خبرداري وارو پيغام غير فعال ڪرڻ جي صلاح ڏني وئي آهي ، جيڪو multitail شروع ڪرڻ وقت ظاهر ٿئي ٿو ، جنهن لاءِ اسين هيٺين حڪم تي عمل ڪنداسين.

گونج "چيڪ_ ميل: 0"> ~ / .multitailrc

اصل ۾ ، اسان هڪ عرف (4) بنا ڪنهن لاگ ان کي مختصر آرڊر سان جلدي ڏسي سگهون ٿا ، مثال طور ، ”فلاگ“:

عرف flog = 'multitail - follow-all /var/log/firewall.log /var/log/fail2ban.log'

1) اهي خيالي قدر آهن.
2) ٻين خدمتن کي فعال ڪرڻ آسان آهي هڪ ڀيرو توهان سمجھو ٿا ته اهو ڪيئن ڪم ڪري ٿو.
3) وڌيڪ تفصيلن لاءِ ، انسان سودو هلايو.
4) اختياري طور شامل ڪيو ويو ~ / .bash_aliases فائل ۾


مضمون جو مواد اسان جي اصولن تي عمل ڪري ٿو ايڊيٽوريل اخلاقيات. غلطي ڪلڪ ڪرڻ جي رپورٽ لاءِ هتي.

6 تبصرا ، پنھنجو ڇڏ

پنهنجي راءِ ڏيو

پنهنجي اي ميل ايڊريس شايع نه ڪيو ويندو. گهري شعبن سان لڳل آهن *

*

*

  1. ڊيٽا جو ذميوار: Miguel Ángel Gatón
  2. ڊيٽا جو مقصد: ڪنٽرول سپيم ، تبصرو جي انتظام.
  3. سازش: توهان جي رضامندي
  4. ڊيٽا جي ابلاغ: ڊيٽا کي قانوني ذميواري کانسواءِ ٽئين پارٽين تائين رسائي نه ڏني ويندي.
  5. ڊيٽا اسٽوريج: ڊيٽابيس اويسينٽس نيٽورڪ (اي يو) پاران ميزباني ڪيل
  6. حق: ڪنهن به وقت توهان پنهنجي معلومات کي محدود ، ٻيهر ۽ ختم ڪري سگهو ٿا.

  1.   msx چيو

    اتي ڪجھ دلچسپ شيون آھن ، +1

  2.   يوڪٽريو چيو

    @ ھيگيو لائين ھي ترتيب ۾:

    ssl_protocols SSLv3 TLSv1 ؛

    مان ايس ايس ايل ٽي 3 کي وٺي وڃان ها ڇو ته اهو پروٽوڪول وڌيڪ محفوظ نه آهي ، ڊبين جيسي ۾ به ڪيتريون ئي سهولتون ترتيب ڪيون ويون آهن ته اهي پروٽوڪول انهي سبب سان استعمال ڪرڻ کان بچڻ لاءِ.

    ھتي ڏنل موضوع تي :اڻ:

    https://www.linode.com/docs/security/security-patches/disabling-sslv3-for-poodle
    http://disablessl3.com/

    1.    هونگو چيو

      اصل ۾ ايڇ ٽي ٽي پي ايس جي مٿان بنيادي سهولتون پيش ڪرڻ جي لاءِ خيال نه هو ، پر وضاحت ڪجي ته ايس ٽي ايڇ لاءِ پورٽ 443 ڪئين استعمال ڪجي ممڪن آهي ته وڃائڻ کان سواءِ جيڪڏهن اهو ضروري هجي ته ايڇ ٽي ٽي پي ايس لاءِ استعمال نه ڪجي ، پر خبرداري جي مهرباني.

      باقي به ڪجهه وقت مون آرٽيڪل کي تازو ڪيو آهي نينگڪس ترتيب ڏيڻ ۾ ڪجهه تبديلي ۽ اتفاق سان ڪجهه تبصرا شامل ڪيو ويو آهي وضاحت ڪرڻ لاءِ ڪجهه شيون وڌيڪ واضح ڪرڻ سان ، انهي سان ڪوششن واري ميڪانيزم سان ، ۽ ڪجهه نن errorsين غلطين کي ٺيڪ ڪرڻ جي

  3.   ڊينئل پي ڪي چيو

    انهي جي وڏي سبق جي تمام گهڻي مهرباني ، هاڻ آئون ان کي عملي جامعہ تي پهچائيندس! : ڊي ، هن کي لينڪس کان رکو ، توهان هميشه مون کي حيران ڪندا آهيو ، پيرو مان سلام.

  4.   Ñانديڪيرا چيو

    شيئر ڪرڻ جي وڏي مهرباني.

  5.   فرننڊو چيو

    تمام سٺو گائيڊ ۽ اهو موتي کان ايندي آهي مون هاڻي هن بلاگنگ ۾ شروع ڪيو آهي پر ان کان به وڌيڪ هاڻ ته آئون پنهنجي پهرين وي ايس پي تي ويهندو آهيان ۽ ڪيترن ئي مسئلن سان به ، پر هن آرٽيڪل مون کي ڪيترن ئي شڪايتن ، مهرباني ۽ سلامت مان ڪ hasي ڇڏيو آهي