Բովանդակություն:

Ազնվամորի Pi4 Firewall: 12 քայլ
Ազնվամորի Pi4 Firewall: 12 քայլ

Video: Ազնվամորի Pi4 Firewall: 12 քայլ

Video: Ազնվամորի Pi4 Firewall: 12 քայլ
Video: Networkանցի անվճար մոնիտորինգ. Ազնվամորի Pi- ի աստղադիտարան քայլ առ քայլ 2024, Հունիսի
Anonim
Ազնվամորի Pi4 firewall
Ազնվամորի Pi4 firewall

Հենց նոր թողարկված Raspbery Pi 4 (RPi4)-ով, ես որոշեցի ինքս ինձ համար դարձնել տնային օգտագործման firewall: Ինտերնետում սայթաքելուց հետո ես գտա այդ թեմայով Գիյոմ Կադուշի հիանալի հոդվածը (https://networkfilter.blogspot.com/2012/08/building-your-piwall-gateway-firewall.html): Հոդվածը զարմանալի է, և այն պետք է կարդալ նախքան առաջ գնալը. Դա ավելի դյուրին կդարձնի այստեղ նկարագրված գործընթացը: Բանն այն է, որ այդ հոդվածը գրվել է 2012 թվականին և հիմնված է ArchLinux դիստրոյի վրա: Ոչինչ ArchLinux- ի դեմ, բայց ես ուզում էի դա անել ՝ օգտագործելով ավելի սովորական Raspbian կառուցվածքը: RPi4- ը կարող է կարգավորել մշակման պահանջները: Այսպիսով, շնորհակալություն, Գիյոմ, ոգեշնչման համար !! Այս հրահանգը հղում կկատարի Գիյոմի (կարճ ՝ «GK») սկզբնական գրառմանը, հավանաբար կցանկանաք, որ ձեր էջում երկու էջերն էլ բաց լինեն:

Մի քանի հիմնական բան իմ firewall- ի մասին.

  • Ես ունեմ ներկառուցված ethernet jack (eth0), որը գնում է LAN
  • ISP երթուղիչը գտնվում է TRENDnet ադապտերում (eth1)
  • Ես ակտիվորեն անջատել եմ անլար ադապտերը (wlan0)
  • Սա երաշխավորված չէ, որ ձեզ կհասցնի 100% այնտեղ … հուսանք, որ առնվազն 99%:) այնպես որ խնդրում ենք տրամադրել հետադարձ կապ/մեկնաբանություններ
  • Սա իմ առաջին հրահանգն է: Ներողություն եմ խնդրում այն ամենի համար, ինչը չի հետևում համապատասխան հրահանգ-նորմերին:

Հիմա եկեք մի փոքր զվարճանանք…

Պարագաներ

  • Ազնվամորի Պի 4

    • Ես օգտագործել եմ 4 ԳԲ տարբերակը, ազատ զգացեք փորձել այլ տարբերակ
    • Գործ (ինձ դուր է գալիս FLIRC- ը, բայց դա ձեր զանգն է)
    • Էլեկտրաէներգիայի ադապտեր
  • MicroSD քարտ, 32 ԳԲ կամ ավելի (ես օգտագործել եմ 64 ԳԲ քարտ)
  • TRENDnet USB3.0 Gigabit Ethernet Dongle (մոդել ՝ TU3-ETG)
  • Մի քանի RJ45 ցանցային մալուխներ
  • USB ստեղնաշար և մկնիկ
  • Micro-HDMI- ից HDMI մալուխ (որը միացված է HDMI մոնիտորին)

Այդ ստեղնաշարը, տեսանյութը և մկնիկը կարող են հեռացվել, երբ կարողանաք գործարկել SSH- ն և VNC- ն:

Քայլ 1: RPi- ի նախնական կարգավորում

RPi- ի նախնական կարգավորում
RPi- ի նախնական կարգավորում

Առաջին բանը, որ պետք է անել, ձեր RPi4- ը գործարկելն է որպես նոր համակարգ: Ներբեռնեք և տեղադրեք Raspbian- ի ամբողջական բաշխումը (Raspbian Buster աշխատասեղանով և առաջարկվող ծրագրակազմով): Դուք պետք է մի քանի անգամ վերագործարկեք, որպեսզի այն ընդլայնվի և օգտվի ամբողջական MicroSD քարտից:

