# SQL server defense

## Defending against relay attacks from public role abuse

A 7MinSec customer reported this was an effective way to remove the ability for attackers to play games with stored procedures:

```
USE master;
GO

REVOKE EXECUTE ON OBJECT::dbo.xp_dirtree   FROM PUBLIC;
REVOKE EXECUTE ON OBJECT::dbo.xp_fileexist FROM PUBLIC;
REVOKE EXECUTE ON OBJECT::dbo.xp_cmdshell  FROM PUBLIC;
```

## Video demo
<div style="padding:75% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/1140869689?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" referrerpolicy="strict-origin-when-cross-origin" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Tuesday TOOLSday: SQL server defense 101"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
