48 posts
Posted 27 February 2013 - 07:41 AM
Hey guys.
So i have attached a photo below of what im adding to my server and i just wanted some ideas and maybe a few scripts on how to make computers more secure e.g. people cant edit startup or add passwords and maybe the computer can log who goes on them?
Can someone give me some ideas. My server is a reasonably small server with about 50ish people on?
if that helps?
26 posts
Posted 27 February 2013 - 09:43 AM
Put an anti virus on them, and use mcedit.
758 posts
Location
Budapest, Hungary
Posted 27 February 2013 - 09:55 AM
Put an anti virus on them, and use mcedit.
I think he's asked about THE anti-virus, not about what to put on the computers.
- Computers unfortunately can't log who goes on them - unless you build a player detector authentication system (MiscPeripherals).
- I think you should build something like a cabin around every computer which can be closed or opened only from inside, because nothing prevents the players to get into a computers GUI when somebody is already in it, so they can actually eg. turn off the computer while you are working on it.
- If you don't feel like rewriting bios.lua, you can disble startup by placing a disk drive behind every computer which cannot be accessed by users. This way the floppy in that drive will be mounted in the folder called "disk". You'd have to write a startup program on that disk that overwrites disk.eject() and prevents ejecting the disk itself.
48 posts
Posted 27 February 2013 - 10:11 AM
Thankyou very much LBPhacker :)/> Helped alot. Im going to re write bios.lua :)/>
Thanks :D/>
1190 posts
Location
RHIT
Posted 27 February 2013 - 10:36 AM
Thankyou very much LBPhacker :)/> Helped alot. Im going to re write bios.lua :)/>
Thanks :D/>
Actually, you'll want to edit the rom/programs/shell program in order to disable automatic disk startup. The bios file has nothing to do with disk startup.
Relevant code is here:
if parentShell == nil then
-- Run the startup from the ROM first
local sRomStartup = shell.resolveProgram( "/rom/startup" )
if sRomStartup then
shell.run( sRomStartup )
end
-- Then run the user created startup, from the disks or the root
local sUserStartup = shell.resolveProgram( "/startup" )
for n,sSide in pairs( redstone.getSides() ) do
if disk.isPresent( sSide ) and disk.hasData( sSide ) then
local sDiskStartup = shell.resolveProgram( fs.combine(disk.getMountPath( sSide ), "startup") )
if sDiskStartup then
sUserStartup = sDiskStartup
break
end
end
end
if sUserStartup then
shell.run( sUserStartup )
end
end
758 posts
Location
Budapest, Hungary
Posted 27 February 2013 - 10:53 AM
Yeah, misworded - you've got a point. (It's the bad habit of mine to call everything "bios.lua" inside ComputerCraft\lua…)
1511 posts
Location
Pennsylvania
Posted 27 February 2013 - 10:53 AM
Put an anti virus on them, and use mcedit.
I think he's asked about THE anti-virus, not about what to put on the computers.
- Computers unfortunately can't log who goes on them - unless you build a player detector authentication system (MiscPeripherals).
- I think you should build something like a cabin around every computer which can be closed or opened only from inside, because nothing prevents the players to get into a computers GUI when somebody is already in it, so they can actually eg. turn off the computer while you are working on it.
- If you don't feel like rewriting bios.lua, you can disble startup by placing a disk drive behind every computer which cannot be accessed by users. This way the floppy in that drive will be mounted in the folder called "disk". You'd have to write a startup program on that disk that overwrites disk.eject() and prevents ejecting the disk itself.
I am actually currently working on an Anti-Virus software (Pretty much done) that will scan each file and return if any bannedStrings are detected:
The Banned Strings:
{"startup", "fs.delete","rename","copy","move" and many more}
I will love to see this computer room when it's finished ;)/>
1190 posts
Location
RHIT
Posted 27 February 2013 - 11:07 AM
I am actually currently working on an Anti-Virus software (Pretty much done) that will scan each file and return if any bannedStrings are detected:
The Banned Strings:
{"startup", "fs.delete","rename","copy","move" and many more}
I will love to see this computer room when it's finished ;)/>
What happens if I do this?
local delete = "fh.del":gsub("h", "s").."ete"
delete = loadstring(delete)
delete("start".."up")
Not to mention the fact that many people's programs would no longer work (how likely is it that somebody might use a variable that is named 'copy' or has text somewhere in the program that says copy?), therefore rendering an OS that implements this unusable.
Better way to do this would be function replacement.
Here's an example:
local nativeDelete = fs.delete
fs.delete = function()
return false
end
1511 posts
Location
Pennsylvania
Posted 27 February 2013 - 01:15 PM
I am actually currently working on an Anti-Virus software (Pretty much done) that will scan each file and return if any bannedStrings are detected:
The Banned Strings:
{"startup", "fs.delete","rename","copy","move" and many more}
I will love to see this computer room when it's finished ;)/>/>/>
What happens if I do this?
local delete = "fh.del":gsub("h", "s").."ete"
delete = loadstring(delete)
delete("start".."up")
Not to mention the fact that many people's programs would no longer work (how likely is it that somebody might use a variable that is named 'copy' or has text somewhere in the program that says copy?), therefore rendering an OS that implements this unusable.
Better way to do this would be function replacement.
Here's an example:
local nativeDelete = fs.delete
fs.delete = function()
return false
end
My anti virus is still in the works. The user can type scan <file> and it will return any "threats" then the user can verify if these are threats and choose to ignore them. So it is more of a file scanner of sorts.
1522 posts
Location
The Netherlands
Posted 28 February 2013 - 07:46 AM
You also could do this as startup, or do this after your login system:
while true do
local reader = read()
if string.find(reader, "startup") then
print("You are not able to edit startup")
elseif string.find(reader, "another word they may not use") then
print("You are not allowed to use another word they may use.")
else
shell.run(reader)
end
end
This is very basic, you can work it out ;)/>/>