Hvernig á að tryggja FreeBSD með PF eldvegg

Hvernig á að tryggja FreeBSD með PF eldvegg

Þessi kennsla mun sýna þér hvernig á að vernda FreeBSD netþjóninn þinn með því að nota OpenBSD PF eldvegg. Við gerum ráð fyrir að þú sért með hreina FreeBSD uppsetningu sem Vultr hefur sett upp án notenda bætt við. Við munum gera nokkra aðra hluti fyrir utan Firewall stillingar sem mun einnig herða öryggi FreeBSD netþjónsins okkar. Fyrir uppsetningu eldveggs munum við setja upp nokkra pakka þar sem sjálfgefna FreeBSD uppsetningin kemur með lágmarks setti af verkfærum og pakka (sem er rétt), til að auðvelda okkur að vinna.

Sjálfgefin skel í FreeBSD er /bin/sh. Þetta er grunnskel án sjálfvirkrar útfyllingaraðgerða. Við munum nota eitthvað betra. Við munum setja upp zsh.

Fyrst skaltu setja upp þessa pakka:

# pkg install zsh gnuls
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/freebsd:10:x86:64/latest, please wait...
...

GNULS er lsforritið frá Linux. Við viljum bara hafa sömu lsskipunina í Linux og FreeBSD.

Bættu venjulegum notanda við kerfið: (skiptu út John fyrir notendanafnið þitt og ekki gleyma að bæta notanda við hjólahópinn)

# adduser
Username: john
Full name: John Doe
Uid (Leave empty for default): 
Login group [john]: 
Login group is john. Invite john into other groups? []: wheel
Login class [default]: 
Shell (sh csh tcsh zsh rzsh nologin) [sh]: zsh
Home directory [/home/john]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: 
Enter password: 
Enter password again: 
Lock out the account after creation? [no]: 
Username   : john
Password   : *****
Full Name  : John Doe
Uid        : 1001
Class      : 
Groups     : john wheel
Home       : /home/john
Home Mode  : 
Shell      : /usr/local/bin/zsh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (john) to the user database.
Add another user? (yes/no): no
Goodbye!

Búðu til zsh stillingarskrá:

# ee /home/your-username/.zshrc

Afritaðu þetta í .zshrc skrána þína:

PS1="<%U%m%u>$[%B%1~%b]%(#.#.$) "

bindkey -e
alias su='su -m'
alias du='du -h -d0'
alias df='df -h'
alias l=less
alias ll='gnuls --color=always -l'
alias ls='gnuls --color=always'
alias pkg_ver='pkg version -v -l "<" | > upgrade'

export EDITOR=ee

autoload -U colors && colors
autoload -U promptinit && promptinit
autoload -U compinit && compinit

# History settings
SAVEHIST=1000
HISTSIZE=1000
HISTFILE=~/.history
setopt histignoredups appendhistory

Keyra þessa skipun: (skipta út John fyrir notendanafnið þitt)

chown john:john /home/john/.zshrc

Skráðu þig núna inn á FreeBSD netþjóninn með notendanafninu þínu og breyttu sjálfgefna rót lykilorðinu:

<vultr>[~]$ su
Password:
<vultr>[~]# passwd 
Changing local password for root
New Password:
Retype New Password:
<vultr>[~]# 

Við þurfum ekki sendmail. Stöðvaðu og slökktu á þessari þjónustu:

<vultr>[~]# /etc/rc.d/sendmail stop
Stopping sendmail.
Waiting for PIDS: 7843.
sendmail_submit not running? (check /var/run/sendmail.pid).
Stopping sendmail_msp_queue.
Waiting for PIDS: 7846.

Næst munum við breyta rc.conf skránni okkar til að líta eðlilegra út:

# ee /etc/rc.conf

Breyttu því þannig að það líti svona út:

#----------- NETWORKING ------------------------------------------------#
hostname="ceph.domain1.com" # replace ceph.domain1.com with your domain
ifconfig_vtnet0="dhcp"
static_routes=linklocal
route_linklocal="-net 169.254.0.0/16 -interface vtnet0"

#--------- SERVICES BSD LOCAL ----------------------------------------#
sshd_enable="YES"
ntpd_enable="YES"

#pf_enable="YES"
#pf_rules="/etc/firewall"
#pf_flags=""
#pflog_enable="YES"              
#pflog_logfile="/var/log/pflog"  
#pflog_flags=""    

