Come installare la piattaforma del carrello LiteCart su Ubuntu 16.04
LiteCart è una piattaforma di carrello degli acquisti gratuita e open source scritta in PHP, jQuery e HTML 5. È un software di e-commerce semplice, leggero e facile da usare
iptables
è un potente strumento utilizzato per configurare il firewall integrato del kernel Linux. Viene preinstallato sulla maggior parte delle distribuzioni Ubuntu, tuttavia se si utilizza una versione Ubuntu personalizzata o si esegue all'interno di un contenitore, molto probabilmente sarà necessario installarlo manualmente.
sudo apt-get install iptables iptables-persistent
Dopo l'installazione, se ti viene chiesto se salvare le tue regole attuali, al momento non ha importanza perché rimuoverai o creerai nuove regole in seguito.
È possibile utilizzare il netcat
comando (su un computer diverso dal proprio server) per verificare quali porte sono aperte o chiuse.
nc -z -w5 -v SERVER_IP PORT
nc
è il comando netcat.-z
basta inviare un pacchetto senza payload.-w5
attendere fino a 5 secondi per una risposta.-v
modalità dettagliata.SERVER_IP
con il tuo indirizzo del server.PORT
con la porta che si desidera verificare se è aperta (ad es 22
.).Sul tuo server puoi usare il netstat
comando per vedere quali porte sono attualmente in attesa di connessioni.
sudo netstat -tulpn
Nota: sebbene netstat
sia utile trovare le porte con cui si desidera lavorare, è necessario essere consapevoli delle applicazioni attualmente installate sul server e delle porte in ascolto, non è necessario consentire tutte le porte trovate netstat
nell'output .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUT
aggiungere una regola alla INPUT
catena, una catena è un insieme di regole, quelle che usiamo più su questa guida sarà INPUT
, OUTPUT
e PREROUTING
.-p tcp
impostato tcp
come protocollo a cui verrà applicata questa regola, è inoltre possibile utilizzare altri protocolli come udp
, icmp
o all
.-m tcp
usa il tcp
modulo. iptables
supporta funzionalità aggiuntive tramite moduli, alcuni dei quali sono già preinstallati iptables
e altri, come il geoip
modulo.--dport 22
i comandi che iniziano con --
indicano opzioni aggiuntive per il modulo precedentemente utilizzato, in questo caso diremo al tcp
modulo di applicare solo alla porta 22
.-m geoip
usa il geoip
modulo. Limiterà i pacchetti su base nazionale (ulteriori informazioni al passaggio 5).--src-cc PE
di 'al geoip
modulo di limitare i pacchetti in arrivo a quelli che provengono dal Perù. Per più codici paese cercare ISO 3166 country codes
su Internet.-j ACCEPT
l' -j
argomento dice iptables
cosa fare se un pacchetto corrisponde ai vincoli specificati negli argomenti precedenti. In questo caso sarà ACCEPT
questi pacchetti, altre opzioni sono REJECT
, DROP
e altro ancora. Puoi trovare più opzioni cercando iptables jump targets
su Internet.Elenca tutte le regole.
sudo iptables -L
Elenca tutti i comandi utilizzati per creare le regole attualmente utilizzate, utili per modificare o eliminare le regole.
sudo iptables -S
Per eliminare una regola specifica scegliere una regola sudo iptables -S
e sostituirla -A
con -D
.
# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Elenca tutte le regole numerate nella INPUT
catena.
sudo iptables -L INPUT --line-numbers
Elimina una regola numerata.
sudo iptables -D INPUT 2
Per cancellare tutte le regole.
sudo iptables -F
Attenzione: potresti perdere la connessione se connesso tramite SSH .
Cancella solo le regole nella OUTPUT
catena.
sudo iptables -F OUTPUT
Consenti SSH
su eth0
un'interfaccia
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0
applica la regola a un'interfaccia specifica, per consentire a qualsiasi interfaccia di rimuovere questo comando.Limitare i pacchetti in entrata a un IP specifico (ad es 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
specifica un IP / sottorete da cui consentire le connessioni.Imposta le regole di catena predefinite.
Attenzione: prima di procedere assicurarsi di aver applicato le regole SSH corrette se si lavora su un server remoto .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP
nega tutti i pacchetti in arrivo (ovvero nessuno sarà in grado di connettersi ai server in esecuzione come Apache, SQL, ecc.).-P FORWARD DROP
nega tutti i pacchetti inoltrati (ovvero quando si utilizza il sistema come router).-P OUTPUT ACCEPT
consente tutti i pacchetti in uscita (ovvero quando si esegue una HTTP
richiesta).Consenti tutto il traffico sull'interfaccia di loopback ( consigliata ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Salva le iptables
regole correnti .
sudo netfilter-persistent save
sudo netfilter-persistent reload
Se stai eseguendo un contenitore, il netfilter-persistent
comando molto probabilmente non funzionerà, quindi devi riconfigurare il iptables-persistent
pacchetto.
sudo dpkg-reconfigure iptables-persistent
Consenti query 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
Utilizzare il state
modulo per consentire RELATED
e i ESTABLISHED
pacchetti in uscita.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Consentire le porte desiderate; in questo caso, HTTP
porte.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Altre porte che potresti voler usare.
FTP
: tcp alla porta 21HTTPS
: TCP alla porta 443DHCP
: udp alla porta 67NTP
: udp alla porta 123Nota: se si desidera consentire apt-get
, potrebbe essere necessario consentire FTP
eHTTPS
.
Consentire il traffico restituito solo per RELATED
e già ESTABLISHED
connessioni ( consigliato perché a volte è richiesta la comunicazione bidirezionale).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Consenti richieste ping dall'esterno.
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Inoltra il traffico sulla eth0
porta 2200
a 10.0.3.21:22
(utile se si desidera esporre un server SSH in esecuzione all'interno di un contenitore).
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
Se accedi correttamente al tuo server usando SSH, verrà creata una connessione permanente (cioè nessuna nuova connessione anche se sei connesso per più di 1 ora). Se non si riesce e si tenta di accedere nuovamente, verrà creata una nuova connessione. Ciò bloccherà i tentativi di accesso SSH continui limitando le nuove connessioni all'ora.
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
Reindirizzare tutte le richieste da porta 443
a porta 4430
(utile se si desidera associare alla porta 443
senza 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
l'interfaccia di rete.-m geoip
modulo blocco paese (vedi passaggio 5).Avvertenza: non utilizzare lo
, il sistema operativo eliminerà tutti i pacchetti reindirizzati all'interfaccia di loopback .
xtables-addons
Puoi installare il xtables-addons
modulo usando vari metodi, sentiti libero di usare il metodo di installazione che funziona meglio per te.
Installa usando apt-get
.
sudo apt-get install xtables-addons-common
Installa usando module-assistant
.
sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons
Installa dalla fonte.
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
Costruire un database "paesi".
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
Riavvia il tuo sistema.
sudo reboot
Dopo che xtables-addons
è stato installato con successo, dopo il primo riavvio, eseguire depmod
altrimenti il blocco paese non funzionerà correttamente (questo è necessario solo per la prima volta).
sudo depmod
Creare uno script su /etc/cron.monthly/geoip-updater
per aggiornare il geoip
database mensilmente.
#!/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
Rendi /etc/cron.monthly/geoip-updater
eseguibile.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Nota: se si riceve un iptables: No chain/target/match by that name
errore durante il tentativo di applicare una geoip
regola, è possibile che xtables-addons
non sia stato installato correttamente. Prova un altro metodo di installazione.
Blocca tutti i pacchetti in arrivo da Cina, Hong Kong, Russia e Corea.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
Consentire i pacchetti in entrata sul porto 80
da qualsiasi luogo tranne i paesi sopra.
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Consenti pacchetti in entrata ens3
sull'interfaccia sulla porta 22
solo dal Perù (sentiti libero di scegliere il prefisso da cui vuoi accettare i pacchetti, ad esempio, US
per gli Stati Uniti).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
Consentire i pacchetti in entrata sul porto 443
solo dal Perù.
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
LiteCart è una piattaforma di carrello degli acquisti gratuita e open source scritta in PHP, jQuery e HTML 5. È un software di e-commerce semplice, leggero e facile da usare
NFS è un file system basato su rete che consente ai computer di accedere ai file attraverso una rete di computer. Questa guida spiega come esporre le cartelle su NF
Introduzione Durante questo tutorial imparerai come configurare un livello base di sicurezza su una nuovissima macchina virtuale Vultr VC2 che esegue Ubunt
McMyAdmin è un pannello di controllo del server Minecraft utilizzato per amministrare il tuo server. Sebbene McMyAdmin sia gratuito, ci sono più edizioni, alcune delle quali sono pai
TeamTalk è un sistema di conferenza che consente agli utenti di avere conversazioni audio / video di alta qualità, chat di testo, trasferire file e condividere schermate. Io
Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa
Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i
PhpBB è un programma di bacheca open source. Questo articolo ti mostrerà come installare phpBB su un server web Apache su Ubuntu 16.04. Era scritto
Avere un solo utente, che è root, può essere pericoloso. Quindi risolviamolo. Vultr ci offre la libertà di fare ciò che vogliamo con i nostri utenti e i nostri server
Vultr offre diversi modi per accedere al tuo VPS per configurare, installare e utilizzare. Credenziali di accesso Le credenziali di accesso predefinite per il tuo VPS ar
Usi un sistema diverso? Fuel CMS è un sistema di gestione dei contenuti basato su CodeIgniter. Il suo codice sorgente è ospitato su GitHub. Questa guida ti mostrerà come t
Usi un sistema diverso? Couch CMS è un sistema di gestione dei contenuti (CMS) semplice e flessibile, gratuito e open source che consente ai web designer di progettare
Golang è un linguaggio di programmazione sviluppato da Google. Grazie alla sua versatilità, semplicità e affidabilità, Golang è diventato uno dei più popolari
Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io
IRC è popolare tra gli sviluppatori e gli utenti di software open source. Uno degli svantaggi di IRC è quando non sei in linea, potresti perdere Importan
Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud
Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi
Usi un sistema diverso? TLS 1.3 è una versione del protocollo TLS (Transport Layer Security) che è stato pubblicato nel 2018 come standard proposto in RFC 8446
Questo articolo ti insegnerà come impostare una prigione chroot su Debian. Presumo che tu stia usando Debian 7.x. Se usi Debian 6 o 8, questo potrebbe funzionare, bu
Introduzione Un modo semplice per configurare un server VPN su Debian è con PiVPN. PiVPN è un programma di installazione e wrapper per OpenVPN. Crea semplici comandi per te t
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.