Detaillierte Erläuterung des Sicherheitsmechanismus von JMS Active MQ
1. Authentifizierung
Authentifizierung: Überprüfen Sie, ob eine Entität oder ein Benutzer berechtigt ist, auf geschützte Ressourcen zuzugreifen.
MQ bietet zwei Plug-ins für die Autoritätsauthentifizierung:
(1), einfaches Authentifizierungs-Plug-in: Konfigurieren Sie die relevanten Autoritätsauthentifizierungsinformationen direkt in XML Datei.
Konfigurieren Sie das Broker-Element von conf/activemq.xml, um ein Plug-in hinzuzufügen:
<plugins><simpleAuthenticationPlugin><users><authenticationUser username="admin" password="password" groups="admins,publishers,consumers"/><authenticationUser username="publisher" password="password" groups="publishers,consumers"/><authenticationUser username="consumer" password="password" groups="consumers"/><authenticationUser username="guest" password="password" groups="guests"/></users></simpleAuthenticationPlugin></plugins>
Der Code enthält zwei Authentifizierungsmethoden:
1. Authentifizierung beim Erstellen einer Verbindung
//用户认证Connection conn = connFactory.createConnection("admin","password");
2. Sie können sich auch beim Erstellen einer ConnectionFactory-Factory authentifizieren
ConnectionFactory connFactory = new ActiveMQConnectionFactory("admin","password",url);
(2) JAAS-Authentifizierungs-Plug-in: implementiert die JAAS-API und bietet ein leistungsfähigeres und anpassbareres Berechtigungsschema.
Konfigurationsmethode:
1. Erstellen Sie die Datei login.config im Verzeichnis conf. Benutzerkonfiguration:
activemq-domain { org.apache.activemq.jaas.PropertiesLoginModule required debug=trueorg.apache.activemq.jaas.properties.user="users.properties"org.apache.activemq.jaas.properties.group="groups.properties"; };
das conf-Verzeichnis. Erstellen Sie die Datei „users.properties“ im Benutzerkonfigurationsbenutzer:
# 创建四个用户 admin=password publisher=password consumer=password guest=password
3. Erstellen Sie die Datei „groups.properties“ im Verzeichnis „conf“, um die Benutzergruppe zu konfigurieren:
#创建四个组并分配用户 admins=admin publishers=admin,publisher consumers=admin,publisher,consumer guests=guest
4. Fügen Sie die Konfiguration in activemq.xml ein:
<!-- JAAS authentication plug-in --><plugins><jaasAuthenticationPlugin configuration="activemq-domain" /></plugins>
5. Konfigurieren Sie die Startparameter von MQ:
Verwenden Sie den DOS-Befehl. Start:
D:\tools\apache-activemq-5.6.0-bin\apache-activemq-5.6.0\bin\win64>activemq.bat -Djava.security.auth.login.config=D:/tools/apache-activemq-5.6.0-bin/apache-activemq-5.6.0/conf/login.config
6. Die Authentifizierungsmethode im Code ist dieselbe wie beim Plug-in für einfache Authentifizierung.
2. Autorisierung
Basierend auf der Authentifizierung können entsprechende Berechtigungen basierend auf tatsächlichen Benutzerrollen erteilt werden. Beispielsweise verfügen einige Benutzer über Warteschlangenschreibvorgänge Berechtigungen, einige können nur lesen usw.
Zwei Autorisierungsmethoden
(1) Autorisierung auf Zielebene
Drei Betriebsebenen des JMS-Ziels:
Lesen: Berechtigung zum Lesen von Zielnachrichten
Schreiben: Berechtigung zum Senden von Nachrichten an das Ziel
Admin: Berechtigung zum Verwalten von Zielen
Konfigurationsmethode conf/activemq.xml:
<plugins><jaasAuthenticationPlugin configuration="activemq-domain" /><authorizationPlugin><map><authorizationMap><authorizationEntries><authorizationEntry topic="topic.ch09" read="consumers" write="publishers" admin="publishers" /></authorizationEntries></authorizationMap></map></authorizationPlugin></plugins>
(2) Autorisierung auf Nachrichtenebene
Autorisieren Sie bestimmte Nachrichten.
Entwicklungsschritte:
1. Um das Nachrichtenautorisierungs-Plug-in zu implementieren, müssen Sie die MessageAuthorizationPolicy-Schnittstelle implementieren
public class AuthorizationPolicy implements MessageAuthorizationPolicy {private static final Log LOG = LogFactory. getLog(AuthorizationPolicy.class);public boolean isAllowedToConsume(ConnectionContext context, Message message) { LOG.info(context.getConnection().getRemoteAddress()); String remoteAddress = context.getConnection().getRemoteAddress();if (remoteAddress.startsWith("/127.0.0.1")) { LOG.info("Permission to consume granted");return true; } else { LOG.info("Permission to consume denied");return false; } } }
2 -in-Implementierungsklasse in ein JAR-Paket einfügen und in das lib-Verzeichnis von activeMq einfügen
3. Legen Sie das
<messageAuthorizationPolicy><bean class="org.apache.activemq.book.ch6.AuthorizationPolicy" xmlns="http://www.springframework.org/schema/beans" /></messageAuthorizationPolicy>
3. Definieren Sie das Sicherheits-Plug-in selbst
Die Plug-in-Logik muss die BrokerFilter-Klasse implementieren und zum Abfangen über die BrokerPlugin-Implementierungsklasse installieren und Operationen auf Broker-Ebene:
Konsumenten und Produzenten verbinden
Transaktionen festschreiben
Hinzufügen und Broker-Verbindungen löschen
Demo: Broker-Verbindungen basierend auf der IP-Adresse einschränken.
package ch02.ptp;import java.util.List;import org.apache.activemq.broker.Broker;import org.apache.activemq.broker.BrokerFilter;import org.apache.activemq.broker.ConnectionContext;import org.apache.activemq.command.ConnectionInfo;public class IPAuthenticationBroker extends BrokerFilter { List<String> allowedIPAddresses;public IPAuthenticationBroker(Broker next, List<String>allowedIPAddresses) {super(next);this.allowedIPAddresses = allowedIPAddresses; }public void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception { String remoteAddress = context.getConnection().getRemoteAddress();if (!allowedIPAddresses.contains(remoteAddress)) {throw new SecurityException("Connecting from IP address " + remoteAddress+ " is not allowed" ); }super.addConnection(context, info); } }
Installieren Sie das Plug-in:
package ch02.ptp;import java.util.List;import org.apache.activemq.broker.Broker;import org.apache.activemq.broker.BrokerPlugin;public class IPAuthenticationPlugin implements BrokerPlugin { List<String> allowedIPAddresses;public Broker installPlugin(Broker broker) throws Exception {return new IPAuthenticationBroker(broker, allowedIPAddresses); }public List<String> getAllowedIPAddresses() {return allowedIPAddresses; }public void setAllowedIPAddresses(List<String> allowedIPAddresses) {this.allowedIPAddresses = allowedIPAddresses; } }
ps: Packen Sie diese Klasse in ein JAR-Paket und legen Sie es in das lib-Verzeichnis von activemq Konfigurieren Sie benutzerdefinierte Plug-Ins unter
:
<plugins><bean xmlns="http://www.springframework.org/schema/beans" id="ipAuthenticationPlugin" class="org.apache.activemq.book.ch6.IPAuthenticationPlugin"><property name="allowedIPAddresses"><list> <value>127.0.0.1</value></list></property></bean></plugins>
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Sicherheitsmechanismus von JMS Active MQ. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Im Betriebssystem Windows 11 ist das Sicherheitscenter eine wichtige Funktion, die Benutzern hilft, den Sicherheitsstatus des Systems zu überwachen, sich gegen Malware zu verteidigen und die Privatsphäre zu schützen. Manchmal müssen Benutzer das Sicherheitscenter jedoch möglicherweise vorübergehend deaktivieren, beispielsweise wenn sie bestimmte Software installieren oder eine Systemoptimierung durchführen. In diesem Artikel erfahren Sie im Detail, wie Sie das Windows 11-Sicherheitscenter deaktivieren, damit Sie das System korrekt und sicher bedienen können. 1. So schalten Sie das Sicherheitscenter von Windows 11 aus Unter Windows 11 funktioniert das Ausschalten des Sicherheitscenters nicht

