Как да инсталирате Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS
Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да
Този урок ще ви покаже как да защитите вашия FreeBSD сървър с OpenBSD PF защитна стена. Ще приемем, че имате чиста FreeBSD инсталация, разгърната от Vultr, без добавени потребители. Ще направим някои други неща освен конфигурацията на защитната стена, което също ще засили сигурността на нашия FreeBSD сървър. Преди конфигурацията на защитната стена ще инсталираме някои пакети, тъй като инсталацията на FreeBSD по подразбиране идва с минимален набор от инструменти и пакети (което е правилно), за да ни улесни работата.
Обвивката по подразбиране във FreeBSD е /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...
...
GNULS е ls
програмата от Linux. Просто искаме да имаме същата ls
команда в Linux и FreeBSD.
Добавете нормален потребител към системата: (заменете john с вашето потребителско име и не забравяйте да добавите потребител към групата на колелата)
# 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!
Създайте zsh конфигурационен файл:
# ee /home/your-username/.zshrc
Копирайте това във вашия .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
Изпълнете тази команда: (заменете john с вашето потребителско име)
chown john:john /home/john/.zshrc
Сега влезте в сървъра на FreeBSD с вашето потребителско име и променете паролата за root по подразбиране:
<vultr>[~]$ su
Password:
<vultr>[~]# passwd
Changing local password for root
New Password:
Retype New Password:
<vultr>[~]#
Нямаме нужда от sendmail. Спрете и деактивирайте тази услуга:
<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.
След това ще променим нашия rc.conf файл, за да изглежда по-естествено:
# 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
Добавете вашия IP адрес и име на хост:
::1 localhost localhost.ceph ceph
127.0.0.1 localhost localhost.ceph ceph
108.61.178.110 ceph.domain1.com ceph
Задаване на часова зона:
# bsdconfig
Винаги, когато можете, деактивирайте отдалечения достъп за root потребителя. Повечето атаки срещу SSH ще се опитат да осъществят достъп през root потребителския акаунт. Винаги се свързвайте с вашето потребителско име и след това su
с root. Само потребители от wheel
групата могат su
да руутват. Ето защо добавихме нашия потребител към групата на колелата.
Деактивирайте влизането в root:
# ee /etc/ssh/sshd_config
Декоментирайте този ред:
PermitRootLogin no
Рестартиране:
# reboot
След като рестартирането приключи, ще видите съобщение като това в конзолата Vultr:
time correction of 3600 seconds exceeds sanity limit (1000); set clock manually to
correct UTC time.
Ето защо трябва да коригираме часовника ръчно. Следвайте тези команди, първо за su
да получите root:
$ su
Password:
# ntpdate 0.europe.pool.ntp.org
Сега ще конфигурираме защитната стена. OpenBSD PF е включен в ядрото на FreeBSD, така че не е нужно да инсталирате никакви пакети.
С ee
редактор създайте файл /etc/firewall
:
# ee /etc/firewall
Вмъкнете това: (заменете всички IP адреси с вашите)
#######################################################################
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
файл. В този файл ще поставим IP адреси, на които „доверяваме“.
# ee /etc/trusted
Добавете някои IP адреси:
# Hosting
1.2.0.0/16
# My friends
1.2.4.0/24
Сега малко обяснение. Нежеланите портове и нежелани IP адреси са само някои портове/IP адреси, които не искаме да виждаме в регистрационните файлове. Направихме това с това правило:
# ---- 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
Това правило блокира изходящия SMTP трафик от вашия сървър (което е по подразбиране на Vultr).
# ---- 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)
Bruteforcers просто казва: Разрешете от <доверени> IP адреси към порт 22, но само 10 едновременни връзки могат да бъдат направени от един IP източник. Ако е повече от 10, блокирайте този IP и го поставете в таблицата bruteforcer. Същото важи и за правилото 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
Вижте дали имате някой в масата на bruteforcer:
# pfctl -t bruteforcers -T show
И това е. Вие успешно внедрихте PF защитна стена на FreeBSD сървър!
Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да
Използване на различна система? Wiki.js е безплатно и модерно уики приложение с отворен код, изградено на Node.js, MongoDB, Git и Markdown. Изходният код на Wiki.js е публичен
Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с
Използване на различна система? MODX Revolution е бърза, гъвкава, мащабируема система за управление на съдържанието (CMS) от корпоративен клас, написана на PHP. То и
Тази статия ви превежда през настройката на OpenBSD 5.5 (64-битов) на KVM с Vultr VPS. Стъпка 1. Влезте в контролния панел на Vultr. Стъпка 2. Щракнете върху РАЗГРАЖДАНЕ
Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок
Използване на различна система? Flarum е безплатен софтуер за форуми от следващо поколение с отворен код, който прави онлайн дискусията забавна. Изходният код на Flarum се хоства o
Използване на различна система? TLS 1.3 е версия на протокола за сигурност на транспортния слой (TLS), който беше публикуван през 2018 г. като предложен стандарт в RFC 8446
Въведение WordPress е доминиращата система за управление на съдържанието в интернет. Той захранва всичко от блогове до сложни уебсайтове с динамично съдържание
Използване на различна система? Subrion 4.1 CMS е мощна и гъвкава система за управление на съдържанието (CMS) с отворен код, която носи интуитивно и ясно съдържание
Този урок ще ви покаже как да конфигурирате DNS услуга, която е лесна за поддръжка, лесна за конфигуриране и която като цяло е по-сигурна от класическия BIN
FEMP стек, който е сравним с LEMP стек в Linux, е колекция от софтуер с отворен код, който обикновено се инсталира заедно, за да даде възможност на FreeBS
MongoDB е NoSQL база данни от световна класа, която често се използва в по-новите уеб приложения. Той осигурява заявки с висока производителност, разделяне и репликация
Използване на различна система? Monica е система за управление на лични взаимоотношения с отворен код. Мислете за него като за CRM (популярен инструмент, използван от търговските екипи в th
Въведение Този урок демонстрира OpenBSD като решение за електронна търговия, използващо PrestaShop и Apache. Apache е необходим, тъй като PrestaShop има сложен UR
Използване на различна система? Fork е CMS с отворен код, написан на PHP. Изходният код на Forks се хоства на GitHub. Това ръководство ще ви покаже как да инсталирате Fork CM
Използване на различна система? Directus 6.4 CMS е мощна и гъвкава, безплатна и с отворен код Headless Content Management System (CMS), която предоставя на разработчиците
VPS сървърите често са насочени от натрапници. Често срещан тип атака се появява в системните регистрационни файлове като стотици неоторизирани опити за влизане в ssh. Настройвам
Въведение OpenBSD 5.6 въведе нов демон, наречен httpd, който поддържа CGI (чрез FastCGI) и TLS. Не е необходима допълнителна работа за инсталиране на новия http
Този урок ще ви покаже как да инсталирате груповия софтуер iRedMail на нова инсталация на FreeBSD 10. Трябва да използвате сървър с поне един гигабайт o
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече