Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
Angesichts der Vorliebe von OpenBSD für Sicherheit ist es nur sinnvoll, Ihre WordPress-Website damit zu versorgen, insbesondere weil WordPress und PHP dazu neigen, Ziele für Skriptkinder zu sein. Da OpenBSDs httpd hauptsächlich für die Bereitstellung statischer Seiten ausgelegt ist, sind POST-Vorgänge den Prozessen fastcgi und slowcgi vorbehalten. Dies macht es für einen betrügerischen Akteur schwieriger, den Prozess des Webservers möglicherweise zu unterbrechen und Zugriff auf Ihren Server zu erhalten. POST-Operationen werden an den fastcgi-Prozess weitergeleitet und verwenden einen externen Interpreter. In diesem Artikel wird nicht nur das Einrichten Ihrer WordPress-Site, sondern auch einige grundlegende Wartungstechniken sowie das Sichern und Wiederherstellen Ihrer Site und ihrer Datenbank erläutert. Wo immer Sie example.com
die Domain sehen, ersetzen Sie sie bitte durch Ihre Domain.
Wenn Sie dies noch nicht getan haben, müssen Sie eine /etc/doas.conf
Datei erstellen . Der Befehl doas ist OpenBSDs einfacher Ersatz für sudo. Der Einfachheit halber habe ich die Option nopass hinzugefügt, damit Sie Ihr Kennwort bei Verwendung von doas nicht erneut eingeben müssen. Wenn Sie dies nicht möchten, lassen Sie einfach nopass weg.
su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf
Abhängig davon, wie OpenBSD für die Bereitstellung gepackt wurde, ist im Paketmanager manchmal kein Repository konfiguriert. Um das offizielle OpenBSD-Repository zu konfigurieren, müssen wir die /etc/installurl
Datei erstellen .
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
Jetzt müssen wir PHP und einige zusätzliche Module hinzufügen, die WordPress benötigt, um Dinge wie Bilder und Verschlüsselung zu handhaben. Wenn Sie dazu aufgefordert werden, installieren Sie das neueste PHP-Paket. Eine Sache, die Sie tun müssen, ist, die Modul-INI-Dateien aus dem Beispielverzeichnis in das Hauptverzeichnis zu kopieren. Dies muss erfolgen, um die zusätzlichen PHP-Module zu aktivieren.
doas pkg_add -r mariadb-client mariadb-server php php-curl php-mysqli php-zip pecl73-mcrypt pecl73-imagick wget
doas cp /etc/php-7.3.sample/* /etc/php-7.3/.
In der heutigen Welt müssen Websites über SSL bereitgestellt werden oder von Suchmaschinen heruntergestuft werden. Glücklicherweise hat OpenBSD eine großartige Anwendung namens acme-client. Der acme-Client generiert automatisch einen neuen privaten Schlüssel und fordert ein neues vollständig gültiges Zertifikat an. Der acme-Client hängt davon ab, ob ein Webserver vorhanden ist. Daher müssen wir eine schnelle Standardserverdefinition erstellen.
Erstellen Sie mit Ihrem Lieblingseditor /etc/httpd.conf
. Wir werden die anderen Serverdefinitionen später zur Datei hinzufügen. Im Moment wird dies ausreichen, damit der acme-client ordnungsgemäß funktioniert.
prefork 5
types { include "/usr/share/misc/mime.types" }
server "default" {
listen on egress port 80
root "/htdocs"
directory index "index.html"
location "/.well-known/acme-challenge/*" {
request strip 2
root "/acme"
}
}
Erstellen Sie auch mit Ihrem Lieblingseditor /etc/acme-client.conf
.
authority letsencrypt {
api url "https://acme-v02.api.letsencrypt.org/directory"
account key "/etc/acme/letsencrypt-privkey.pem"
}
authority letsencrypt-staging {
api url "https://acme-staging-v02.api.letsencrypt.org/directory"
account key "/etc/acme/letsencrypt-staging-privkey.pem"
}
domain example.com {
alternative names { www.example.com }
domain key "/etc/ssl/private/example.com.key"
domain full chain certificate "/etc/ssl/example.com.crt"
sign with letsencrypt
}
Jetzt müssen wir httpd aktivieren und starten. Sobald wir dies getan haben, können wir acme-client ausführen und darauf warten, dass es unser neues Zertifikat erhält. Nachdem wir dies getan haben, fügen wir alle 7 Tage einen Cron-Job hinzu, um automatisch einen neuen anzufordern, damit wir uns keine Sorgen über den Ablauf machen müssen.
doas rcctl enable httpd
doas rcctl start httpd
doas acme-client -v example.com
Jetzt erstellen wir den Cron-Job. Fügen Sie diese Zeile unter dem allerletzten Eintrag hinzu. In diesem Fall weisen wir acme-client an, das neue Zertifikat jeden Samstag um 1:00 Uhr anzufordern.
doas crontab -e
0 1 * * 6 acme-client -F example.com && rcctl reload httpd
Jetzt ist es Zeit, httpd für WordPress einzurichten. Anstatt die Definition unserer Website direkt in zu platzieren /etc/httpd.conf
, werden wir sie in einer separaten Datei namens /etc/httpd.conf.example.com
aufrufen und in die Hauptkonfigurationsdatei aufnehmen. Es wird im Allgemeinen empfohlen, die beiden zu trennen und die standortweiten Definitionen in Ihrer Hauptkonfigurationsdatei und die domänenspezifischen Einstellungen in einer anderen zu belassen.
Fügen Sie die folgende Zeile am Ende Ihrer /etc/httpd.conf
Datei hinzu:
include "/etc/httpd.conf.example.com"
Erstellen Sie jetzt mit Ihrem Lieblingseditor Ihren /etc/httpd.conf.example.com
. Der Einfachheit halber erstellen wir separate Protokolldateien für Ihre Domain. Dies erleichtert das Aufspüren potenzieller Probleme mit Ihrer Website.
server "example.com" {
listen on egress port 80
alias "www.example.com"
# Automatically redirect to SSL
block return 302 "https://$SERVER_NAME$REQUEST_URI"
log {
access "access-example.com"
error "error-example.com"
}
}
server "example.com" {
listen on egress tls port 443
alias "www.example.com"
root "/htdocs/wordpress"
directory index "index.php"
log {
access "access-example.com"
error "error-example.com"
}
tcp { nodelay, backlog 10 }
tls {
certificate "/etc/ssl/example.com.crt"
key "/etc/ssl/private/example.com.key"
}
hsts {
# max-age value is the number of seconds in 1 year
max-age 31556952
preload
subdomains
}
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
location "/posts/*" {
fastcgi {
param SCRIPT_FILENAME \
"/htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/page/*" {
fastcgi {
param SCRIPT_FILENAME \
"/htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/feed/*" {
fastcgi {
param SCRIPT_FILENAME \
"/htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/comments/feed/*" {
fastcgi {
param SCRIPT_FILENAME \
"htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/wp-json/*" {
fastcgi {
param SCRIPT_FILENAME \
"htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/wp-login.php*" {
authenticate "WordPress" with "/htdocs/htpasswd"
fastcgi socket "/run/php-fpm.sock"
}
location "*.php*" {
fastcgi socket "/run/php-fpm.sock"
}
}
Aus Sicherheitsgründen implementieren wir eine zusätzliche Eingabeaufforderung für einen Benutzernamen und ein Kennwort, wenn Sie sich bei der WordPress-Verwaltungssite anmelden. Da Script-Kiddies wiederholt versuchen, die Anmeldung von WordPress zu bruteforce, erstellen wir eine zusätzliche Anmeldung auf Webserverebene. Normalerweise erhalten sie ungefähr 5 Vermutungen, bevor WordPress einen 401 Unauthorized-Fehler auslöst.
doas su
cd /var/www/htdocs
doas htpasswd htpasswd <user>
doas chown www:www htpasswd
doas chmod 0640 htpasswd
doas rcctl reload httpd
Wir müssen eine Änderung in PHP vornehmen, damit Ihre WordPress-Installation E-Mails senden kann. WordPress und einige Plugins sind auf die Fähigkeit angewiesen, E-Mails zu senden, die Sie über Upgrades, Warnungen und Änderungen informieren. Die Unfähigkeit, E-Mails zu senden, kann bestimmte Funktionen von WordPress beeinträchtigen. Da httpd in einer Chroot-Umgebung ausgeführt wird, müssen wir PHP mitteilen, wie E-Mails gesendet werden sollen. Außerdem müssen wir einige Performance-Wochen mit php-fpm verbringen.
Suchen Sie nach der sendmail_path
Zeile in /etc/php-7.3.ini
und nehmen Sie die folgenden Änderungen vor:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; sendmail_path =
sendmail_path = /bin/femail -t -i
Suchen Sie nach den folgenden Zeilen /etc/php-fpm.conf
und ändern Sie sie wie folgt:
pm.start_servers = 5
pm.min_spare_servers = 1
pm.max_spare_servers = 6
Der nächste Schritt ist das Aktivieren und Starten von php-fpm.
doas rcctl enable php73_fpm
doas rcctl start php73_fpm
MariaDB ist eine Drop-In-Ersatzgabel von MySQL. Wir müssen einige anfängliche Konfigurations- und Datenbankvorbereitungsarbeiten für WordPress durchführen.
Bevor wir MariaDB effektiv nutzen können, müssen wir dem MySQL-Daemon erlauben, mehr Ressourcen als die Standardeinstellung zu verwenden. Nehmen Sie dazu die folgenden Änderungen vor, /etc/login.conf
indem Sie diesen Eintrag unten hinzufügen.
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Wir müssen einige Änderungen in der MariaDB-Konfigurationsdatei vornehmen /etc/my.cnf
. Indem der MySQL-Client und -Server über einen UNIX-Domain-Socket anstelle von TCP kommunizieren, kann die Speichernutzung Ihres Servers verringert werden. Sie müssen nicht alle unten vorgeschlagenen Änderungen vornehmen. Die beiden wichtigsten, die geändert werden müssen, sind die socket
Zeile und das Auskommentieren der bind-address
Zeile. Dadurch wird der Socket innerhalb der /var/www
Chroot-Umgebung verschoben, sodass WordPress eine Verbindung zur Datenbank herstellen kann. Durch das Auskommentieren der bind-address
Zeile verhindern wir, dass MariaDB einen TCP-Port abhört.
[client-server]
socket=/var/www/var/run/mysql/mysql.sock
#port=3306
# This will be passed to all MariaDB clients
[client]
#password=my_password
# The MariaDB server
[mysqld]
# To listen to all IPv4 network addresses, use "bind-address = 0.0.0.0"
#bind-address=127.0.0.1
# Directory where you want to put your data
#data=/var/mysql
# This is the prefix name to be used for all log, error and replication files
#log-basename=mysqld
# Logging
#log-bin=/var/mysql/mariadb-bin
#max_binlog_size=100M
#binlog_format=row
#expire_logs_days = 7
#general-log
#slow_query_log
query_cache_type = 1
query_cache_limit = 1M
query_cache_size = 16M
Jetzt müssen wir die MariaDB-Installationsbinärdatei ausführen und MariaDB aktivieren und starten. Durch dieses Verfahren wird ein Root-Passwort festgelegt und optional die Testdatenbank gelöscht. Es ist eine gute Idee, alle Vorschläge in der sicheren Installationsphase zu befolgen.
doas mysql_install_db
doas rcctl enable mysqld
doas rcctl start mysqld
doas mysql_secure_installation
Erstellen Sie die WordPress-Datenbank und den Datenbankbenutzer. Denken Sie daran, durch den <wp_user>
von Ihnen gewählten Datenbankbenutzernamen und <password>
ein komplexes Passwort Ihrer Wahl zu ersetzen .
mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO '<wp_user>'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
WordPress hat seit einiger Zeit keinen offiziellen OpenBSD-Port mehr, da es sofort funktioniert. Laden Sie den WordPress-Installationsordner herunter, extrahieren Sie ihn und verschieben Sie ihn.
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xvfz latest.tar.gz
doas mv wordpress /var/www/htdocs/.
doas chown -R www:www /var/www/htdocs/wordpress
doas chmod 0755 /var/www/htdocs/wordpress
cd /var/www/htdocs/wordpress/
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Wir müssen kopieren /etc/resolv.conf
und /etc/hosts
in ein Verzeichnis, das wir erstellen werden, rufen /var/www/etc
. Auf diese Weise kann WordPress den Markt erfolgreich erreichen. Sie benötigen dies, um Plugins und Themes über die WordPress-Admin-Site herunterzuladen. Es ist auch wichtig, dass das Jet Pack-Plugin ordnungsgemäß funktioniert.
doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.
Navigieren Sie von hier aus mit https über die in der Webserverdefinition angegebene URL zu Ihrer WordPress-Website. Wenn alles richtig funktioniert, sollte der WordPress-Installationsassistent angezeigt werden. Wenn Sie zu der Option gelangen, einen Datenbankserver anzugeben, sollten Sie verwendenlocalhost:/var/run/mysql/mysql.sock
Sobald WordPress installiert wurde, ist es Zeit, die Permalinks so einzurichten, dass sie SEO-freundlicher aussehen. Gehen Sie im WordPress-Administrationsbildschirm zu Settings -> Permalinks
. Klicken Sie auf Benutzerdefinierte Struktur und geben Sie ein /posts/%postname%
. Klicken Sie nach dieser Änderung auf die Schaltfläche Änderungen speichern. Sie haben jetzt viel besser aussehende Links. Ein Permalink sieht beispielsweise folgendermaßen aus:https://example.com/posts/example-blog-post
Von hier aus sollten Sie eine einfache Website bereithalten. Stellen Sie sicher, dass Sie Plugins wie Jet Pack und WP-Super Cache installieren. Das WP-Super Cache-Plugin beschleunigt Ihre Website, indem es Webseiten zwischenspeichert und ständige Datenbank-Lookups eliminiert. JetPack bietet Ihnen einige hervorragende Statistiken zur Zuschauerzahl.
Es versteht sich von selbst, dass das Sichern Ihrer Website und Datenbank sehr wichtig ist. Zum Glück ist dies relativ einfach. Sichern Sie beide in Ihrem Home-Verzeichnis und kopieren Sie sie dann über scp an einen anderen Speicherort. Sie können einen Schnappschuss auch über die Vultr-Systemsteuerung erstellen. Es ist eine gute Idee, beides zu tun.
cd /var/www/htdocs
tar cvfz wordpress.tgz wordpress/
cp wordpress.tgz /home/user
mysqldump -u root -p wordpress > wordpress.sql && gzip wordpress.sql
Wenn Ihre Datenbank beschädigt wurde und eine Wiederherstellung erforderlich ist, führen Sie folgende Schritte aus:
gunzip wordpress.sql.gz
mysql -u root -p wordpress
DROP USER '<user>'@'localhost';
DROP DATABASE wordpress;
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO '<wp_user>'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
mysql -u root -p wordpress < wordpress.sql
Wenn Sie eine Änderung an einer WordPress-Skriptdatei vorgenommen haben, die etwas beschädigt hat, können Sie WordPress jederzeit über das Admin-Kontrollfeld neu installieren. Suchen Sie nach dem Updates
Abschnitt und klicken Sie auf den Link. Suchen Sie nach einer Schaltfläche mit der Bezeichnung Re-install Now
. Dadurch wird zumindest das Problem behoben, aber der größte Teil Ihrer Konfiguration sollte intakt bleiben.
Wenn Ihre Datenbank in einem guten Zustand ist, Sie jedoch versehentlich eine Datei bearbeitet und die Fehler behoben haben, sodass Sie nicht einmal mehr zur WordPress-Administratorkonsole gelangen können, gehen Sie wie folgt vor:
rm /var/www/htdocs/wordpress
cp /home/user/wordpress.tgz /tmp
tar xvfz wordpress.tgz
mv wordpress /var/www/htdocs/.
chown -R www:www /var/www/htdocs/wordpress
cd /var/www/htdocs/wordpress
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.
Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+
Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.
Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren
13 Tools zur kommerziellen Datenextraktion von Big Data
Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true
Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.
Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1
KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.