Als eines der Betriebssysteme mit der größten Benutzerzahl weltweit wurde das Windows-Betriebssystem schon immer von den Benutzern bevorzugt. Bei der Verwendung von Windows-Systemen können Benutzer jedoch mit zahlreichen Sicherheitsrisiken konfrontiert werden, wie z. B. Virenangriffen, Malware und anderen Bedrohungen. Um die Systemsicherheit zu stärken, verfügen Windows-Systeme über zahlreiche integrierte Sicherheitsschutzmechanismen, darunter die Echtzeitschutzfunktion des Windows Security Center. Heute stellen wir Ihnen im Detail vor, wie Sie den Echtzeitschutz im Windows-Sicherheitscenter deaktivieren. Lassen Sie uns zunächst einmal

In der heutigen digitalen Gesellschaft sind Computer zu einem unverzichtbaren Bestandteil unseres Lebens geworden. Als eines der beliebtesten Betriebssysteme ist Windows weltweit weit verbreitet. Da die Angriffsmethoden im Netzwerk jedoch immer weiter zunehmen, ist der Schutz der Sicherheit persönlicher Computer besonders wichtig geworden. Das Windows-Betriebssystem stellt eine Reihe von Sicherheitsfunktionen bereit, von denen das „Windows Security Center“ eine seiner wichtigen Komponenten ist. Bei Windows-Systemen kann uns das „Windows Security Center“ weiterhelfen

