2015-11-17 15 views
12

Tôi khá mới đối với Solr và tôi đã nghiên cứu điều này trong một ngày rưỡi qua và cuối cùng quay lại đây.Làm thế nào tôi có thể bảo mật Solr 5.3.1 chỉ các trang quản trị

Tôi có máy chủ Solr và đang chạy và quản trị viên mạng của tôi định cấu hình quy tắc trong tường lửa để chúng tôi có thể truy cập nó cho các truy vấn từ ứng dụng JavaScript của tôi. Những công việc này. Vấn đề mà tôi có là các trang quản trị Solr hoàn toàn mở trên thế giới và tôi đã thử tất cả mọi thứ như được mô tả trong các bài đăng khác nhau ngoại trừ phương pháp ZooKeeper mà tôi thực sự không muốn thử coz Tôi không quan tâm đến cài đặt lên ZooKeeper và SolrCloud.

bài

tham khảo: http://muddyazian.blogspot.com/2013/11/how-to-require-password-authentication.html và một số người khác

Những gì tôi đã làm là sửa đổi jetty.xml trong /opt/Solr/máy chủ/etc và bổ sung này

<Call name="addBean"> 
    <Arg> 
    <New class="org.eclipse.jetty.security.HashLoginService"> 
     <Set name="name">Solr Admin Access</Set> 
     <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set> 
     <Set name="refreshInterval">0</Set> 
    </New> 
    </Arg> 
</Call> 

Sau đó, tôi thêm vào web.xml trong /opt/solr/máy chủ/solr-webapp/webapp/WEB-INF cấu hình bên dưới

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Solr authenticated application</web-resource-name> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admin</role-name> 
    </auth-constraint> 
    </security-constraint> 

    <login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>Solr Admin Access</realm-name> 

    </login-config> 

sau đó tôi đã tạo ra một tập tin realm.properties băm mật khẩu theo bài này Jetty/SOLR Admin Panel Password

Solr bây giờ đã an toàn nhưng tất cả mọi thứ là mật khẩu bảo vệ, tôi muốn truy vấn của tôi là mở và phần còn lại được bảo vệ. Tôi đã thử thêm các mẫu url khác nhau như/admin/*,/mycollection/dataimport/* etc nhưng không ai trong số đó dường như ảnh hưởng đến thực tế là truy vấn cũng an toàn. Tham khảo https://gist.github.com/jstrassburg/9777027

+0

Tôi tình cờ gặp vấn đề này. Tính đến 5.4, một số tính năng bảo mật dựa trên vai trò đã được thêm vào và tôi đã quản lý để khóa xuống các lần đọc và cập nhật bằng các quy tắc như được mô tả [ở đây] (https://cwiki.apache.org/confluence/display/solr/ Dựa trên quy tắc + Cấp phép + Plugin). Tuy nhiên, bảng điều khiển chính nó vẫn mở rộng. Tất cả những gì chúng tôi muốn làm là yêu cầu auth cơ bản để truy cập vào bất kỳ thứ gì trong Solr 5. –

+0

Xem thêm: http://stackoverflow.com/questions/33263535/ –

+0

Aha. Ngay sau khi đăng tiền thưởng, tôi thấy rằng [câu trả lời này] (http://stackoverflow.com/a/34348204/27614) thực sự không có giải pháp, nhưng nó chỉ hoạt động cho SolrCloud. Solr chưa hỗ trợ auth cơ bản trong chế độ độc lập. Tôi giả sử họ có một vé cho điều này trong [APIR JIRA] (https://issues.apache.org/jira/), nhưng tôi không thể tìm thấy nó. –

Trả lời

3

Làm theo lời khuyên của Exclude a JSP from web.xml's security-contraint bạn có thể giữ nguyên cấu hình của mình nhưng để lộ điểm cuối mà bạn muốn công khai.

Vì vậy, bạn có thể thêm một <security-constraint> như thế này để bạn web.xml, nhưng bỏ qua <auth-constraint> cho phù hợp <url-pattern>. Điều này sẽ làm cho nó mở cửa cho công chúng. Ngoài việc xác thực cơ bản cho phần còn lại của cá thể Solr của bạn, bạn có thể phơi bày từng bước các lõi hoặc trình xử lý sẽ được công khai.

<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>mycollection</web-resource-name> 
    <url-pattern>/mycollection/*</url-pattern> 
    </web-resource-collection> 
</security-constraint> 

Một caveat của việc này là bạn sẽ cần phải thêm bất cứ điều gì đó sẽ được công khai như một mẫu URL riêng. Nhưng đây cũng có thể là dấu cộng, vì bạn có tùy chọn để kiểm soát quyền truy cập chi tiết cho các bộ sưu tập - ví dụ: một người dùng trên mỗi bộ sưu tập.

+1

Làm việc cho tôi. Cảm ơn! Hy vọng rằng giải pháp này có thể được giải thích trong các tài liệu Solr tại một số điểm, vì chúng đang nhận được nhiều bảo mật hơn và nhiều người chạy các cá thể không phải đám mây. –

+0

Bạn được chào đón. Chúng tôi cũng đang chạy một trường hợp solo, không phải đám mây :) – cheffe

Các vấn đề liên quan