sendmail_enable="NONE"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

Breyta /etc/hostsskrá:

# ee /etc/hosts

Bættu við IP tölu þinni og hýsingarheiti:

::1                     localhost localhost.ceph ceph
127.0.0.1               localhost localhost.ceph ceph
108.61.178.110          ceph.domain1.com       ceph

Stilla tímabelti:

# bsdconfig

Þegar þú getur, slökktu á fjaraðgangi fyrir rótarnotandann. Flestar árásir á SSH munu reyna að fá aðgang í gegnum rót notendareikninginn. Tengstu alltaf við notendanafnið þitt og síðan suvið rót. Aðeins notendur úr wheelhópnum geta surótað. Þess vegna bættum við notandanum okkar í hjólahópinn.

Slökktu á rótarinnskráningu:

# ee /etc/ssh/sshd_config

Hættu við þessa línu:

PermitRootLogin no

Endurræsa:

# reboot

Eftir að endurræsingu lýkur muntu sjá skilaboð eins og þessi í Vultr stjórnborðinu:

time correction of 3600 seconds exceeds sanity limit (1000); set clock manually to
correct UTC time.

Þess vegna þurfum við að leiðrétta klukkuna handvirkt. Fylgdu þessum skipunum, fyrst sutil að róta:

$ su
Password:
# ntpdate 0.europe.pool.ntp.org

Nú ætlum við að stilla eldvegginn. OpenBSD PF er innifalinn í FreeBSD kjarnanum, svo þú þarft ekki að setja upp neina pakka.

eeBúðu til skrá með ritstjóra /etc/firewall:

# ee /etc/firewall

Settu þetta inn: (skipta út hvaða IP tölu sem er fyrir þínar)

#######################################################################
me="vtnet0"                
table <bruteforcers> persist    
table <trusted> persist file "/etc/trusted"
icmp_types = "echoreq"          
junk_ports="{ 135,137,138,139,445,68,67,3222 }"
junk_ip="224.0.0.0/4"           

set loginterface vtnet0           
scrub on vtnet0 reassemble tcp no-df random-id

# ---- First rule obligatory "Pass all on loopback"
pass quick on lo0 all           

# ---- Block junk logs
block quick proto { tcp, udp } from any to $junk_ip 
block quick proto { tcp, udp } from any to any port $junk_ports

# ---- Second rule "Block all in and pass all out"
block in log all                
pass out all keep state         

############### FIREWALL ###############################################
# ---- Allow all traffic from my Home
pass quick proto {tcp, udp} from 1.2.3.4 to $me keep state

# ---- block SMTP out 
block quick proto tcp from $me to any port 25

# ---- Allow incoming Web traffic
pass quick proto tcp from any to $me port { 80, 443 } flags S/SA keep state

# ---- Allow my team member SSH access 
pass quick proto tcp from 1.2.3.5 to $me port ssh flags S/SA keep state

# ---- Block bruteforcers
block log quick from <bruteforcers>

# ---- Allow SSH from trusted sources, but block bruteforcers
pass quick proto tcp from <trusted> to $me port ssh \
flags S/SA keep state \
(max-src-conn 10, max-src-conn-rate 20/60, \
overload <bruteforcers> flush global)

# ---- Allow ICMP 
pass in inet proto icmp all icmp-type $icmp_types keep state
pass out inet proto icmp all icmp-type $icmp_types keep state

Búa til /etc/trustedskrá. Í þessari skrá munum við setja IP-tölur sem við „treystum“.

# ee /etc/trusted

Bættu við nokkrum IP-tölum:

# Hosting
1.2.0.0/16

# My friends
1.2.4.0/24

Nú nokkur skýring. Junk ports og rusl IPs eru bara nokkrar ports/IPs sem við viljum ekki sjá í logs. Við höfum gert þetta með þessari reglu:

# ---- Block junk logs
block quick proto { tcp, udp } from any to $junk_ip 
block quick proto { tcp, udp } from any to any port $junk_ports

Þetta eru bara vanskil og þú þarft ekki að hafa áhyggjur af því:

icmp_types = "echoreq"                                            
set loginterface vtnet0           
scrub on vtnet0 reassemble tcp no-df random-id
pass quick on lo0 all
block in log all                
pass out all keep state