Գործարկման ընթացքում դուք պետք է պատասխանեք տեղանքի, ցանցի, ստեղնաշարի և մկնիկի վերաբերյալ հարցերին: Միացեք ցանցին և թույլ տվեք, որ այն թարմացվի:

Թույլ տվեք նաև հաստատել, որ ամեն ինչ ճիշտ է թարմացվել և ստանալ մի քանի կոմունալ ծառայություններ, որոնք կարող են օգնել հետագայում կարգաբերելուն.

$ sudo apt-get թարմացում

$ sudo apt-get dist-upgrade $ sudo apt-get install htop $ sudo apt-get տեղադրել tcpdump

Ես ՉԵՄ տեղադրել vim, ոչ էլ GK- ի 8 -րդ քայլը (կարգավորել վիմը): Ես պարզապես օգտագործեցի vi խմբագրիչը, քանի որ այն ամեն դեպքում ունի այդ հատկանիշների մեծ մասը: Սա նաև խնայեց որոշ ժամանակ և ջանք:

Երբ դա ավարտվի, թույլ տվեք կարգավորել RPi4- ը, որպեսզի մենք կարողանանք միացնել մոնիտորը: Իմ նպատակն էր այն դարձնել առանց գլխի, բայց եթե ես պետք է միացնեմ մոնիտորը, այն կճանաչվի:

$ sudo vi /boot/config.txt

Այդ ֆայլում ՝

չմեկնաբանել (հեռացնել դիմային #նշանը) ՝ hdmi_force_hotplug = 1

մեկնաբանություն ՝ hdmi_drive = 2

ըստ ցանկության, ավելացրեք ՝ enable_hdmi_sound

Քայլ 2: Networkանցավորում

Networkանցավորում
Networkանցավորում
Անցավորում
Անցավորում

Եթե դուք հետևում եք GK- ի կայքում, սա 3 -րդ քայլն է: Բայց հիշեք, որ ես չեմ հետևել նրա առաջին շատ քայլերին ճշգրիտ հերթականությամբ:

Երբ ես դա առաջին անգամ սկսեցի, ես RPi- ն միացրեցի անմիջապես իմ ISP երթուղիչին («իմ առկա ցանցի կողքին»): Սա ինձ թույլ տվեց խաղալ կոնֆիգուրացիայի հետ ՝ առանց ցանցի վրա ազդելու: Միացրեք RPi4 ներկառուցված RJ45- ը ձեր երթուղիչին (կամ անլար, եթե ցանկանում եք): Raspbian- ի դեպքում դա անելու ամենահեշտ ձևը GUI- ի օգտագործումն է: Աշխատասեղանից կտտացրեք Ազնվամորու պատկերակ> Նախապատվություններ> Raspberry Pi կազմաձևում: Համոզվեք, որ միացրեք SSH և VNC: Սա կտեղադրի Real-VNC սերվերի հաճախորդը: Ես պարզեցի, որ եթե փորձեք կապվել Tight VNC հաճախորդի հետ, այն կհամապատասխանի և կպահանջի լրացուցիչ կազմաձևում: Այսպիսով, այս պահին տեղադրեք Real-VNC հաճախորդը ձեր հիմնական աշխատասեղանի/նոութբուքի վրա (ոչ թե ձեր RPi4):

SSH- ը դուրս չի աշխատի տուփից (GK- ի քայլ 7): Մենք պետք է փոփոխենք որոշ կազմաձևեր: Նախ, եկեք փոփոխենք ssh կազմաձևման ֆայլը: Ահա իմ կատարած փոփոխությունները: Հիշեք, որ ես այստեղ չեմ ուսումնասիրել յուրաքանչյուր փոփոխության ազդեցությունը: Ես արեցի այն, ինչ առաջարկում էր GK կայքը: Այս փոփոխություններից ոմանք կարող են չպահանջվել:

$ sudo vi/etc/ssh/sshd_config

Այդ ֆայլում, մեկնաբանեք հետևյալ տողերը.

HostKey/etc/ssh/ssh_host_rsa_keyHostKey/etc/ssh/ssh_host_ecdsa_keySyslogFacility AUTHLogLevel INFOS սահմանափակող եղանակներ այոՀրապարակի նույնականացում այոՀյուրընկալվածՀաստատում

Անտեսել Rhosts այո

PrintMotd noPrintLastLog yesTCPKeepAlive այո

Եվ ավելացրեք հետևյալ տողերը.

Արձանագրություն 2Օգտագործում

Եվ փոփոխել հետևյալ տողերը.

Նավահանգիստ 15507 Մուտք գործեքՀայտնի ժամանակ 60 Թույլտվություն

Եկեք արագ խոսենք այդ առաջին փոփոխության մասին… նավահանգիստ 15507. SSH- ը սովորաբար աշխատում է 22-րդ նավահանգստում: GK- ն այն տեղափոխեց 15507` չգիտեմ ինչու: Կարող եք գնալ այնպես, որ այն փոխեք, թե ոչ… Եթե ընտրեք այն փոփոխել, ապա ձեզ հարկավոր կլինի ավելացնել «-p 15507» ցանկացած SSH հրամանին, որի հետ փորձում եք կապվել: Եթե որոշեք բաց թողնել այն, ուշադրություն դարձրեք այն այլ վայրերին, որոնցում 15507 -ը նշված է այս հրահանգներում և անտեսեք դրանք, մասնավորապես firewall- ի կանոնները:

Ի վերջո, այս քայլի համար, եկեք ստանանք RPi4- ի IP հասցեն, որպեսզի մենք իմանանք ՝ ինչին միանալ.

$ ipconfig -a

Գտեք ցանցի ակտիվ միացումը (հավանաբար eth0- ում կամ wlan0- ում) և գրեք այդ IP հասցեն: Այժմ դուք ունեք այն, ինչ ձեզ հարկավոր է ՝ հեռակա կերպով միանալու RPi4- ին: Շարունակելուց առաջ եկեք վերագործարկենք.

$ sudo վերագործարկում

Քայլ 3: Մեկ այլ օգտվող

Մեկ այլ օգտվող
Մեկ այլ օգտվող

Ավելի լավ է չօգտագործել լռելյայն RPi օգտվողի անունը (pi), և դուք, անշուշտ, պետք է փոխեք գաղտնաբառը: Անվտանգ լինելու համար թույլ տվեք ավելացնել մեկ այլ օգտվողի հաշիվ, որը կարող եք օգտագործել ՝ հեռակա կապ հաստատելու և շարունակելու համար (GK- ի քայլ 6): Վերադառնալով RPi ՝ թույլ տվեք ավելացնել նոր օգտվող և թույլտվություններ սահմանել օգտվողի համար SSH- ում և թողարկել sudo հրահանգը.

$ sudo useradd -m -g օգտվողներ -G sudo, netdev -s /bin /bash [USERNAME]

$ sudo passwd [USERNAME]

Ազատորեն դուրս եկեք կամ վերագործարկեք և հետագայում օգտագործեք այդ նոր ստեղծված հաշիվը:

Քայլ 4: Syctl ֆայլ

Syctl ֆայլ
Syctl ֆայլ

Հաջորդ քայլը /etc/sysctl.conf ֆայլը փոփոխելն է (GK- ի քայլ 9): Այս ֆայլը օգտագործվում է միջուկի մի քանի կարգավորումներ փոխելու համար: Մենք պատրաստվում ենք անել այն, ինչ GK- ն ասում է, որ անի: Ահա քայլերի պարզեցված փաթեթ:

$ sudo vi /etc/sysctl.conf

Այդ ֆայլում մեկնաբանեք հետևյալ տողերը.

net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.all.rp_filter = 1net.ipv4.tcp_syncookies = 1

net.ipv4.ip_forward = 1

net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.all.log_martians = 1

Եվ ավելացրեք հետևյալ տողերը.

net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.icmp_ignore_bogus_error_responses = 1net.ipv4.conf.eth0.accept_redirects = 0vm.min_free_kbytes = 8192

Վերագործարկեք ծառայությունը այս նոր պարամետրերով և վերագործարկեք.

$ sudo sysctl -p

$ sudo վերագործարկում

Քայլ 5: DHCP և DNS (մաս 1)

DHCP & DNS (մաս 1)
DHCP & DNS (մաս 1)

Ինձ համար այս գործընթացի երկու ցավոտ հատված կար … DHCP & DNS- ի կարգավորում և firewall- ի կանոնների սահմանում: Այսպիսով, այստեղ մենք անցնում ենք առաջին մասով: Եթե դուք հետևում եք GK- ի կայքում, մենք 10 -րդ քայլին ենք:

Դա անելու համար ձեզ հարկավոր կլինի մի քանի տեղեկատվություն ձեր ISP երթուղիչից (կամ ընթացիկ firewall- ից).

  • Ուղղորդիչի ներքին IP հասցեն
  • IP հասցե, որը կարող եք օգտագործել երթուղղիչին RPi4 ինտերֆեյսի համար
  • Անունների սերվերի (կամ երկուսի) IP- ներ
  • LAN կապի միջերեսի անունը (օրինակ ՝ eth0 կամ eth1)
  • ISP կապի միջերեսի անունը (օրինակ ՝ այն, ինչ չեք օգտագործել LAN- ի համար)

RPi4- ին ստատիկ IP հասցե տալու համար գուցե անհրաժեշտ լինի փոփոխել երթուղիչի կարգավորումները (գնդակ 2, վերև): Համենայն դեպս, ես այդպես վարվեցի:

Նախ, եկեք փոխենք dhcpcd.conf ֆայլը…

$ sudo vi /etc/dhcpcd.conf

Մեկնաբանեք այս տողերը.

մշտական ընտրություն quick_commitoption domain_name_servers, domain_name, domain_search, host_nameoption interface_mtu

Յուրաքանչյուր ցանցային ինտերֆեյսի համար անհրաժեշտ է սահմանել ցանցի տվյալները: Նրանք պետք է ունենան այսպիսի տեսք.

# Ստատիկ `ISP- ի ինտերֆեյսի համար

ինտերֆեյս eth1 static ip_address = 192.168.1.static routers = 192.168.1.254 static domain_name_servers = 8.8.8.8 8.8.4.4 metric 100 # Ստատիկ ինտերֆեյսի համար LAN միջերես eth0 static ip_address = 10.210.212.static routers = 10.210.212.1 static domain_name_servers = 8.8.8.8 8.8.4.4 #ինտերֆեյս wlan0 #static ip_address = 10.210.212. #static routers = 10.210.212.1 #static domain_name_servers = 8.8.8.8 #Մի մեկնաբանեք այս հատվածը, եթե ցանկանում եք սարքի վրա IP հասցե պարտադրել: «Հյուրընկալող» անունից անունը #անիմաստ է համակարգի համար: Մուտքագրեք սարքի MAC հասցեն, ինչպես նաև ցանկալի #IP հասցեն: Համոզվեք, որ այն dhcp տիրույթից դուրս է: Անհրաժեշտության դեպքում կրկնել: #host [ANYTHING] { # ապարատային ethernet xx: xx: xx: xx: xx: xx; # ֆիքսված հասցե 10.210.212.250; #}

Համոզվեք, որ օգտագործեք ձեզ հարմար թվեր: Վերը նշված IP- ները իմ ցանցի համար են, բացառությամբ Google- ի անվան սերվերների: Նկատի ունեցեք, որ ես նաև ISP- ի չափանիշը դրել եմ 100 -ի վրա ՝ ստիպելով դա լինել ցանցի տրաֆիկի առաջին կանխադրված փորձը: Ես նաև հատուկ ոչինչ չեմ արել իմ անլար ադապտերին (wlan0): Ես մտադիր եմ ամբողջությամբ անջատել այդ ինտերֆեյսը, այնպես որ դա ինձ համար իմաստ ուներ:

Բացի այդ, եթե ցանկանում եք IP հասցե պարտադրել սարքի վրա (ինչպես NAS- ը), օգտագործեք այդ ստորին հատվածը: Տվեք հաղորդավարին ձեզ համար նշանակալից անուն, բայց իմացեք, որ այն երբեք չի օգտագործվում որևէ բանի համար: Մի մոռացեք ստորակետները:

Քայլ 6: DHCP և DNS (մաս 2)

DHCP & DNS (մաս 2)
DHCP & DNS (մաս 2)

Հաջորդ քայլը փոփոխել dnsmasq.conf ֆայլը…

$ sudo vi /etc/dnsmasq.conf

Մենք պետք է մեկնաբանենք մի քանի տող և խմբագրենք մի քանի տող: Դուք նաև պետք է պատճենեք մի քանի պարամետր dhcpcd.conf ֆայլից: Երկու այլ հարցեր, որոնց պետք է պատասխանեք ինքներդ ձեզ.

Արդյո՞ք ներքին LAN- ին (օրինակ ՝ eth0) անհրաժեշտ է DHCP և DNS: Ի՞նչ DHCP տիրույթ եք ցանկանում ձեր LAN- ի համար և որքա՞ն պետք է լինի յուրաքանչյուր վարձակալության պայմանագիրը:

Սկսեք ՝ մեկնաբանելով մի քանի տող.

կեղծ- privno-dhcp-interface = wlan0bind-interfacesdhcp-name-match = set: wpad-ignore, wpaddhcp-ignore-names = tag: wpad-ignore

Սահմանեք ձեր անվան սերվերը: Փնտրեք 'server =' սկսվող տողը և դարձեք այն որպես 'server = 8.8.8.8':

Սահմանեք ձեր DHCP տիրույթը: Կան բազմաթիվ եղանակներ դա անելու համար: Ես ընտրեցի տրամադրել երկու վերջնակետի IP- ները ՝ դիմակը և վարձակալության տևողությունը: Իմ միջակայքը 10.210.212.20-10.210.212.240 էր, 255.255.255.0 ցանցային դիմակով և վարձակալության ժամանակը ՝ 12 ժամ: Ես խորհուրդ եմ տալիս թողնել որոշ IP հասցեներ ձեր տիրույթի վերևում և ներքևում, եթե երբևէ ինչ -որ բանի անհրաժեշտ լինի տալ ստատիկ IP:

Սահմանեք միջերեսը, որը կստանա DNS և DHCP (LAN) ՝ փոփոխելով «ինտերֆեյս =» տողը ՝ դարձնելով «ինտերֆեյս = էթ 0» նման բան: Ուշադրություն դարձրեք, որ ես հատուկ ասացի, որ ՉԻ նշանակել DHCP IP հասցե իմ անլար ցանցին: Կրկին, ես մտադիր եմ ամբողջությամբ անջատել այդ ինտերֆեյսը, այնպես որ դա ինձ համար իմաստ ուներ:

Քայլ 7: DHCP և DNS (մաս 3)

DHCP & DNS (մաս 3)
DHCP & DNS (մաս 3)

Այս վերջին քայլի համար GK- ի ցուցումներից շեղում…

Երբ ես գնացի վերսկսելու իմ RPi- ն այս պահին, dnsmasq գործընթացը ակտիվ չէր: Մի փոքր պտտվելով, ես գտա, որ իմ eth0 և eth1 ցանցի միջերեսները երկուսն էլ ակտիվ չէին նախքան dnsmasq- ի գործարկումը, ուստի dnsmasq- ը սկզբում ձախողվելու էր: Ես ստիպված կլինեի միացնել ստեղնաշարը և մկնիկը RPi- ին և ձեռքով վերագործարկել dnsmasq- ը: Սա իդեալական չէ անգլուխ կարգավորմամբ: Ես կարդացի մի շարք գրառումներ, որոնք ասում էին, որ տարբեր փոփոխություններ են կատարում պարամետրերում (օրինակ ՝ անջատել bind-interface) և այլ բաներ: Ոչ մեկը չաշխատեց: Ի վերջո, ես որոշեցի պարզապես գրել shell սցենար, որը կաշխատի 2 րոպեն մեկ և կստուգի dnsmasq- ի կարգավիճակը: Եթե այն չէր աշխատում, սկսեք այն: Ենթադրում եմ, որ այս իրավիճակը միայն ինձ համար չէ: Այսպիսով, ահա թե ինչ պետք է անեք.

Հետևյալ ծածկագիրը դարձրեք «dns_masq_keepalive.sh» անունով ֆայլ ձեր RPi- ում:

#!/bin/bash

# Պատկեր ՝ dns_masq_keepalive.sh # օգոստոս 2019 # Օգտագործեք սա crontab -e (*/2 * * * * /etc/dns_masq_keepalive.sh) միջոցով ՝ համոզվելու համար, որ dnsmasq- ը աշխատում է: Theառայությունը կդադարեցվի, եթե dhcpcd.conf- ում նշված # բոլոր միջերեսները միացված չլինեն նախքան այն սկսելը: Սա շտկում է խնդիրը: # Այս հաջորդ տողը կվերադարձնի բոլոր ակտիվ աշխատանքները `« dnsmasq »բառով: Այսպիսով, «dnsmasq» - ը մի՛ ներառեք այս # ֆայլի անվան մեջ, այլապես այն ամեն անգամ կվերադարձնի այն, և դուք երբեք վերագործարկում չեք ունենա: dns_running = $ (ps -e | grep dnsmasq) արձագանք $ dns_running եթե [-z "$ dns_running"] ապա #echo No DNSMasq sudo /etc/init.d/dnsmasq վերագործարկում #այլ #echo DNSMasq Running fi

Անհրաժեշտության դեպքում կտրեք և կպցրեք այն: Ինչ էլ որ անեք, անվան մեջ «dnsmasq» չընդգրկեք: Սցենարը փնտրում է «dnsmasq» բառը, և եթե սցենարը այն ունենա անվան մեջ, այն ենթադրելու է, որ ծառայությունն աշխատում է: Բացի այդ, վերանվանել ֆայլը, որպեսզի այն ավարտվի «.sh» - ով: Intructables- ը թույլ չի տա ինձ վերբեռնել «.sh» ֆայլ, ինչը լավ է: Մնացած հրահանգները ենթադրում են, որ ֆայլը գոյություն ունի ՝ /etc/dns_masq_keepalive.sh:

Երկրորդ, թույլտվություններ սահմանեք ֆայլի վրա, որպեսզի այն կատարվի.

$ sudo chmod u+x /etc/dns_masq_keepalive.sh

Այժմ մենք կօգտագործենք crontab համակարգը, որպեսզի ծրագիրը գործի ամեն օր 2 րոպեն մեկ: Սկսել crontab:

$ sudo crontab -e

Այն պետք է հուշի ձեզ խմբագրել vi- ի կամ այլ բանի միջոցով: Anyանկացածը կաշխատի: Երբ այն կարող եք խմբագրել, ֆայլի վերջում ավելացրեք հետևյալը.

*/2 * * * * sudo /etc/dns_masq_keepalive.sh

«*/2» -ում բացատներ չկան, այլ աստղանիշերի միջև բացատներ: Պահպանեք և դուրս եկեք: Այն պետք է ասի ձեզ, որ աշխատանքը պլանավորված է, կամ նման բան:

Քայլ 8: Firewall

Firewall- ը
Firewall- ը

Հաջորդ ցավոտ գործընթացը firewall- ն է (GK- ի քայլ 11): Raspbian- ն օգտագործում է հայտնի iptables համակարգը: GK- ի բլոգը տրամադրում է երեք ֆայլ, որոնք կօգնեն ձեզ հասնել այնտեղ… firewall.simple, firewall.advanced և firewall.flows: Ամենայն հարգանք GK- ի նկատմամբ, բայց հեշտացրեք ինքներդ ձեզ և պարզապես գնացեք firewall.simple- ով: Ես շատ ժամանակ եմ ծախսել ՝ պարզելու iptables համակարգը և կանոնները: Ես ուրախ եմ, որ դա արեցի, բայց դա ցավալի էր: Այսպիսով, ես տալիս եմ կից երկու ֆայլ ՝ օգնելու ձեզ… firewall.simple և firewall.clear: Այս երկու ֆայլերն էլ պատճենեք ձեր /etc պանակում և փոխեք թույլտվությունները ՝ դրանք գործարկելի դարձնելու համար.

$ sudo chmod u+x /etc/firewall.simple

$ sudo chmod u+x /etc/firewall.clear

Նախքան firewall- ի որևէ կանոն սահմանելը, աշխատասեղան/նոութբուք միացրեք ձեր RPi eth0 պորտին և հաստատեք, որ այն ստանում է IP հասցե և աշխատում է DNS- ով: Դա անելու ամենահեշտ ձևը փորձել և պինգ անել ընդհանուր կայքի, այնուհետև հայտնի IP հասցեի վրա: Նաև պինգեք ձեր RPi և ISP երթուղիչին: Եթե արդյունքներ ստանաք, ապա ամեն ինչ լավ է, և ցանցի ցանկացած խնդիր, որին այժմ հանդիպում եք, ամենայն հավանականությամբ, firewall- ի խնդիրների արդյունք է:

Առաջին տրամադրված ֆայլը սկզբնապես սկսվել է որպես GK- ի firewall.simple ֆայլ (շնորհակալություն, կրկին GK!): Ես մի շարք փոփոխություններ կատարեցի, որպեսզի այն աշխատի այս համակարգի համար: Այն պետք է թույլ տա առնվազն HTTP, HTTPS, DNS, DHCP, ping, ներքին SSH, ներքին VNC և plex: Plex- ը կարող է չունենալ բոլոր բաց նավահանգիստները յուրաքանչյուր հնարավոր սարքի համար, բայց դա շտկելու համար կան մի շարք գրառումներ: Ֆայլի վերևում կան արժեքներ, որոնք դուք պետք է փոխեք ձեր ցանցի կազմաձևին:

Երկրորդ ֆայլը ՝ firewall.clear, նախատեսված է օգտագործել ձեր firewall- ի կանոնները փորձարկելիս: «Sudo /etc/firewall.clear» գործարկելիս firewall- ի բոլոր կանոնները կջնջվեն, և համակարգը պետք է ամբողջությամբ միացված լինի ինտերնետին: Այսպիսով, եթե դուք ի վիճակի չեք ստիպել ցանցային ծառայությանը (ինչպես dns) աշխատել firewall- ի հետ: գործում են պարզ կանոններ, բայց այն սկսում է գործել firewall.clear- ից հետո, դուք գիտեք, որ դուք ունեք կանոնների խնդիր: Սա իսկապես կարևոր կլինի միայն ձեր կանոնները փորձարկելիս:

Այսպիսով, մենք ունենք firewall- ի կանոններ, մենք պետք է ստիպենք դրանք սկսել, երբ RPi- ն սկսվի: Դա անելու համար մենք խմբագրելու ենք /etc/rc.local ֆայլը.

$ sudo vi /etc/rc.local

Ներս մտնելուց հետո ֆայլի վերջում ավելացրեք հետևյալը.

արձագանք «Բեռնվում են iptables- ի կանոնները»/այլն/firewall.simple >>/dev/null

Եթե որոշեք ավելացնել խռմփոցի ներխուժման հայտնաբերման համակարգը, ապա ձեզ հարկավոր կլինի նորից խմբագրել այս ֆայլը: Առայժմ պարզապես պահեք այն և վերագործարկեք:

$ sudo վերագործարկում

Քայլ 9: Syslog

Սիսլոգ
Սիսլոգ

Երկու քայլ է մնացել…

Սա հեշտ բան է: Եթե դուք դեռ այնտեղ եք, և հետևում եք GK- ի բլոգին, սա քայլ 12. Դուք պետք է անեք այն, ինչ նա ասում է syslog ֆայլի վերաբերյալ: Ահա կրճատված քայլերը.

Պահեք syslog- ի 2 ամսվա արժեք…

$ sudo vi /etc/logrotate.conf

Մենք պետք է ասենք, որ այն օգտագործի «մեկ շաբաթ» որպես չափում, այնուհետև պահի դրանցից 12 -ը: Այս ֆայլում ձեզ հարկավոր են հետևյալ երկու տողերը: Կարծում եմ, որ ձեզ հարկավոր կլինի փոխել գոյություն ունեցող տողերը:

շաբաթաթերթ 12

Պահպանել այն.

Քայլ 10. Ներխուժման հայտնաբերում Snort- ի հետ

Ներխուժման հայտնաբերում Snort- ի հետ
Ներխուժման հայտնաբերում Snort- ի հետ

Վերջին բանը, որը GK- ն կարգավորում է, խռպոտ համակարգն է: Սա նույնպես խորհուրդ եմ տալիս: Դուք կարող եք հետևել նրա կանոններին, և ես չեմ պատճենելու դրանք բոլորը այստեղ ՝ մի քանի չնչին փոփոխություններով: Նրա ցուցումները ArchLinux distro- ի համար են: Ահա Raspbian բաշխման մի քանի փոփոխություն, որոնք մենք օգտագործում ենք այստեղ: Մնացած հրահանգները լավ են աշխատում:

Նախ, մի օգտագործեք sudo pacman -S snort ՝ snort- ը ներբեռնելու և տեղադրելու համար: Կատարեք հետևյալը.

$ sudo apt-get install snort

Երկրորդ, դուք չեք կարող ստուգել snort- ը sudo snort -version- ով: Ստուգեք տեղադրումը հետևյալով.

$ sudo snort -V

Վերջապես, այն գործարկելու համար մի փոփոխեք rc.conf ֆայլը, խմբագրեք rc.local ֆայլը (կրկին)…

$ sudo vi /etc/rc.local

Ֆայլի վերջում ավելացրեք հետևյալ տողերը.

արձագանք «Բեռնվում է խռմփոց»

#/usr/sbin/snort -D -u snort -g snort -c /etc/snort/snort.conf -i eth0 -l/var/log/snort

Այժմ, վերագործարկեք, և ամեն ինչ պետք է կախարդական կերպով աշխատի:

$ sudo վերագործարկում

Քայլ 11: Վայելեք

Վայելեք
Վայելեք

Այդպես պետք է լինի:

Նախ, ես չեմ կարող բավականաչափ շնորհակալություն հայտնել Գիյոմ Կադուշին: Նա ոգեշնչեց սա:

Երկրորդ, եթե դուք դեռ չեք անջատել ձեր ստեղնաշարը, տեսանյութը և մկնիկը, կարող եք: Անհրաժեշտության դեպքում վերադառնալու համար օգտագործեք SSH և VNC:

Ի վերջո, սա կարող է 100% կատարյալ չլինել: Խնդրում ենք հետ տեղադրել փոփոխություններով/առաջարկություններով/առաջարկություններով: Իմ նպատակը կլինի, որ սա լինի քննարկման սկիզբը և շատերը վայելեն:

Շնորհակալություն !!

Հ. Գ… Նկարը RPi4 է ՝ FLIRC ալյումինե պատյանում, Intel- ի հին երկրպագուով, որը փոքր-ինչ փոփոխված է և գագաթին ամրացված: Օդափոխիչի տակ կա նաև ջերմային մածուկ, պարզապես այն դեպքում, երբ ձեզ հետաքրքրում էր: Նման բան գտա ինտերնետում (https://www.reddit.com/r/raspberry_pi/comments/9bdgrr/it_turns_out_putting_a_heatsink_on_the_flirc_case/) և որոշեցի ինքս փորձել:

Քայլ 12: Փոփոխություն

Քանի որ փոփոխություններ են կատարվում այս հրահանգելիքում, ես դրանք կփաստագրեմ այստեղ:Խնդիր ունենալու դեպքում ստուգեք այստեղ ՝ պարզելու համար, թե գրավել եք հին հրահանգները կամ ֆայլերը:

25 սեպտեմբերի, 2019 թ.:

  • Հաստատված DHCP կանոնները firewall.simple- ում
  • Հրահանգների մեջ ամրագրված DHCP տիրույթը (ֆայլերը ճիշտ էին)
  • DHCP հրահանգներին ավելացվել են ֆիքսված IP հանձնարարականներ

13 հոկտեմբերի, 2019 թ

  • Ֆիքսված բազմաթիվ տառասխալներ
  • Ստեղծեց երկրորդ pi- ն, որպեսզի անհրաժեշտության դեպքում ես ունենայի փորձարկման SDcard քարտ

Խորհուրդ ենք տալիս: