Jak zainstalować platformę koszyków LiteCart na Ubuntu 16.04
LiteCart to darmowa i otwarta platforma koszyka na zakupy napisana w PHP, jQuery i HTML 5. Jest to prosty, lekki i łatwy w użyciu program do handlu elektronicznego
iptables
jest potężnym narzędziem używanym do konfigurowania zintegrowanej zapory jądra Linux. Jest on fabrycznie zainstalowany w większości dystrybucji Ubuntu, jednak jeśli używasz dostosowanej wersji Ubuntu lub działasz w kontenerze, najprawdopodobniej będziesz musiał zainstalować ją ręcznie.
sudo apt-get install iptables iptables-persistent
Jeśli po instalacji pojawi się pytanie, czy zapisać bieżące reguły, w tej chwili nie ma to znaczenia, ponieważ zamierzasz usunąć lub utworzyć nowe reguły później.
Możesz użyć netcat
polecenia (na innym komputerze niż serwer), aby sprawdzić, który z portów jest otwarty, czy zamknięty.
nc -z -w5 -v SERVER_IP PORT
nc
to polecenie netcat.-z
po prostu wyślij pakiet bez ładunku.-w5
poczekaj do 5 sekund na odpowiedź.-v
tryb pełny.SERVER_IP
swój adres serwera.PORT
port, który chcesz przetestować, jeśli jest otwarty (np 22
.).Na serwerze możesz użyć netstat
polecenia, aby zobaczyć, które porty nasłuchują połączeń.
sudo netstat -tulpn
Uwaga: Chociaż netstat
przydatne jest znalezienie portów, z którymi chcesz pracować, powinieneś być świadomy aplikacji, które obecnie zainstalowałeś na serwerze i które porty nasłuchują, nie musisz zezwalać na każdy port, który znajdziesz na netstat
wyjściu .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUT
dodaj regułę do INPUT
łańcucha, łańcuch to grupa reguł, z których najczęściej korzystamy w tym przewodniku INPUT
, OUTPUT
i PREROUTING
.-p tcp
ustaw tcp
jako protokół, do którego będzie miała zastosowanie ta reguła, możesz także użyć innych protokołów, takich jak udp
, icmp
lub all
.-m tcp
użyj tcp
modułu. iptables
obsługuje dodatkowe funkcje za pośrednictwem modułów, z których niektóre są już fabrycznie zainstalowane, iptables
a inne, takie jak geoip
moduł.--dport 22
polecenia zaczynające się od --
wskazują dodatkowe opcje dla wcześniej używanego modułu, w tym przypadku powiemy tcp
modułowi, aby zastosował się tylko do portu 22
.-m geoip
użyj geoip
modułu. Ograniczy to pakiety dla poszczególnych krajów (więcej informacji w kroku 5).--src-cc PE
powiedz geoip
modułowi, aby ograniczył przychodzące pakiety do tych, które pochodzą z Peru. Aby wyszukać więcej kodów krajów ISO 3166 country codes
w Internecie.-j ACCEPT
-j
teza mówi iptables
, co zrobić, jeśli pakiet pasuje ograniczeń określonych w poprzednich argumentów. W tym przypadku będzie to ACCEPT
te pakiety, są inne opcje REJECT
, DROP
i wiele innych. Możesz znaleźć więcej opcji, wyszukując iptables jump targets
w Internecie.Wymień wszystkie reguły.
sudo iptables -L
Wymień wszystkie polecenia, które zostały użyte do utworzenia aktualnie używanych reguł, przydatne do edycji lub usuwania reguł.
sudo iptables -S
Aby usunąć określoną regułę, wybierz regułę sudo iptables -S
i zastąp -A
ją -D
.
# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Wyświetl wszystkie numerowane reguły w INPUT
łańcuchu.
sudo iptables -L INPUT --line-numbers
Usuń regułę numerowaną.
sudo iptables -D INPUT 2
Aby wyczyścić wszystkie zasady.
sudo iptables -F
Ostrzeżenie: możesz stracić połączenie, jeśli jest połączone przez SSH .
Wyczyść tylko reguły w OUTPUT
łańcuchu.
sudo iptables -F OUTPUT
Zezwalaj SSH
na eth0
interfejs
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0
zastosuj regułę do określonego interfejsu, aby zezwolić na dowolny interfejs, usuń to polecenie.Aby ograniczyć przychodzące pakiety do określonego adresu IP (tj 10.0.3.1/32
.).
sudo iptables -A INPUT -i eth0 -s 10.0.3.1/32 -p tcp -m tcp --dport 22 -j ACCEPT
-s 10.0.3.1/32
określa adres IP / podsieć, z której można nawiązywać połączenia.Ustaw domyślne reguły łańcucha.
Ostrzeżenie: przed kontynuowaniem upewnij się, że zastosowałeś poprawne reguły SSH, jeśli pracujesz na zdalnym serwerze .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP
odrzuca wszystkie przychodzące pakiety (tzn. nikt nie będzie mógł połączyć się z twoimi działającymi serwerami, takimi jak Apache, SQL itp.).-P FORWARD DROP
odrzuca wszystkie przekazane pakiety (tj. gdy używasz swojego systemu jako routera).-P OUTPUT ACCEPT
zezwala na wszystkie pakiety wychodzące (tj. podczas wykonywania HTTP
żądania).Zezwól na cały ruch na interfejsie sprzężenia zwrotnego ( zalecane ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Zapisz aktualne iptables
zasady.
sudo netfilter-persistent save
sudo netfilter-persistent reload
Jeśli działasz w kontenerze, netfilter-persistent
polecenie najprawdopodobniej nie zadziała, więc musisz ponownie skonfigurować iptables-persistent
pakiet.
sudo dpkg-reconfigure iptables-persistent
Zezwalaj na zapytania DNS.
sudo iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Użyj state
modułu, aby zezwolić na pakiety wychodzące RELATED
i je ESTABLISHED
wychodzić.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Zezwól na pożądane porty; w tym przypadku HTTP
porty.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Więcej portów, których możesz użyć.
FTP
: tcp na porcie 21HTTPS
: tcp na porcie 443DHCP
: udp w porcie 67NTP
: udp na porcie 123Uwaga: jeśli chcesz zezwolić, apt-get
konieczne może być zezwolenie FTP
iHTTPS
.
Zezwalaj na zwracany ruch tylko dla połączeń RELATED
już ESTABLISHED
nawiązanych ( zalecane, ponieważ czasami wymagana jest komunikacja dwukierunkowa).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Zezwalaj na żądania ping z zewnątrz.
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Przekaż ruch do eth0
portu 2200
do 10.0.3.21:22
(przydatne, jeśli chcesz udostępnić serwer SSH działający w kontenerze).
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
Jeśli pomyślnie zalogujesz się na serwerze za pomocą SSH, zostanie utworzone trwałe połączenie (tzn. Nie będzie żadnych nowych połączeń, nawet jeśli jesteś połączony przez ponad 1 godzinę). Jeśli się nie powiedzie i spróbujesz zalogować się ponownie, zostanie utworzone nowe połączenie. Spowoduje to zablokowanie ciągłych prób logowania SSH poprzez ograniczenie nowych połączeń na godzinę.
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 3600 --hitcount 4 -j DROP
Przekieruj wszystkie żądania z portu 443
do portu 4430
(przydatne, jeśli chcesz połączyć się z portem 443
bez root
).
sudo iptables -t nat -A PREROUTING -i ens3 -p tcp --dport 443 -j REDIRECT --to-port 4430
sudo iptables -A INPUT -p tcp -m tcp --dport 4430 -m geoip --src-cc PE -j ACCEPT
ens3
interfejs sieciowy.-m geoip
moduł blokowy kraju (patrz krok 5).Ostrzeżenie: nie używaj lo
, system operacyjny odrzuci wszystkie pakiety przekierowane do interfejsu pętli zwrotnej .
xtables-addons
Możesz zainstalować xtables-addons
moduł różnymi metodami, skorzystaj z metody instalacji, która najbardziej Ci odpowiada.
Zainstaluj za pomocą apt-get
.
sudo apt-get install xtables-addons-common
Zainstaluj za pomocą module-assistant
.
sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons
Zainstaluj ze źródła.
sudo apt-get install git bc libncurses5-dev libtext-csv-xs-perl autoconf automake libtool xutils-dev iptables-dev
git clone git://git.code.sf.net/p/xtables-addons/xtables-addons
cd xtables-addons
./autogen.sh
./configure
make
sudo make install
Zbuduj bazę danych „krajów”.
sudo apt-get install libtext-csv-xs-perl unzip
sudo mkdir /usr/share/xt_geoip
sudo /usr/lib/xtables-addons/xt_geoip_dl
sudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
sudo rm GeoIPCountryCSV.zip GeoIPCountryWhois.csv GeoIPv6.csv
Uruchom ponownie system.
sudo reboot
Po xtables-addons
pomyślnym zainstalowaniu, po pierwszym ponownym uruchomieniu, uruchom, w depmod
przeciwnym razie blokowanie kraju nie będzie działać poprawnie (jest to wymagane tylko po raz pierwszy).
sudo depmod
Utwórz skrypt w, /etc/cron.monthly/geoip-updater
aby co geoip
miesiąc aktualizować bazę danych.
#!/usr/bin/env bash
# this script is intended to run with sudo privileges
echo 'Removing old database---------------------------------------------------'
rm -rf /usr/share/xt_geoip/*
mkdir -p /usr/share/xt_geoip
echo 'Downloading country databases-------------------------------------------'
mkdir /tmp/geoip-updater
cd /tmp/geoip-updater
/usr/lib/xtables-addons/xt_geoip_dl
echo 'Building geoip database-------------------------------------------------'
/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
echo 'Removing temporary files------------------------------------------------'
cd /tmp
rm -rf /tmp/geoip-updater
Uczyń /etc/cron.monthly/geoip-updater
plik wykonywalny.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Uwaga: Jeśli pojawia się iptables: No chain/target/match by that name
błąd podczas próby zastosowania geoip
reguły, możliwe, że xtables-addons
nie została poprawnie zainstalowana. Wypróbuj inną metodę instalacji.
Blokuj wszystkie przychodzące pakiety z Chin, Hongkongu, Rosji i Korei.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
Zezwól na przychodzące pakiety do portu 80
z dowolnego miejsca z wyjątkiem powyższych krajów.
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Zezwalaj na przychodzące pakiety w ens3
interfejsie na porcie 22
tylko z Peru (możesz wybrać kod kraju, z którego chcesz akceptować pakiety, na przykład US
dla Stanów Zjednoczonych).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
Zezwalaj na przychodzące pakiety 443
tylko do portu z Peru.
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
LiteCart to darmowa i otwarta platforma koszyka na zakupy napisana w PHP, jQuery i HTML 5. Jest to prosty, lekki i łatwy w użyciu program do handlu elektronicznego
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
NFS to oparty na sieci system plików, który umożliwia komputerom dostęp do plików w sieci komputerowej. Ten przewodnik wyjaśnia, w jaki sposób możesz udostępniać foldery w NF
Używasz innego systemu? Matomo (wcześniej Piwik) to platforma analityczna typu open source, otwarta alternatywa dla Google Analytics. Źródło Matomo jest hostowane o
TeamTalk to system konferencyjny, który pozwala użytkownikom na wysokiej jakości rozmowy audio / wideo, czat tekstowy, przesyłanie plików i udostępnianie ekranów. To ja
Vultr oferuje kilka różnych sposobów uzyskiwania dostępu do VPS w celu konfiguracji, instalacji i użytkowania. Poświadczenia dostępu Domyślne poświadczenia dostępu dla twojego VPS ar
Ranger to oparty na linii poleceń menedżer plików z powiązaniami klawiszy VI. Zapewnia minimalistyczny i ładny interfejs curses z widokiem na hierarchię katalogów
Wprowadzenie RethinkDB to baza danych NoSQL, która przechowuje dane jako dokumenty JSON. Ma bardzo intuicyjny język zapytań i funkcje powszechnie dostępne
Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł
Używasz innego systemu? Brotli to nowa metoda kompresji z lepszym współczynnikiem kompresji niż GZIP. Jego kod źródłowy jest publicznie hostowany na tym Githu
Wprowadzenie MySQL ma świetną funkcję znaną jako widoki. Widoki są przechowywane zapytania. Pomyśl o nich jako o aliasie dla długiego zapytania. W tym przewodniku
Zezwolenie na logowanie roota przez SSH jest powszechnie uważane za słabą praktykę bezpieczeństwa w branży technologicznej. Zamiast tego możesz wykonać delikatną administrację
Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo
Vtiger CRM to popularna aplikacja do zarządzania relacjami z klientami, która może pomóc przedsiębiorstwom zwiększyć sprzedaż, zapewnić obsługę klienta i zwiększyć zyski. ja
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
W tym artykule dowiesz się, jak skonfigurować więzienie chroot w Debianie. Zakładam, że używasz Debiana 7.x. Jeśli używasz Debiana 6 lub 8, może to działać, bu
Wprowadzenie Prostym sposobem na skonfigurowanie serwera VPN na Debianie jest PiVPN. PiVPN to instalator i opakowanie dla OpenVPN. Tworzy proste polecenia dla ciebie
MaraDNS to lekki, ale solidny program serwera DNS typu open source. W porównaniu z innymi aplikacjami tego samego rodzaju, takimi jak ISC BIND, PowerDNS i djbdns
Używasz innego systemu? Wprowadzenie CyberPanel jest jednym z pierwszych paneli sterowania na rynku, który jest zarówno open source, jak i wykorzystuje OpenLiteSpeed. Co ty?
Używasz innego systemu? NodeBB jest forum opartym na Node.js. Wykorzystuje gniazda sieciowe do natychmiastowych interakcji i powiadomień w czasie rzeczywistym. Kod źródłowy NodeBB i
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.