Þessi regla lokar á útleið SMTP umferð frá netþjóninum þínum (sem er sjálfgefið á Vultr).

# ---- block SMTP out 
block quick proto tcp from $me to any port 25

Nema bruteforcersrestin er frekar blátt áfram.

# ---- Allow SSH from trusted sources, but block bruteforcers
pass quick proto tcp from <trusted> to $me port ssh \
flags S/SA keep state \
(max-src-conn 10, max-src-conn-rate 20/60, \
overload <bruteforcers> flush global)

Bruteforcers segir bara: Leyfðu frá <traustum> IP-tölvum yfir í port 22 en aðeins er hægt að gera 10 samhliða tengingar frá einum uppruna-IP. Ef það er meira en 10, lokaðu þessari IP og settu það í table bruteforcers. Sama gildir um 20/60 regluna. Það þýðir að hámarki 20 tengingar á 60 sekúndum.

Virkja eldvegg:

# ee /etc/rc.conf

Taktu athugasemdir við þessar línur:

pf_enable="YES"
pf_rules="/etc/firewall"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""

Endurræsa:

# reboot 

Ef þú hefur gert allt rétt, þá muntu geta skráð þig inn og eldveggurinn verður virkur. Þú þarft ekki að endurræsa í hvert skipti sem þú breytir /etc/firewallskránni. Gerðu bara:

# /etc/rc.d/pf reload

Sjáðu hver er að reyna að tengjast netþjóninum þínum í rauntíma:

# tcpdump -n -e -ttt -i pflog0

Sýna sögu:

# tcpdump -n -e -ttt -r /var/log/pflog

Athugaðu hvort þú sért með einhvern í bruteforcers töflunni:

# pfctl -t bruteforcers -T show

Og þannig er það. Þú hefur innleitt PF eldvegg á FreeBSD netþjóni með góðum árangri!

Tags: #BSD

Hvernig á að setja upp Tiny Tiny RSS Reader á FreeBSD 11 FAMP VPS

Hvernig á að setja upp Tiny Tiny RSS Reader á FreeBSD 11 FAMP VPS

Að nota annað kerfi? Tiny Tiny RSS Reader er ókeypis og opinn uppspretta sjálf-hýstinn fréttastraumur (RSS/Atom) lesandi og safnari, hannaður til að dreifa

Hvernig á að setja upp Wiki.js á FreeBSD 11

Hvernig á að setja upp Wiki.js á FreeBSD 11

Að nota annað kerfi? Wiki.js er ókeypis og opinn uppspretta, nútímalegt wikiforrit byggt á Node.js, MongoDB, Git og Markdown. Wiki.js frumkóði er publicl

Hvernig á að setja upp Pagekit 1.0 CMS á FreeBSD 11 FAMP VPS

Hvernig á að setja upp Pagekit 1.0 CMS á FreeBSD 11 FAMP VPS

Að nota annað kerfi? Pagekit 1.0 CMS er fallegt, mát, útvíkkanlegt og létt, ókeypis og opið efnisstjórnunarkerfi (CMS) með

Hvernig á að setja upp MODX Revolution á FreeBSD 11 FAMP VPS

Hvernig á að setja upp MODX Revolution á FreeBSD 11 FAMP VPS

Að nota annað kerfi? MODX Revolution er hraðvirkt, sveigjanlegt, stigstærð, opinn uppspretta, vefumsjónarkerfi (CMS) í fyrirtækisgráðu skrifað í PHP. Það i

Setja upp OpenBSD 5.5 64-bita

Setja upp OpenBSD 5.5 64-bita

Þessi grein leiðir þig í gegnum uppsetningu OpenBSD 5.5 (64-bita) á KVM með Vultr VPS. Skref 1. Skráðu þig inn á Vultr stjórnborðið. Skref 2. Smelltu á DEPLOY

Hvernig á að setja upp osTicket á FreeBSD 12

Hvernig á að setja upp osTicket á FreeBSD 12

Að nota annað kerfi? osTicket er opinn uppspretta miðasölukerfi fyrir þjónustuver. osTicket frumkóði er hýst opinberlega á Github. Í þessari kennslu

Hvernig á að setja upp Flarum Forum á FreeBSD 12

Hvernig á að setja upp Flarum Forum á FreeBSD 12