Das Java-Framework-Design ermöglicht Sicherheit, indem es Sicherheitsanforderungen mit Geschäftsanforderungen in Einklang bringt: Identifizierung wichtiger Geschäftsanforderungen und Priorisierung relevanter Sicherheitsanforderungen. Entwickeln Sie flexible Sicherheitsstrategien, reagieren Sie schichtweise auf Bedrohungen und nehmen Sie regelmäßige Anpassungen vor. Berücksichtigen Sie architektonische Flexibilität, unterstützen Sie die Geschäftsentwicklung und abstrakte Sicherheitsfunktionen. Priorisieren Sie Effizienz und Verfügbarkeit, optimieren Sie Sicherheitsmaßnahmen und erhöhen Sie die Sichtbarkeit.

Im Sicherheitsvergleich zwischen Slim und Phalcon im PHP-Mikroframework verfügt Phalcon über integrierte Sicherheitsfunktionen wie CSRF- und XSS-Schutz, Formularvalidierung usw., während Slim keine sofort einsatzbereiten Sicherheitsfunktionen aufweist und eine manuelle Implementierung erfordert Sicherheitsmaßnahmen. Für sicherheitskritische Anwendungen bietet Phalcon einen umfassenderen Schutz und ist die bessere Wahl.

Um Ihre Struts2-Anwendung zu schützen, können Sie die folgenden Sicherheitskonfigurationen verwenden: Nicht verwendete Funktionen deaktivieren. Inhaltstypprüfung aktivieren. Eingaben validieren. Sicherheitstokens aktivieren. CSRF-Angriffe verhindern. Verwenden Sie RBAC, um den rollenbasierten Zugriff einzuschränken

Die rasante Entwicklung der generativen KI hat zu beispiellosen Herausforderungen in Bezug auf Datenschutz und Sicherheit geführt und dringende Forderungen nach regulatorischen Eingriffen ausgelöst. Letzte Woche hatte ich die Gelegenheit, mit einigen Kongressabgeordneten und ihren Mitarbeitern in Washington, D.C. über die sicherheitsrelevanten Auswirkungen von KI zu diskutieren. Die heutige generative KI erinnert mich an das Internet der späten 1980er Jahre, mit Grundlagenforschung, latentem Potenzial und akademischen Anwendungen, aber sie ist noch nicht reif für die Öffentlichkeit. Dieses Mal treibt der uneingeschränkte Ehrgeiz der Anbieter, angetrieben durch Risikokapital der unteren Liga und inspiriert durch Twitter-Echokammern, die „schöne neue Welt“ der KI rasant voran. Das „öffentliche“ Basismodell ist fehlerhaft und für den privaten und kommerziellen Gebrauch ungeeignet. Falls vorhanden, sind Sicherheitsstrukturen aufgrund der Angriffsfläche wichtig
