Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witacie!
Postanowiłem zmienić działanie mojego systemu.
Mianowicie - obecnie aplikacje uruchamiam na swoim serwerze za pomocą serwera nanoweb, ponieważ zarówno na apache2 jak i lighttpd przy dużej ilości procesów się zawieszało i wszystko wyłączało. Takie rozwiązanie działa już u mnie bardzo długo. Dzięki niemu za pomocą PHP pobieram sobie określone dane oraz wykonuję/uruchamiam dane programy.
Przyszedł czas na zmianę, zastosowanie bardziej odpowiedniego dla tego celu rozwiązania.
Na serwerach "dzieciach" tworzyłbym użytkownika, który ma zablokowane wszystkie komendy (w celu bezpieczeństwa) oraz ma możliwość wykonywania określonych, np. może uruchamiać dane programy, tworzyć katalogi itp. (to sobie już samemu ustalam). Problem w tym, w jaki sposób mogę takie coś zrobić - takie blokowanie. Dodatkowo, chciałbym ustawić aby na tego konkretnego użytkownika można było się logować przez ssh tylko z określonych adresów IP.
Na serwerze "matce" łączę się z serwerami "dziećmi" za pomocą libssh2 (w PHP) i wykonuję sobie odpowiednie mi komendy (obecnie robię to za pomocą CURL i rozwiązania z nanoweb) i w starym przypadku niema problemu z ograniczeniem dostępu, gdyż na warunkach jest określone co użytkownik może konkretnie wykonywać, w przypadku bezpośredniego połączenia z SSH może praktycznie wszystko, co jest nie bezpieczne, np. będzie jakiś błąd w skrypcie lub na serwerze matce i ktoś, np. z tego konta coś "nabroi".
Pozdrawiam.
Ostatnio edytowany przez desavil (2012-05-28 19:42:09)
Offline
Witam,
Na tym filmiku masz wyjaśnione co i jak masz zrobić na przykładzie [url]http://www.youtube.com/watch?v=6piQXXHTmqk[/url]
Pozdrawiam,
Towarzysz Torrentow
Offline
Dzięki :)
Tylko tutaj są pokazane uprawnienia do katalogów/plików.
A mnie chodzi o komendy.
Offline
....ponieważ zarówno na apache2 jak i lighttpd przy dużej ilości procesów się zawieszało i wszystko wyłączało[/quote]
Coś dziwny ten serwer.
[url=http://grsecurity.net/gracldoc.htm]Grsecurity ACL[/url] na 100% - raczej hard rozwązanie, co do rozwiązań soft, to nie bardzo czaje, jak ci użyszkodnich uruchamiają te polecenia.
Jeśli przez shell, to albo chrooty, albo jakaś restrykcyjna powloka, w której można łatwo konfigurować uprawnienia, w FAQ masz [url=http://dug.net.pl/tekst/160/iron_bars_shell/h/ibsh]przepis[/url] na powłokę ibsh.
Chrooty mozesz postawić kilkoma sposobami, nieźle się sprawdza (u mnie) jaiklkit.
Jeśli natomiast te polecenia idą przez jakiś interfejs webowy, to kombinuj ze skryptem, który obsluguje ten interfejs.
To by było na tyle
;-)Ostatnio edytowany przez Jacekalex (2012-05-28 22:12:04)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
Obecnie chodzi mi po prostu ustawienie takie, że dodam sobie użytkownika do systemu, zablokuję mu wszystkie komendy/programy i odblokuję wybrane.
Czyli, np. dodałem użytkownika łączę się przez ssh i z linii poleceń mogę wydawać tylko mkdir nic więcej.
Offline
Witam,
[b]desavil[/b], to też można zastosować do plików jak i binarek czyli poleceń.
TIP. whereis i jazda
Pozdrawiam,
Towarzysz Torrentow
Offline
Time (s) | Query |
---|---|
0.00008 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00112 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.135.204.43' WHERE u.id=1 |
0.00105 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.135.204.43', 1732457438) |
0.00041 | SELECT * FROM punbb_online WHERE logged<1732457138 |
0.00046 | SELECT topic_id FROM punbb_posts WHERE id=202670 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=21333 ORDER BY posted |
0.00054 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=21333 AND t.moved_to IS NULL |
0.00004 | SELECT search_for, replace_with FROM punbb_censoring |
0.00201 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=21333 ORDER BY p.id LIMIT 0,25 |
0.00246 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=21333 |
Total query time: 0.00827 s |