Að nota annað kerfi? Flarum er ókeypis og opinn uppspretta næstu kynslóðar spjallforrit sem gerir umræður á netinu skemmtilegar. Flarum frumkóði er hýst o

Hvernig á að virkja TLS 1.3 í Nginx á FreeBSD 12

Hvernig á að virkja TLS 1.3 í Nginx á FreeBSD 12

Að nota annað kerfi? TLS 1.3 er útgáfa af Transport Layer Security (TLS) samskiptareglunum sem var gefin út árið 2018 sem fyrirhugaður staðall í RFC 8446

Settu upp WordPress á OpenBSD 6.2

Settu upp WordPress á OpenBSD 6.2

Inngangur WordPress er ríkjandi vefumsjónarkerfi á netinu. Það knýr allt frá bloggum til flókinna vefsíðna með kraftmiklu efni

How to Install Subrion 4.1 CMS on a FreeBSD 11 FAMP VPS

How to Install Subrion 4.1 CMS on a FreeBSD 11 FAMP VPS

Using a Different System? Subrion 4.1 CMS is a powerful and flexible open source Content Management System (CMS) that brings an intuitive and clear conten

Hvernig á að stilla DJBDNS á FreeBSD

Hvernig á að stilla DJBDNS á FreeBSD

Þessi kennsla mun sýna þér hvernig á að stilla DNS þjónustu sem er auðvelt að viðhalda, auðvelt að stilla og sem er almennt öruggara en klassískt BIN

Hvernig á að setja upp Nginx, MySQL og PHP (FEMP) stafla á FreeBSD 12.0

Hvernig á að setja upp Nginx, MySQL og PHP (FEMP) stafla á FreeBSD 12.0

FEMP stafla, sem er sambærilegur við LEMP stafla á Linux, er safn af opnum hugbúnaði sem er venjulega settur upp saman til að virkja FreeBS

Að setja upp MongoDB á FreeBSD 10

Að setja upp MongoDB á FreeBSD 10

MongoDB er heimsklassa NoSQL gagnagrunnur sem er oft notaður í nýrri vefforritum. Það býður upp á afkastamikil fyrirspurnir, klippingu og afritun

Hvernig á að setja upp Monica á FreeBSD 12

Hvernig á að setja upp Monica á FreeBSD 12

Að nota annað kerfi? Monica er opinn uppspretta persónuleg tengslastjórnunarkerfi. Hugsaðu um það sem CRM (vinsælt tól notað af söluteymum í þ

OpenBSD sem rafræn viðskiptalausn með PrestaShop og Apache

OpenBSD sem rafræn viðskiptalausn með PrestaShop og Apache

Inngangur Þessi kennsla sýnir OpenBSD sem rafræn viðskipti með PrestaShop og Apache. Apache er krafist vegna þess að PrestaShop er með flókna UR

Að setja upp Fork CMS á FreeBSD 12

Að setja upp Fork CMS á FreeBSD 12

Að nota annað kerfi? Fork er opinn uppspretta CMS skrifað í PHP. Forks frumkóði er hýstur á GitHub. Þessi handbók mun sýna þér hvernig á að setja upp Fork CM

How to Install Directus 6.4 CMS on a FreeBSD 11 FAMP VPS

How to Install Directus 6.4 CMS on a FreeBSD 11 FAMP VPS

Using a Different System? Directus 6.4 CMS is a powerful and flexible, free and open source Headless Content Management System (CMS) that provides developer

Auka öryggi fyrir FreeBSD með því að nota IPFW og SSHGuard

Auka öryggi fyrir FreeBSD með því að nota IPFW og SSHGuard

VPS netþjónar eru oft skotmörk boðflenna. Algeng tegund árása birtist í kerfisskrám sem hundruð óheimilra ssh innskráningartilrauna. Setja upp

Uppsetning httpd í OpenBSD

Uppsetning httpd í OpenBSD

Inngangur OpenBSD 5.6 kynnti nýjan púka sem heitir httpd, sem styður CGI (í gegnum FastCGI) og TLS. Engin frekari vinna þarf til að setja upp nýja http

Settu upp iRedMail á FreeBSD 10

Settu upp iRedMail á FreeBSD 10

Þessi kennsla mun sýna þér hvernig á að setja upp hópbúnaðinn iRedMail á nýrri uppsetningu á FreeBSD 10. Þú ættir að nota netþjón með að minnsta kosti einu gígabæta o

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira