|
|
trước khi cài đặt apache, từ source
Code:
Code:
total used free shared buffers cached
Mem: 1048576 130496 918080 0 0 0
-/+ buffers/cache: 130496 918080
Swap: 0 0 0
ram chỉ khoảng 130mb
sau đó em cài apache bằng câu lệnh sau, để test thử,
Code:
./configure --prefix=/apache --with-mpm=worker
sau khi cài đặt xong apache và khởi động, apache lên
Code:
Code:
total used free shared buffers cached
Mem: 1048576 965372 83204 0 0 0
-/+ buffers/cache: 965372 83204
Swap: 0 0 0
chênh nhau hơn 830 mb ram
đánh thử lệnh
Code:
Code:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13501 apache 18 0 8452 1388 592 S 0.0 0.1 0:00.00 httpd
13502 apache 18 0 278m 1816 900 S 0.0 0.2 0:00.00 httpd
13504 apache 25 0 278m 1820 904 S 0.0 0.2 0:00.00 httpd
13507 apache 25 0 278m 1820 904 S 0.0 0.2 0:00.00 httpd
3 process chiếm đến hơn 278 mb mỗi cái . thật không thể tin được. làm cái quái gì mà nó chiếm nhiều dữ vậy
anh conmale ơi, giúp em với
|
|
|
em đang cấu hình apache trên vps. compile xong xem ram thì hết 900mb ram ảo rồi. lúc chưa cài apache thì tốn chỉ tầm 130mb ram ảo. có nghĩa là apache của em tốn gần 800mb ram ảo. thấy lạ em mới combile lại với thông số
Code:
./configure --prefix=/apache --with-mpm=worker
nhưng apache vẫn tốn hơn 800mb. không hiểu vì sao. ở máy ảo em đã test thử thì chỉ mất tầm 50mb thôi. có ai đã gặp trường hợp nầy xin giúp với
- làm sao để chỉnh lại cho apache ít tốn ram ram ảo hơn ?
|
|
|
thanhtamntp wrote:
bác ko ssh đc hay ssh vào rồi ko qua root được ?
thường nó phải có output mà
mình đã fix xong lỗi truy cập ssh rồi, nhưng vẫn bị lỗi ko vào dc winscp. không thế nào nữa, nó báo lỗi ko có sftp server. hizhiz. nhớ cái centos bản mình cài trên máy ảo đâu có sftp server mà vẫn winscp ầm ầm mà
|
|
|
tình hình là em mới thuê vps nhưng khi vào thì hỡi ơi, user thường không thể đăng nhập được mặc dù đã thêm giá trị
Code:
trong file cấu hình ssh, bên cạnh đó là củng ko dùng dc ct winscp để log vào vps, chả hiểu cái vps nầy sao bị mấy lỗi nầy, em mới xài vps linux lần đầu , còn nhiều cái chưa biết, mọi người giúp đỡ em ạ. cảm ơn nhiều
|
|
|
conmale wrote:
mod_security hả? Cuốn tâm đắc nhất là cuốn này:
http://sourceforge.net/apps/mediawiki/mod-security/index.php?title=Reference_Manual
PS: dùng cái gì, đọc ngay tại liệu của chính nó. Đừng đi vòng quanh thế giới.
thanks anh conmale, em đâu có đi vòng quanh đâu, chỉ là đọc hết tài liệu rồi tổng hợp lại viết tut thôi. tính em hay ghi chép
|
|
|
conmale wrote:
khang0001 wrote:
thanks các bạn rất nhiều, mình down xong về in ra sách để nghiên cứu, các bạn cho mình nhiều nhiều sách nhé, vì in trên 3000 trang mới dc giảm giá. hizhiz
Đừng lâm vô căn bệnh "mê tìm tài liệu" để rồi bị ngấy rồi bỏ một đống. Từ từ, cẩn thận, đều đặn, chuyên cần... cần cái gì tìm thêm cái nấy từng bước một.
Đi cho vững trước khi chạy.
em củng biết là vậy, nhưng dạo nầy mắt em hơi kém rồi, nên ko nhìn màn hình vi tính được lâu, nên phải in ra sách để đọc, mà ác cái chỗ của em phải 3000 trang mới dc giảm giá, còn 2999 củng ko dc giảm. hizhiz. nên h em mới phải đi tìm sách về in ra 1 lần cho đỡ tốn.em đang tập trung luyện mod security
anh conmale có tư vấn giúp em cuốn sách nào mà anh cảm thấy tâm đắc nhất không. để em tu luyện
|
|
|
thanks các bạn rất nhiều, mình down xong về in ra sách để nghiên cứu, các bạn cho mình nhiều nhiều sách nhé, vì in trên 3000 trang mới dc giảm giá. hizhiz
|
|
|
tình hình là đang cần đọc tài liệu về snort và mod security , iptables, có ai biết sách nào hay về 3 món trên tư vấn giúp. tiếng anh hay việt điều được. xin cho thêm link để download. xin cảm ơn rất nhiều
|
|
|
akehalen wrote:
Cậu nói cần phải chuẩn bị 1 nền tảng thật vững.
Vậy theo cậu, thế nào là 1 nền tảng vững chắc ?
mình đơn cử chương Scanning trong giáo trình CEH nhé. chương đó theo mình được biết là nó chỉ dạy bạn cách dùng nmap để kiểm tra lỗi, xác định bạn đang dùng dịch vụ gì trên các cổng. để làm tiền đề cho tất công. đây chỉ là bước thu thập thông tin thôi.
- cậu có biết cơ chế scanning của nmap không, dựa vào đâu mà nmap có thể kết luận được là cậu đang xài os gì, mở các port nào, các dịch vụ đang chạy trên port đó. và nhiều cái nữa nmap cung cấp. nếu chỉ học CEH đơn thuần như bạn mình thì chỉ biết scan dùng nmap scan là đơn giản chỉ bấm nút để lấy thông tin thôi. nhưng điêu gì sẽ xẩy ra nếu có 1 ai đó cố ý làm giả thông tin, để nmap đưa ra kết quả giả. vì theo bài học thì mặc định nmap cho kết quả đúng. lúc đó thì cậu tấn công bằng cách nào
- đó là phương diện cậu dùng nmap để tấn công thu thập thông tin. còn về phần quản trị thì cậu phải biết làm cách nào để tạo sign giả, đánh lừa nmap hay là đơn giản hơn là làm sao để phát hiện scan port. các đối phó. để khi học cậu có thể tranh luận với thầy : " thầy ơi , nếu em cấu hình server em thế nầy dùng những dịch vụ nầy thì nmap cho thông tin thế nầy., vậy làm sao để kiểm chứng được thông tin đúng hay sai. liệu có cách nào để đánh lừa nmap được không thầy ". hihi. học thế mới là học chứ. hizhziz . để đào sâu vào nghiên cứu theo đúng tin thần của CEH. hack để bảo mật. cậu lấy được thông tin bằng nmap thì phải làm sao có thể đánh lừa nmap để nó cho thông tin giả. để cho đối phương bị rối, hoặc là dễ hơn, làm sao để không tiết lộ quá nhiều thông tin thông qua nmap
mình nghĩ với những cái dễ hơn đó thì CEH có cung cấp đấy , nhưng về những cái nâng cao thì mún hiểu được thì chắc ko phải 1 sớm 1 chiều đâu.
- bao nhiêu đó thông tin đủ để cậu thấy số lượng kiến thức khổng lồ để có thể học CEH không. mình chỉ ví dụ 1 chương thôi đó. CEH có rất nhiều chương còn khó hơn chương scan nầy nhiều. là cậu thấy thế nào rồi. có gì sai thì mọi người cứ ném đá để học hỏi thêm
p/s : kiến thức chỉ nhớ lại trong các bữa ngồi chém gió cafe với đám bạn, có gì sai các pác cứ chỉnh
|
|
|
akehalen wrote:
mình thì thích Linux với ngôn ngữ lập trình Python.
Hiện tại mình cũng đang nghiên cứu ngôn ngữ này.
Mà bạn nói là ngôn ngữ lập trình là quan trọng.
Vậy cho mình hỏi. Có phải học hết những ngôn ngữ quan trọng như Visual Basic, C, C#.... không ?
Hay chỉ cần chuyên sâu một ngôn ngữ nào đó thôi ?
Cám ơn bạn trước nha
không cần học hết đâu , cậu đâu phải lập trình viên mà học hết để làm gì. vì định hướng của cậu có vẻ giống mình nên mình thấy cậu nên chọn 1 ngôn ngữ nào đó mà cậu thích để học thôi.nếu có khả năng thì biết nhiều càng tốt. mình thì định hướng học lập trình php và C . nếu mà về linux thì nên học perl hoặc python củng được. khá nhiều người tư vấn nhưng chưa có thời gian mà học. hizhiz
|
|
|
conmale wrote:
Hì hì, thấy chưa? Rốt cuộc em muốn bảo vệ trang web không bị deface mà lại chăm chăm việc chroot cho apache và mysql .
Muốn trang web của em không bị deface thì em cần kiện toàn bảo mật cho chính apache và bất cứ chương trình nào chạy trên apache. Sau đó em kiện toàn cơ chế truy vấn từ apache đến mysql và tất nhiên, em không thể chểnh mảng chuyện kiện toàn bảo mật cho chính server chạy apache và msysql. chroot không thể giúp ngăn chặn deface bởi vì cho dù apache có nằm trong 100 cái chroot nhưng ai đó vẫn có thể access dịch vụ do apache cung cấp (qua trình duyệt hay bất cứ phương tiện nào) thì cơ hội nó bị deface vẫn xảy ra.
thanks anh conmale đã giúp đỡ em nhiệt tình. hizhiz. dù sao củng xem như là 1 bài học để xác định xem cái mà mình định làm có đúng với nhu cầu của mình hay không. làm tốn biết bao là thời gian để chroot dc cái thằng mysql.
|
|
|
conmale wrote:
Đây là lối mòn tư duy không hiếm người vấp phải. Cứ thấy loáng thoáng cái gì có vẻ hay là cắm cúi làm nhưng không chịu khó nhìn toàn cảnh và hiểu rõ tính chất sự việc.
chroot không phải là vô ích, trái lại nó rất có ích cho công việc bảo mật nhưng mình phải hiểu rõ giới hạn của chroot nằm ở đâu và thật sự nó có phục vụ mục tiêu bảo mật của mình hay không? Trong trường hợp của em, em tạo 1 jail apache và 1 jail mysql nhưng em vẫn cho jail apache truy vấn jail mysql và nếu anh thảy 1 cái php script lên trong jail apache của em thì anh vẫn có thể truy vấn đến jail mysql ---> mục tiêu bảo vệ dữ liệu của mysql bị vỡ.
Bảo mật không phải chỉ cục bộ trong một vài điểm nào đó mà phải là cái nhìn toàn cảnh. Nó có thể xoáy sâu đến từng byte trong việc thực hiện MiTM và nó cũng có thể là một thiết kế trải dài từ mạng đến thiết bị, đến tất cả mọi khía cạnh của trọn bộ hệ thống nhiều mảnh, nhiều tầng. Em có jail hết tất cả các dịch vụ trên máy chủ của em nhưng em lỡ chọn root password là khang123 thì những cái chroot kia không còn giá trị gì nữa.
em hiểu ý của anh là phải kiện toàn tất cả các phần của server. chỉ cần lơ là 1 phần thì coi như các phần khác có làm tốt thế nào đi nữa thì củng xem như thua.
- nếu theo như anh phân tích thì em thấy có vẻ như em không cần phải chroot. vì server của em chỉ là webserver . chỉ có 1 công việc duy nhất là chạy web thôi. nếu mà hacker chiếm được quyền apache hay mysql thì coi như server em đã mất . hacker không cần phải get root làm gì. vì :
+ mục tiêu của hacker là thay đổi nội dung website và database của em. đã đạt được
+ mục tiêu bảo vệ database của em tháy bại.
vậy em không cần phải chroot apache, mysql phải ko anh. hizhiz.
|
|
|
conmale wrote:
Điều quan trọng không phải là "làm cái gì" mà quan trọng là phải hiểu "cần cái gì", "phục vụ cho mục đích gì" trước khi "làm cái gì".
PS: conmale chớ không phải comnanle. Chỉ có cái nick có mấy chữ mà cũng gõ sai lên sai xuống bao nhiêu lần.
cảm ơn anh conmale đã giúp em khai sáng vấn đề. hizhiz. xin lỗi anh conmale em hổng có cố ý viết sai tên anh đâu ạ.
|
|
|
conmale wrote:
khang0001 wrote:
conmale wrote:
Vậy thì anh hỏi em, một php script chạy trên apache bị chroot làm sao nó truy vấn tới CSDL nếu như em muốn jail apache để bảo vệ CSDL?
theo 1 số tài liệu em đọc thì khi chroot apache và mysql thì, vẫn có cách để kết nối 2 ct đó lại với nhau. để chúng chạy. nhưng vẫn đảm bảo là mỗi ct nằm ở 1 nhà tù
OK, vậy thì:
"Tù apache" ---> "Tù mysql" vẫn có nghĩa là một cái php script từ apache vẫn có thể truy vấn đến cái "tù mysql" phải không nào? Nếu vậy thì làm sao bảo vệ được cái "tù mysql" không bị thâm nhập dữ liệu? Tạo ra cái "tù" để bảo vệ mà vẫn truy vấn đến được cái "tù" thì bảo vệ cái gì?
chà chà, hình như em hơi bị sai thì phải, chroot là để bảo vệ nguyên cái hệ thống. khi nào hacker chiếm được quyền apache hoặc mysql thì chỉ có thể lanh quanh trong đó, ko thể nào tấn công sâu hơn được, ko thể get root được. hizhiz. nên từ nhà tù apache có thể liên thông đến nhà tù mysql được. đúng không anh comanle ??
|
|
|
akehalen wrote:
cám ơn cậu, ý kiến của cậu rất hữu ích.
Sẵn tiện cho mình hỏi, cậu học ở Nhất Ngệ hay ở đâu vậy.
Mình muốn học mà sợ nó đòi bằng tốt nghiệp nì nọ. Mình chưa tốt nghiệp 12.
Nếu được trả lời giúp mình nhé.
Cảm ơn cậu trước.
mình học mcsa ở nhất nghệ, cứ đóng tiền vào là học thôi, có gì mà khó nhỉ. nói chung là ko cần dựa quá nhiều vào cái bằng CEH đâu, cơ bản là CEH là dạy mình cách dùng tool. nhưng mọi người quên 1 vấn đề. làm sao để viết lền được cái tool đó. tool đó hoạt động như thế nào. cậu muốn giỏi thì nên tự viết tool cho mình , biết được khi mình nhấn cái nút nầy thì nó sẽ làm thế nào, mọi việc sẽ đi đến đâu. lúc đó cậu mới không trở thành script kiddies ( anh comanle là chúa bắt bẻ, h mới thấy mọi người nói vể ảnh đúng thiệt ) anh comanle tha tội em chỉ nói lại lời mọi người nói thôi, có gì anh cứ trảm mọi người ạ , em vô số tội
|
|
|
tình hình là em đang chroot thằng apache. sau khi copy các thư viện cần thiết vào thì em bắt đầu chạy thử. nó báo lỗi là httpd: bad user name apache . em tìm thử trên mạng thì mọi người bảo vào httpd.conf để sữa lại user và group là apache là được. em củng đã thử nhưng ko có kết quả. mọi người có ai đã từng bị lỗi nầy thì giúp em với
|
|
|
conmale wrote:
Vậy thì anh hỏi em, một php script chạy trên apache bị chroot làm sao nó truy vấn tới CSDL nếu như em muốn jail apache để bảo vệ CSDL?
theo 1 số tài liệu em đọc thì khi chroot apache và mysql thì, vẫn có cách để kết nối 2 ct đó lại với nhau. để chúng chạy. nhưng vẫn đảm bảo là mỗi ct nằm ở 1 nhà tù
|
|
|
conmale wrote:
Và "nhốt" nó để làm chi? Nếu vì an toàn thì mục tiêu quan trọng là an toàn hay là gì?
nhốt nó lại để giả sử có ai đó hack dc thằng apache thì chỉ có thể tác động dc 1 mình thằng apache thôi, ko thể ảnh hưởng đến các thành phần khác trong hệ thống được. mục tiêu an toàn hàng đầu là bảo vệ database.
|
|
|
conmale wrote:
khang0001 wrote:
tình hình là em đang chroot apache. đang phân vân giữa 2 hướng dùng mod_chroot và chroouid. chưa biết nên dùng cách nào. đọc sơ qua 2 cách thì thấy mod_chroot có vẻ ít công đoạn nhất, ko cần phải chép các tập tin lib. còn chrootuid thì phải copy hết qua. nhưng em thì đã có kinh nghiệm làm chrootuid ở bên mysql rồi. nên h đang phân vân là chọn cái nào. có ai có kn tư vấn giúp em với
Rốt cuộc mục đích chroot là để làm gì?
để nhốt thằng apache vào 1 cái nhà tù , cho an toàn. với cách chroouid thì phải copy rất nhiều thư viện và thêm 2 cái /bin/bash, /bin/sh. vào thì mới chạy được . nên em nghĩ là không được an toàn. còn thằng mod_chroot thì đơn giản cài vào và chỉnh cấu hình lại là được. nhưng nó củng là 1 mod. nên ko biết là thế nào. anh comanle có thể tư vấn giúp em được không
|
|
|
tình hình là em đang chroot apache. đang phân vân giữa 2 hướng dùng mod_chroot và chroouid. chưa biết nên dùng cách nào. đọc sơ qua 2 cách thì thấy mod_chroot có vẻ ít công đoạn nhất, ko cần phải chép các tập tin lib. còn chrootuid thì phải copy hết qua. nhưng em thì đã có kinh nghiệm làm chrootuid ở bên mysql rồi. nên h đang phân vân là chọn cái nào. có ai có kn tư vấn giúp em với
|
|
|
conmale wrote:
Nếu đã fix thì nên cung cấp luôn giải pháp để có ai gặp phải trường hợp tương tự họ có thể tham khảo.
vâng ạ. cách của em như sau
thêm 1 dòng sau đây vào file /etc/hosts
Code:
hostname thì đánh lệnh hostname thì sẽ có, còn if thì đánh lệnh ifconfig để có thônng tin.
sau đó start dịch vụ apache là được
|
|
|
akehalen wrote:
Em dự định đăng ký học tại trung tâm Nhất Nghệ theo lộ trình sau:
LPI 1&2 - LPI 3 - LPI Advanced - CEH
Không biết theo lộ trình trên là đúng hay còn con đường nào khác để học CEH không, có cần phải học thêm MCSA + MCTS không ạ.
Có cần học thêm ngôn ngữ lập trình nào không. Em thì thích Python.
Mong mấy anh định hướng giúp em với.
CEH thì kiến thức bao quát rất nhiều mảng, nhiều lĩnh vực, mình nghĩ cậu nên học thêm mcsa và mcse nữa. ngôn ngữ lập trình thì chắc là phải cần rồi. vì trong đó có 1 phần là về shell localhack. cậu nên biết cách viết thì tốt hơn. đừng trở thành srcipt kidding.
-theo ý kiến của mình CEH là thực hành thôi. cậu phải có 1 nền tảng thật vững thì mới học được. còn ko vững vào học chỉ là script kidding thôi. giả sữ như khi cậu học về shell thì CEH chỉ dạy cậu cách xài shell thế nào, đâu chỉ cậu viết. vậy thì độ tuỳ biến của cậu thế nào. chỉ bó hẹp trong phần đó thôi sau. nếu cậu đã viết được shell thì lúc đó sẽ mở rộng ra rất nhiều. chuẩn bị là điều quan trọng. mình đã lấy bằng mcsa và lpi rồi mà vẫn chưa đi học CEH được. bạn bè chung khoá đi học hết rồi. nhiều lúc củng buồn. nhưng mục tiêu đã lên thì phải theo
|
|
|
có cao nhân đã giúp fix xong lỗi. xin cảm ơn bạn myquartz .
|
|
|
tình hình là em đã build xong thằng apache rồi, nhưng sực nhớ là cần phải cài thêm mod security nữa nên mới lọ mọ đi cài thêm. việc đầu tiên là phải cài mod_unique_id . nhưng sau khi complie lại thì apache ko chạy được, chả hiểu thế nào. mới test thử bằng cách cài chay 1 thằng mod_unique_id thữ xem sao
Code:
./configure --prefix=/soft/apache --with-mpm=worker --enable-unique-id
xem trong loa error của apache thì thấy
Code:
[Sun Sep 25 12:05:52 2011] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "dhcppc7"
Configuration Failed
xem trong file hosts thì thấy
Code:
127.0.0.1 localhost.localdomain localhost
file network
Code:
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
lệnh hostname
Code:
vẫn không khởi động được apache. chả hiểu thế nào. em đang xài httpd-2.2.21.tar.gz . centos 5.5 . chỉ duy nhất có thằng mod_unique_id là trở chứng thôi. có ai gặp tình trạng tương tự xin giúp đỡ. xin cảm ơn ạ
p/s : em đã thử tìm trên mạng rồi, nhưng các chỉ dẫn thì em củng thử rồi nhưng ko thấy kết quả
|
|
|
Mèn đét quơi.... đã thấy cái mysql> chình ình ra đó mà còn hỏi "thành công chưa"
Bởi vậy, anh nói là kiện toàn kiến thức mysql trước mà không chịu.
thanks anh conmale ạ. hizhzi. em sẽ cố gắng kiện toạn kiến thức mysql
|
|
|
conmale wrote:
Thay vì:
chroot /chroot/mysql/ /usr/local/mysql/bin/mysqld_safe &
Thử:
chrootuid /chroot/mysql mysql /usr/local/mysql/libexec/mysqld &
coi sao?
Code:
[root@dhcppc7 ~]# chrootuid /chroot/mysql mysql /usr/local/mysql/libexec/mysqld &
[1] 1986
[root@dhcppc7 ~]# 110921 13:42:48 [Note] /usr/local/mysql/libexec/mysqld: ready for connections.
Version: '5.0.92-log' socket: '/tmp/mysql.sock' port: 3306 Source distribution
Code:
ps aux| grep mysql
mysql 1986 0.0 2.8 31420 3556 pts/0 Sl 09:42 0:00 /usr/local/mysql/libexec/mysqld
root 1994 0.0 0.5 4000 672 pts/0 R+ 09:43 0:00 grep mysql
test thử
Code:
chrootuid /chroot/mysql mysql /usr/local/mysql/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.92-log Source distribution
No entry for terminal type "xterm";
using dumb terminal settings.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
như vậy là đã thành công chưa anh conmale. hizhiz.
|
|
|
Đầu tiên em cài đặt Mysql với câu lệnh
Code:
groupadd mysql
useradd -g mysql mysql
./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --with-unix-socket-path=/tmp/mysql.sock --with-mysqld-ldflags=-all-static --without-innodb
make
make install
strip /usr/local/mysql/libexec/mysqld
scripts/mysql_install_db
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
cp support-files/my-medium.cnf /etc/my.cnf
chown root:sys /etc/my.cnf
chmod 644 /etc/my.cnf
đến đây thì mysql khởi động được, xem như cài đặt mysql hoàn tất
tiếp đến cài đặt chrootuid
Code:
mkdir -p /chroot/mysql/dev
mkdir -p /chroot/mysql/etc
mkdir -p /chroot/mysql/tmp
mkdir -p /chroot/mysql/var/tmp
chown -R root:sys /chroot/mysql
chmod -R 755 /chroot/mysql
chmod 1777 /chroot/mysql/tmp
cp /etc/hosts /chroot/mysql/etc/
cp /etc/host.conf /chroot/mysql/etc/
cp /etc/resolv.conf /chroot/mysql/etc/
grep mysql /etc/group > /chroot/mysql/etc/group
grep mysql /etc/passwd > /chroot/mysql/etc/passwd
mknod /chroot/mysql/dev/null c 2 2
chown root:sys /chroot/mysql/dev/null
chmod 666 /chroot/mysql/dev/null
copy tất cả thư mục của mysql vừa cài đặt sang thư mục vừa chroot
Code:
mkdir -p /chroot/mysql/usr/local/mysql/
cp -R /usr/local/mysql/ /chroot/mysql/usr/local/mysql/
chown -R mysql:mysql /chroot/mysql/usr/local/mysql/
sau đó chạy chrootuid thì vẫn không được
Code:
chrootuid /chroot/mysql mysql /usr/local/mysql/libexec/mysqld &
như kết quả của post thứ nhất , không thể chạy được
sau đó em mới tìm hiểu thêm thì biết. lệch chrootuid là kết hợp của 2 lệnh chroot và su. nên em suy luận nếu vậy thì làm trước lệnh chroot . nếu thành công thì chrootuid chắc củng sẽ thành công
nên em đánh lệnh
Code:
thì nó báo lỗi thiếu thư viện và /bin/bash
nên em copy tất cả các thư viện và /bin/bash, /bin/sh
Code:
mkdir -p /chroot/mysql/bin
mkdir -p /chroot/mysql/lib
mkdir -p /chroot/mysql/usr/lib/
cp /lib/libdl.so.2 /lib/libtermcap.so.2 /lib/libc.so.6 /lib/ld-linux.so.2 \
/lib/librt.so.1 /lib/libssl.so.6 /lib/libcrypto.so.6 /lib/libpthread.so.0 \
/lib/libcrypt.so.1 /lib/libnsl.so.1/lib/libm.so.6 /lib/libgcc_s.so.1 \
/lib/libcom_err.so.2 /lib/libresolv.so.2 \
/lib/libkeyutils.so.1 /lib/libselinux.so.1 /lib/libsepol.so.1 /chroot/mysql/lib/
cp /usr/lib/libkrb5.so.3 /usr/lib/libz.so.1 /usr/lib/libstdc++.so.6 /usr/lib/libgssapi_krb5.so.2 \
/usr/lib/libk5crypto.so.3 /usr/lib/libkrb5support.so.0 /chroot/mysql/usr/lib/
sau đó đánh lệnh
Code:
thì đc bash-3.2#
khởi tạo thành công môi trường chroot rồi. bây h chỉ còn copy tất cả những gì cần thiết để cho mysql chạy là xong
em đánh lệnh
Code:
/usr/local/mysql/bin/mysqld_safe &
thì nó báo
Code:
/usr/local/mysql/bin/mysqld_safe: line 75: sed: command not found
/usr/local/mysql/bin/mysqld_safe: line 74: sed: command not found
/usr/local/mysql/bin/mysqld_safe: line 223: dirname: command not found
/usr/local/mysql/bin/mysqld_safe: line 255: /bin/hostname: No such file or directory
/usr/local/mysql/bin/mysqld_safe: line 262: /bin/hostname: No such file or directory
/usr/local/mysql/bin/mysqld_safe: line 285: /dev/null: No such device or address
/usr/local/mysql/bin/mysqld_safe: line 316: /dev/null: No such device or address
/usr/local/mysql/bin/mysqld_safe: line 333: touch: command not found
/usr/local/mysql/bin/mysqld_safe: line 333: chown: command not found
Starting mysqld daemon with databases from /usr/local/mysql/var
/usr/local/mysql/bin/mysqld_safe: line 394: date: command not found
/usr/local/mysql/bin/mysqld_safe: line 397: rm: command not found
STOPPING server from pid file /mysql/var/.pid
/usr/local/mysql/bin/mysqld_safe: line 442: date: command not found
/usr/local/mysql/bin/mysqld_safe: line 442: tee: command not found
/usr/local/mysql/bin/mysqld_safe: line 443: tee: command not found
có nghĩa là nó thiếu các command cần thiết để chạy mysql
nên em đã copy tất cả các command đó vào thư mục chroot
như là sed, dirname, /bin/hostname, touch,chowns,date,rm,tee
riêng cái dev/null em đã tạo trước đó rồi mà vẫn ko dc nó chấp nhận nên em đã xóa luôn và copy từ thư mục root vào luôn
sau khi làm xong hết thì đánh lệnh
Code:
chroot /chroot/mysql/
/usr/local/mysql/bin/mysqld_safe &
thì nó báo
Code:
chown: `mysql': invalid user
Starting mysqld daemon with databases from /usr/local/mysql/var
STOPPING server from pid file /usr/local/mysql/var/dhcppc7.pid
110922 02:24:39 mysqld ended
em củng không hiểu vì sao nó ko thấy user mysql nữa. trong file passwd và group em có duy nhất 1 mình user mysql thôi. em mới test thử bằng cách, copy cả 2 file gốc passwd và group vào thư mục chroot rồi test thử với user root xem thế nào
Code:
chown root:root /var
chown 'root': invalid user
lệnh nầy đánh khi đã vào thư mục chroot
em củng không hiểu mình đã làm sai gì nữa. anh comanle chỉ giúp em
|
|
|
em làm theo bài nầy
Code:
/hvaonline/posts/list/0/19738.html#119195
ý của em là tạo 1 môi trường nhà tù là thư mục /chroot/mysql . lấy đó là thư mục gốc của nhà tù, copy các file như /bin/bash, /bin/sh, các thư viện có liên quan đến mysql, các command cần thiết để chạy và các thư viện liên quan đến các commnd đó.
khi đó có 1 môi trường nhà tù rồi, thì chạy mysql trong đó. nên /usr/local/mysql/bin/mysqld_safe là lúc đó em đã chuyển thư mục gốc đến /chroot/mysql rồi. dấu bash-3.2# là bằng chứng em đã chuyển thư mục gốc thành công, bây h chỉ còn chạy mysql trong cái nhà tù đó nữa là dc. em làm đúng như nguyên tắc có bảng của chroot. nhưng bị 1 vấn đề là không nhận ra các user. em đã thử copy các file như passwd, group , rồi chạy thử
chown root:root /var
thì kết quả là vẫn là ko nhận ra đc user. em ko biết là mình bi mắt lỗi gì nữa, anh comanle chỉ giúp em
|
|
|
em đã thử copy tất cả các thư viện kèm theo của mysql vào thư mục /chroot/mysql để chạy thử thì kết quả như sau
Code:
[root@dhcppc7 /]# chroot /chroot/mysql
bash-3.2# /usr/local/mysql/bin/mysqld_safe &
[1] 4714
bash-3.2# chown: `mysql': invalid user
Starting mysqld daemon with databases from /usr/local/mysql/var
STOPPING server from pid file /usr/local/mysql/var/dhcppc7.pid
110921 09:57:19 mysqld ended
nó báo lỗi là ko thấy user mysql. em đã kiểm tra kĩ trong file passwd và group thì có user mysql rồi. không hiểu là vì sao ko thấy mysql
em thử bằng lệnh chroot để tạo ra 1 nhà tù để chạy thử mysql, copy các file như /bin/bash, /bin/sh , các command liên quan, thư viên liên quan để chạy thử xem thế nào.
em chắc là đã copy hết tất cả những gì liên quan đến mysql rồi.
anh comanle giúp em với
|
|
|
conmale wrote:
khang0001 wrote:
vậy h em phải làm thế nào để cho mysql nó chạy trong chroot ạ, anh comanle có thể chỉ giúp em được không ạ. đúng là em vẫn còn hổng nhiều kiến thức quá. anh có thể tư vấn giúp em là bây h nên đọc thêm sách gì để nâng cao thêm kiến thức không ạ. em chỉ mới học basic về LPI thôi. cảm thấy vẫn chưa đủ.
- thực ra em củng đã thử tự build rồi chroot mysql nhưng không chạy nên mới test thử bằng cách là làm giống y như hd xem thế nào, nếu như hd mà chạy được có nghĩa là mình làm sai 1 cái gì đó. sau đó mới rà lại để xem chỗ nào sai rồi học thêm . em nghĩ cách làm đó củng ko có gì sai. cứ đi theo người ta rồi mình để ý , rồi áp dụng lại cho bản thân.
Nguyên tắc căn bản của "chroot" có nghĩa là áp đặt một dịch vụ nằm trong một khu vực tách rời và riêng biệt. Khi nói đến dịch vụ thì phải nói đến tất cả mọi thứ liên quan đến dịch vụ đó, kể cả binaries, libraries, scripts, sockets, logs ...v....v.... thuộc về dịch vụ đó. Trong trường hợp mysql ở trên, em phải tìm ra hết tất cả những gì liên quan đến mysql và đặt nó trong "chroot". Sau đó, để khởi tạo dịch vụ trong chroot này, script khởi tạo cũng phải "gọi" đúng những thứ nằm trong "chroot".
Nói một cách khác, trước tiên em phải hiểu mysql hoạt động như thế nào, nó cần những gì, nó tạo ra những gì và những thứ nó tạo ra nằm ở đâu. Sau đó mới mang cả một "đống" đó vô trong một cái gọi là "jail" (chroot). Nếu em không hiểu mysql đến mức độ em tự tạo ra cái mysql.sock thì chứng tỏ em cố gắng làm một việc mà em không hề hiểu lý do tại sao.
Em không cần "đọc thêm" một cái gì hết mà chỉ cần đọc và làm cho đủ và trọn vẹn tài liệu do chính mysql cung cấp trước cái đã. Chừng nào kiện toàn kiến thức về mysql rồi hãy nghĩ đến chuyện chroot nó. Phải đi trước khi chạy.
vâng ạ, em sẽ thử đem hết tất cả các thứ liên quan đến mysql vào chroot rồi chạy thử.
|
|