Jak zainstalować TextPattern CMS 4.6.2 na FreeBSD 11 FAMP VPS
Używasz innego systemu? TextPattern CMS 4.6.2 to prosty, elastyczny, bezpłatny i otwarty system zarządzania treścią (CMS), który umożliwia projektantom stron internetowych
Ten samouczek pokaże, jak chronić serwer FreeBSD za pomocą zapory ogniowej OpenBSD PF. Zakładamy, że masz czystą instalację FreeBSD wdrożoną przez Vultr bez dodanych użytkowników. Oprócz konfiguracji zapory zrobimy też inne rzeczy, które zwiększą bezpieczeństwo naszego serwera FreeBSD. Przed konfiguracją firewalla zainstalujemy niektóre pakiety, ponieważ domyślna instalacja FreeBSD zawiera minimalny zestaw narzędzi i pakietów (co jest poprawne), aby ułatwić nam pracę.
Domyślna powłoka w FreeBSD to /bin/sh
. Jest to podstawowa powłoka bez funkcji autouzupełniania. Użyjemy czegoś lepszego. Zainstalujemy zsh
.
Najpierw zainstaluj te pakiety:
# 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 to ls
program z Linuksa. Chcemy tylko mieć to samo ls
polecenie w Linuksie i FreeBSD.
Dodaj normalnego użytkownika do systemu: (zamień John na swoją nazwę użytkownika i nie zapomnij dodać użytkownika do grupy kół)
# 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!
Utwórz plik konfiguracyjny zsh:
# ee /home/your-username/.zshrc
Skopiuj to do pliku .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
Uruchom to polecenie: (zamień John na swoją nazwę użytkownika)
chown john:john /home/john/.zshrc
Teraz zaloguj się do serwera FreeBSD przy użyciu swojej nazwy użytkownika i zmień domyślne hasło roota:
<vultr>[~]$ su
Password:
<vultr>[~]# passwd
Changing local password for root
New Password:
Retype New Password:
<vultr>[~]#
Nie potrzebujemy sendmaila. Zatrzymaj i wyłącz tę usługę:
<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.
Następnie zmienimy nasz plik rc.conf, aby wyglądał bardziej naturalnie:
# ee /etc/rc.conf
Zmień go, aby wyglądał następująco:
#----------- 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"
Edytuj /etc/hosts
plik:
# ee /etc/hosts
Dodaj swój adres IP i nazwę hosta:
::1 localhost localhost.ceph ceph
127.0.0.1 localhost localhost.ceph ceph
108.61.178.110 ceph.domain1.com ceph
Ustaw strefę czasową:
# bsdconfig
Gdy tylko możesz, wyłącz dostęp zdalny dla użytkownika root. Większość ataków na SSH próbuje uzyskać dostęp za pośrednictwem konta użytkownika root. Zawsze łącz się ze swoją nazwą użytkownika, a następnie su
zrootuj. Tylko użytkownicy z wheel
grupy mogą su
rootować. Dlatego dodaliśmy naszego użytkownika do grupy kół.
Wyłącz logowanie roota:
# ee /etc/ssh/sshd_config
Odkomentuj tę linię:
PermitRootLogin no
Restart:
# reboot
Po zakończeniu ponownego uruchomienia w konsoli Vultr zobaczysz taki komunikat:
time correction of 3600 seconds exceeds sanity limit (1000); set clock manually to
correct UTC time.
Dlatego musimy ręcznie skorygować zegar. Wykonaj następujące polecenia, su
aby najpierw zrootować:
$ su
Password:
# ntpdate 0.europe.pool.ntp.org
Teraz skonfigurujemy zaporę ogniową. OpenBSD PF jest zawarty w jądrze FreeBSD, więc nie musisz instalować żadnych pakietów.
Za pomocą ee
edytora utwórz plik /etc/firewall
:
# ee /etc/firewall
Wstaw to: (zamień adresy IP na swoje)
#######################################################################
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
Utwórz /etc/trusted
plik. W tym pliku umieścimy adresy IP, którym „ufamy”.
# ee /etc/trusted
Dodaj kilka adresów IP:
# Hosting
1.2.0.0/16
# My friends
1.2.4.0/24
Teraz jakieś wyjaśnienie. Niepotrzebne porty i niepotrzebne adresy IP to tylko niektóre porty / adresy IP, których nie chcemy widzieć w logach. Zrobiliśmy to z tą regułą:
# ---- 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
Są to tylko wartości domyślne i nie musisz się o to martwić:
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
Ta reguła blokuje wychodzący ruch SMTP z twojego serwera (który jest domyślny w Vultr).
# ---- block SMTP out
block quick proto tcp from $me to any port 25
Tyle bruteforcers
że reszta jest dość prosta.
# ---- 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 mówi po prostu: Zezwól z <zaufanych> adresów IP na port 22, ale tylko 10 jednoczesnych połączeń może być nawiązanych z jednego źródłowego adresu IP. Jeśli jest więcej niż 10, zablokuj ten adres IP i umieść go w tabeli bruteforcers. To samo dotyczy reguły 20/60. Oznacza to maksymalnie 20 połączeń w 60 sekund.
Włącz Firewall:
# ee /etc/rc.conf
Odkomentuj te linie:
pf_enable="YES"
pf_rules="/etc/firewall"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""
Restart:
# reboot
Jeśli zrobiłeś wszystko dobrze, będziesz mógł się zalogować i zapora zostanie włączona. Nie musisz restartować się przy każdej zmianie /etc/firewall
pliku. Po prostu zrób:
# /etc/rc.d/pf reload
Zobacz, kto próbuje połączyć się z Twoim serwerem w czasie rzeczywistym:
# tcpdump -n -e -ttt -i pflog0
Pokaż historię:
# tcpdump -n -e -ttt -r /var/log/pflog
Sprawdź, czy masz kogoś w tabeli bruteforcers:
# pfctl -t bruteforcers -T show
I to wszystko. Udało Ci się zaimplementować zaporę PF na serwerze FreeBSD!
Używasz innego systemu? TextPattern CMS 4.6.2 to prosty, elastyczny, bezpłatny i otwarty system zarządzania treścią (CMS), który umożliwia projektantom stron internetowych
Używasz innego systemu? NodeBB to oprogramowanie forum oparte na Node.js. Wykorzystuje gniazda sieciowe do natychmiastowych interakcji i powiadomień w czasie rzeczywistym. NodeB
Jeśli korzystasz z własnego programu tłumaczącego lub chcesz użyć jednego z zewnętrznych dostawców usług, może się okazać, że plik /etc/resolv.conf jest zastępowany przez DHCP
Używasz innego systemu? X-Cart to niezwykle elastyczna platforma eCommerce typu open source z mnóstwem funkcji i integracji. Kod źródłowy X-Cart jest hostem
Wprowadzenie WordPress to dominujący system zarządzania treścią w Internecie. Obsługuje wszystko, od blogów po złożone witryny z dynamiczną treścią
Wprowadzenie W tym samouczku pokazano OpenBSD jako rozwiązanie e-commerce wykorzystujące PrestaShop i Apache. Wymagany jest Apache, ponieważ PrestaShop ma złożony UR
Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który
Używasz innego systemu? Tiny Tiny RSS Reader to darmowy i oparty na otwartych źródłach, internetowy host czytnika i agregatora kanałów informacyjnych (RSS / Atom), przeznaczony do przydzielania
Używasz innego systemu? WonderCMS jest otwartym, szybkim i małym, płaskim plikiem CMS napisanym w PHP. Kod źródłowy WonderCMS jest hostowany na Github. Ten przewodnik wil
Używasz innego systemu? TLS 1.3 to wersja protokołu Transport Layer Security (TLS), która została opublikowana w 2018 roku jako proponowany standard w RFC 8446
Używasz innego systemu? Dolibarr to oprogramowanie do planowania zasobów przedsiębiorstwa (ERP) i zarządzania relacjami z klientami (CRM) dla firm. Dolibarr
Używasz innego systemu? Paste 2.1 to prosta i elastyczna, darmowa i otwarta aplikacja pastebin do przechowywania kodu, tekstu i innych. To było początkowo
Używasz innego systemu? BigTree CMS 4.2 to szybki i lekki, bezpłatny i otwarty system zarządzania treścią dla przedsiębiorstw (CMS) z rozbudowanym
Po wyjęciu z pudełka serwery Vultr FreeBSD nie są skonfigurowane tak, aby zawierały przestrzeń wymiany. Jeśli twoja intencja dotyczy jednorazowego wystąpienia chmury, prawdopodobnie nie jest to konieczne
W tym artykule pokażę, jak zainstalować MariaDB na OpenBSD 6 i skonfigurować, aby był dostępny dla chrootowanego serwera WWW (Apache lub Nginx). Będziesz także
Wprowadzenie Stos FAMP, który jest porównywalny ze stosem LAMP w systemie Linux, to zbiór oprogramowania typu open source, które zazwyczaj instaluje się razem
Używasz innego systemu? DokuWiki to program wiki typu open source napisany w PHP, który nie wymaga bazy danych. Przechowuje dane w plikach tekstowych. DokuWik
Ghost to najnowszy i najlepszy start w rywalizacji z WordPress. Tworzenie motywów jest szybkie i łatwe do nauczenia się, ponieważ twórcy Ghost zdecydowali się użyć obu
Używasz innego systemu? Lychee 3.1 Photo Album to proste i elastyczne, bezpłatne i otwarte narzędzie do zarządzania zdjęciami, które działa na serwerze VPS. Instaluje się
Podczas aktualizacji instancji VPS na Vultr system plików Linux jest automatycznie zmieniany. Podczas uruchamiania FreeBSD z zaawansowanym systemem plików ZFS, niektóre ręczne
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.