Како да обезбедите ФрееБСД са ПФ заштитним зидом

Како да обезбедите ФрееБСД са ПФ заштитним зидом

Овај водич ће вам показати како да заштитите свој ФрееБСД сервер користећи ОпенБСД ПФ заштитни зид. Претпоставићемо да имате чисту ФрееБСД инсталацију коју је поставио Вултр без додатих корисника. Урадићемо још неке ствари осим конфигурације заштитног зида које ће такође ојачати безбедност нашег ФрееБСД сервера. Пре конфигурисања заштитног зида, ми ћемо инсталирати неке пакете пошто подразумевана инсталација ФрееБСД-а долази са минималним скупом алата и пакета (што је тачно), да би нам олакшали рад.

Подразумевана шкољка у ФрееБСД-у је /bin/sh. Ово је основна шкољка без функција аутоматског довршавања. Користићемо нешто боље. Ми ћемо инсталирати zsh.

Прво инсталирајте ове пакете:

# 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...
...

ГНУЛС је lsпрограм из Линук-а. Само желимо да имамо исту lsкоманду у Линуку и ФрееБСД-у.

Додајте нормалног корисника у систем: (замените јохн својим корисничким именом и не заборавите да додате корисника у групу точкова)

# 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!

Креирајте зсх конфигурациону датотеку:

# ee /home/your-username/.zshrc

Копирајте ово у своју .зсхрц датотеку:

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

Покрените ову команду: (замените јохн својим корисничким именом)

chown john:john /home/john/.zshrc

Сада се пријавите на ФрееБСД сервер са својим корисничким именом и промените подразумевану роот лозинку:

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

Не треба нам сендмаил. Зауставите и онемогућите ову услугу:

<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.

Затим ћемо променити нашу рц.цонф датотеку да изгледа природније:

# ee /etc/rc.conf

Промените да изгледа овако:

#----------- 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"

Уреди /etc/hostsдатотеку:

# ee /etc/hosts

Додајте своју ИП адресу и име хоста:

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

Подесите временску зону:

# bsdconfig

Кад год можете, онемогућите даљински приступ за роот корисника. Већина напада на ССХ ће покушати да приступи преко роот корисничког налога. Увек се повежите са својим корисничким именом, а затим suса роот-ом. Само корисници из wheelгрупе могу suда рутирају. Због тога смо додали нашег корисника у групу точкова.

Онемогући роот пријаву:

# ee /etc/ssh/sshd_config

Одкоментирај овај ред:

PermitRootLogin no

Рестарт:

# reboot

Након што се рестартовање заврши, видећете поруку попут ове на Вултр конзоли:

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

Зато морамо ручно да коригујемо сат. Следите ове команде, прво suза роот:

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

Сада ћемо конфигурисати заштитни зид. ОпенБСД ПФ је укључен у ФрееБСД кернел, тако да не морате да инсталирате никакве пакете.

Помоћу eeедитора креирајте датотеку /etc/firewall:

# ee /etc/firewall

Унесите ово: (замените све ИП адресе својом)

#######################################################################
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

Креирајте /etc/trustedдатотеку. У овај фајл ћемо ставити ИП адресе којима „верујемо“.

# ee /etc/trusted

Додајте неке ИП адресе:

# Hosting
1.2.0.0/16

# My friends
1.2.4.0/24

Сада мало објашњења. Нежељени портови и нежељени ИП-ови су само неки портови/ИП-ови које не желимо да видимо у евиденцији. Ово смо урадили са овим правилом:

# ---- 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

Ово су само подразумеване вредности и не морате да бринете о томе:

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

Ово правило блокира одлазни СМТП саобраћај са вашег сервера (што је подразумевано на Вултр-у).

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

Осим што 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)

Брутефорцерс само каже: Дозволи са <поузданих> ИП-ова на порт 22, али само 10 истовремених веза може бити направљено са једне изворне ИП адресе. Ако је више од 10, блокирајте ову ИП адресу и ставите је у табеле брутефорцера. Исто важи и за правило 20/60. То значи максимално 20 веза за 60 секунди.

Омогући заштитни зид:

# ee /etc/rc.conf

Одкоментирај ове редове:

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

Рестарт:

# reboot 

Ако сте све урадили како треба, онда ћете моћи да се пријавите и заштитни зид ће бити омогућен. Не морате да рестартујете сваки пут када промените /etc/firewallдатотеку. Само уради:

# /etc/rc.d/pf reload

Погледајте ко покушава да се повеже са вашим сервером у реалном времену:

# tcpdump -n -e -ttt -i pflog0

Прикажи историју:

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

Видите да ли имате некога у табели брутефорцера:

# pfctl -t bruteforcers -T show

И то је то. Успешно сте имплементирали ПФ заштитни зид на ФрееБСД серверу!

Tags: #БСД

Како инсталирати Тини Тини РСС Реадер на ФрееБСД 11 ФАМП ВПС

Како инсталирати Тини Тини РСС Реадер на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? Тини Тини РСС Реадер је бесплатан читач и агрегатор вести (РСС/Атом) са сопственим хостовањем отвореног кода, дизајниран за

Како инсталирати Вики.јс на ФрееБСД 11

Како инсталирати Вики.јс на ФрееБСД 11

Користите другачији систем? Вики.јс је бесплатна модерна вики апликација отвореног кода изграђена на Ноде.јс, МонгоДБ, Гит и Маркдовн. Вики.јс изворни код је јавни

Како инсталирати Пагекит 1.0 ЦМС на ФрееБСД 11 ФАМП ВПС

Како инсталирати Пагекит 1.0 ЦМС на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? Пагекит 1.0 ЦМС је прелеп, модуларан, проширив и лаган, бесплатан систем за управљање садржајем отвореног кода (ЦМС) са

Како инсталирати МОДКС Револутион на ФрееБСД 11 ФАМП ВПС

Како инсталирати МОДКС Револутион на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, опен соурце систем за управљање садржајем (ЦМС) за предузећа написан у ПХП-у. Ит и

Подешавање ОпенБСД 5.5 64-бит

Подешавање ОпенБСД 5.5 64-бит

Овај чланак вас води кроз подешавање ОпенБСД 5.5 (64-бит) на КВМ-у са Вултр ВПС-ом. Корак 1. Пријавите се на Вултр контролну таблу. Корак 2. Кликните на УПОТРЕБА

Како инсталирати осТицкет на ФрееБСД 12

Како инсталирати осТицкет на ФрееБСД 12

Користите другачији систем? осТицкет је систем за продају карата за корисничку подршку отвореног кода. ОсТицкет изворни код је јавно хостован на Гитхубу. У овом туторијалу

Како инсталирати Фларум Форум на ФрееБСД 12

Како инсталирати Фларум Форум на ФрееБСД 12

Користите другачији систем? Фларум је бесплатан форумски софтвер нове генерације отвореног кода који чини дискусију на мрежи забавном. Фларум изворни код је хостован о

Како омогућити ТЛС 1.3 у Нгинк-у на ФрееБСД 12

Како омогућити ТЛС 1.3 у Нгинк-у на ФрееБСД 12

Користите другачији систем? ТЛС 1.3 је верзија протокола Транспорт Лаиер Сецурити (ТЛС) који је објављен 2018. године као предложени стандард у РФЦ 8446

Инсталирајте ВордПресс на ОпенБСД 6.2

Инсталирајте ВордПресс на ОпенБСД 6.2

Увод ВордПресс је доминантан систем за управљање садржајем на интернету. Покреће све, од блогова до сложених веб локација са динамичким садржајем

Како инсталирати Субрион 4.1 ЦМС на ФрееБСД 11 ФАМП ВПС

Како инсталирати Субрион 4.1 ЦМС на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? Субрион 4.1 ЦМС је моћан и флексибилан систем за управљање садржајем отвореног кода (ЦМС) који доноси интуитиван и јасан садржај

Како конфигурисати ДЈБДНС на ФрееБСД-у

Како конфигурисати ДЈБДНС на ФрееБСД-у

Овај водич ће вам показати како да конфигуришете ДНС услугу која је лака за одржавање, лака за конфигурисање и која је генерално безбеднија од класичног БИН-а

Како инсталирати Нгинк, МиСКЛ и ПХП (ФЕМП) стек на ФрееБСД 12.0

Како инсталирати Нгинк, МиСКЛ и ПХП (ФЕМП) стек на ФрееБСД 12.0

ФЕМП стек, који је упоредив са ЛЕМП стеком на Линук-у, је колекција софтвера отвореног кода који се обично инсталира заједно да би омогућио ФрееБС

Инсталирање МонгоДБ-а на ФрееБСД 10

Инсталирање МонгоДБ-а на ФрееБСД 10

МонгоДБ је НоСКЛ база података светске класе која се често користи у новијим веб апликацијама. Пружа упите високих перформанси, дељење и репликацију

Како инсталирати Моницу на ФрееБСД 12

Како инсталирати Моницу на ФрееБСД 12

Користите другачији систем? Моника је систем управљања личним односима отвореног кода. Замислите то као ЦРМ (популарни алат који користе продајни тимови у тх

ОпенБСД као решење за е-трговину са ПрестаСхоп-ом и Апацхе-ом

ОпенБСД као решење за е-трговину са ПрестаСхоп-ом и Апацхе-ом

Увод Овај водич демонстрира ОпенБСД као решење за е-трговину користећи ПрестаСхоп и Апацхе. Апацхе је неопходан јер ПрестаСхоп има сложен УР

Инсталирање Форк ЦМС-а на ФрееБСД 12

Инсталирање Форк ЦМС-а на ФрееБСД 12

Користите другачији систем? Форк је ЦМС отвореног кода написан у ПХП-у. Изворни код Форкс се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате Форк ЦМ

Како инсталирати Дирецтус 6.4 ЦМС на ФрееБСД 11 ФАМП ВПС

Како инсталирати Дирецтус 6.4 ЦМС на ФрееБСД 11 ФАМП ВПС

Користите другачији систем? Дирецтус 6.4 ЦМС је моћан и флексибилан, бесплатан и отвореног кода Хеадлесс Цонтент Манагемент Систем (ЦМС) који пружа програмеру

Побољшање безбедности за ФрееБСД коришћењем ИПФВ и ССХГуард

Побољшање безбедности за ФрееБСД коришћењем ИПФВ и ССХГуард

ВПС сервери су често на мети уљеза. Уобичајени тип напада се појављује у системским евиденцијама као стотине неовлашћених покушаја пријављивања на ссх. Подешавати

Поставите хттпд у ОпенБСД

Поставите хттпд у ОпенБСД

Увод ОпенБСД 5.6 је представио нови демон под називом хттпд, који подржава ЦГИ (преко ФастЦГИ) и ТЛС. Није потребан додатни рад да бисте инсталирали нови хттп

Подесите иРедМаил на ФрееБСД 10

Подесите иРедМаил на ФрееБСД 10

Овај водич ће вам показати како да инсталирате групни софтвер иРедМаил на нову инсталацију ФрееБСД 10. Требало би да користите сервер са најмање једним гигабајтом о

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више